From bd56633598f5b434e476294ac4c412b619d3cca9 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Mon, 28 Feb 2022 13:43:42 +0900 Subject: [PATCH] User Stores, Backlogs for Sprint 1 Initial plan set up prior to Sprint 1. See git tags for "timestamps". --- spreadsheets/product_backlog.fods | 967 ++++++++++++++ spreadsheets/sprint_backlog_sprint_01.fods | 491 +++++++ spreadsheets/user_stories.fods | 1388 ++++++++++++++++++++ 3 files changed, 2846 insertions(+) create mode 100644 spreadsheets/product_backlog.fods create mode 100644 spreadsheets/sprint_backlog_sprint_01.fods create mode 100644 spreadsheets/user_stories.fods diff --git a/spreadsheets/product_backlog.fods b/spreadsheets/product_backlog.fods new file mode 100644 index 0000000..74e645e --- /dev/null +++ b/spreadsheets/product_backlog.fods @@ -0,0 +1,967 @@ + + + + 2022-02-27T18:36:39.819321307LibreOffice/7.3.0.3$Linux_X86_64 LibreOffice_project/30$Build-32022-02-27T20:02:02.802036256PT56M40S9 + + + 0 + 0 + 22401 + 21682 + + + view1 + + + 7 + 6 + 2 + 0 + 0 + 0 + 0 + 0 + 100 + 60 + true + false + + + Sheet1 + 1203 + 0 + 100 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1270 + 1270 + 1 + 1 + true + false + + + + + true + true + true + 0 + true + true + false + true + false + + + en + US + + + + + + 12632256 + true + true + false + false + true + true + false + 3 + false + Generic Printer + false + pAH+/0dlbmVyaWMgUHJpbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU0dFTlBSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAMAxQAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9R2VuZXJpYyBQcmludGVyCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKUGFnZVNpemU6TGV0dGVyAER1cGxleDpOb25lAAASAENPTVBBVF9EVVBMRVhfTU9ERQ8ARHVwbGV4TW9kZTo6T2Zm + false + 1270 + 1270 + 1 + 1 + true + false + true + true + true + true + 7 + true + + + Sheet1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + Page 1 + + + + + + + + ???(???) + + + 00/00/0000, 00:00:00 + + + + + + Page 1/ 99 + + + + + + + + + + + + + + + + + + + + + + + Sprint 1 + + + + + + + + + Goal: MVP, front-end only + + + + + + + + + + Start = Feb. 28, End = Mar. 6 + + + + + + + + + + Planned Vel. = + + + + 94 + + + + + + + + + Actual Vel. = + + + + 0 + + + + + + Short Title + + + Theme + + + Kano Category + + + Story Points + + + Priority + + + Pri + + + In + + + Done + + + + + + Main Epic User Story + + + Epic + + + Mandatory + + + 928 + + + 1 + + + + + + Choose game type + + + Front-End Interface + + + Mandatory + + + 10 + + + 4.6111801242236 + + + 4.6111801242236 + + + X + + + + + + Game start + + + Front-End Interface + + + Mandatory + + + 40 + + + 1.1527950310559 + + + + + + Player pairing cancellation + + + Front-End Interface + + + Exciter + + + 37 + + + 0.623132449219406 + + + + + + Visible “whose turn it is” + + + Front-End Interface + + + Mandatory + + + 13 + + + 3.54706163401816 + + + 3.54706163401816 + + + X + + + + + + Column availability + + + Front-End Interface + + + Mandatory + + + 18 + + + 2.56176673567978 + + + 2.56176673567978 + + + X + + + + + + Token placing + + + Front-End Interface + + + Mandatory + + + 25 + + + 1.95975155279503 + + + + + + Visible game board + + + Front-End Interface + + + Mandatory + + + 23 + + + 2.25546853902241 + + + 2.25546853902241 + + + X + + + + + + Final game results + + + Front-End Interface + + + Mandatory + + + 20 + + + 2.3055900621118 + + + + + + End game options + + + Front-End Interface + + + Exciter + + + 13 + + + 1.99522216913521 + + + + + + Website URL and availability + + + Front-End Interface + + + Linear + + + 24 + + + 2.04140786749482 + + + + + + AI implementation + + + Back-End Implementation + + + Exciter + + + 100 + + + 0.317018633540373 + + + + + + Game logic turn implementation + + + Back-End Implementation + + + Mandatory + + + 30 + + + 1.53706004140787 + + + 1.53706004140787 + + + X + + + + + + Game logic record token drop implementation + + + Back-End Implementation + + + Mandatory + + + 65 + + + 0.709412326803631 + + + + + + Game logic win/lose/draw state detection + + + Back-End Implementation + + + Mandatory + + + 70 + + + 0.61756876663709 + + + + + + Multiplayer pairing + + + Networking + + + Exciter + + + 77 + + + 0.486569331289828 + + + + + + Multiplayer game start + + + Networking + + + Mandatory + + + 45 + + + 1.1527950310559 + + + + + + Multiplayer game whose turn it is + + + Networking + + + Mandatory + + + 50 + + + 0.979875776397516 + + + + + + Multiplayer record turn action + + + Networking + + + Mandatory + + + 68 + + + 0.67811472415053 + + + + + + Multiplayer game board state + + + Networking + + + Linear + + + 53 + + + 0.978788233915387 + + + + + + Multiplayer end-game state + + + Networking + + + Linear + + + 48 + + + 0.900621118012422 + + + + + + In-game emotes + + + Extra + + + Exciter + + + 47 + + + 0.551869961675697 + + + + + + In-game column emotes + + + Extra + + + Exciter + + + 52 + + + 0.498805542283803 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spreadsheets/sprint_backlog_sprint_01.fods b/spreadsheets/sprint_backlog_sprint_01.fods new file mode 100644 index 0000000..53aea23 --- /dev/null +++ b/spreadsheets/sprint_backlog_sprint_01.fods @@ -0,0 +1,491 @@ + + + + 2022-02-27T19:47:52.548879164LibreOffice/7.3.0.3$Linux_X86_64 LibreOffice_project/30$Build-32022-02-27T20:03:55.927412476PT15M24S5 + + + 0 + 0 + 23753 + 5870 + + + view1 + + + 2 + 13 + 2 + 0 + 0 + 0 + 0 + 0 + 100 + 60 + true + false + + + Sheet1 + 1203 + 0 + 100 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1270 + 1270 + 1 + 1 + true + false + + + + + true + true + true + 0 + true + true + false + true + false + + + en + US + + + + + + 12632256 + true + true + false + false + true + true + false + 3 + false + Generic Printer + false + pAH+/0dlbmVyaWMgUHJpbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU0dFTlBSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAMAxQAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9R2VuZXJpYyBQcmludGVyCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKRHVwbGV4Ok5vbmUAUGFnZVNpemU6TGV0dGVyAAASAENPTVBBVF9EVVBMRVhfTU9ERQ8ARHVwbGV4TW9kZTo6T2Zm + false + 1270 + 1270 + 1 + 1 + true + false + true + true + true + true + 7 + true + + + Sheet1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + Page 1 + + + + + + + + ???(???) + + + 00/00/0000, 00:00:00 + + + + + + Page 1/ 99 + + + + + + + + + + + + + + Task + + + Status + + + Monday + + + Tuesday + + + Wednesday + + + Thursday + + + Friday + + + Saturday + + + Sunday + + + + + + Choose game type + + + + + + + + + Impl. Front-end skeleton + + + pending + + + 3 + + + + + + + Impl. Main menu + + + pending + + + 2 + + + + + + + Visible “whose turn it is” + + + + + + + + + Impl. Turn indicator + + + pending + + + 2 + + + + + + + Column Availability + + + + + + + + + Impl. Column available indicator + + + pending + + + 2 + + + + + + + Visible game board + + + + + + + + + Impl. Front-end “game board” + + + pending + + + 4 + + + + + + + Impl. Players and colors + + + pending + + + 2 + + + + + + + Game logic turn implementation + + + + + + + + + Impl. Turn changer + + + pending + + + 2 + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/spreadsheets/user_stories.fods b/spreadsheets/user_stories.fods new file mode 100644 index 0000000..0e4f21f --- /dev/null +++ b/spreadsheets/user_stories.fods @@ -0,0 +1,1388 @@ + + + + 2022-02-27T14:56:15.671560282LibreOffice/7.3.0.3$Linux_X86_64 LibreOffice_project/30$Build-32022-02-27T19:11:51.732559584PT2H1S35 + + + 0 + 0 + 46383 + 35608 + + + view1 + + + 12 + 3 + 2 + 2 + 1 + 1 + 3 + 0 + 3 + 0 + 1 + 0 + 100 + 60 + true + false + + + User Stories + 1203 + 0 + 100 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1270 + 1270 + 1 + 1 + true + false + + + + + true + true + true + 0 + true + true + false + true + false + + + en + US + + + + + + 12632256 + true + true + false + false + true + true + false + 3 + false + Generic Printer + false + pAH+/0dlbmVyaWMgUHJpbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU0dFTlBSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAMAxQAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9R2VuZXJpYyBQcmludGVyCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCmNvbGxhdGU9ZmFsc2UKbWFyZ2luYWRqdXN0bWVudD0wLDAsMCwwCmNvbG9yZGVwdGg9MjQKcHNsZXZlbD0wCnBkZmRldmljZT0xCmNvbG9yZGV2aWNlPTAKUFBEQ29udGV4dERhdGEKUGFnZVNpemU6TGV0dGVyAER1cGxleDpOb25lAAASAENPTVBBVF9EVVBMRVhfTU9ERQ8ARHVwbGV4TW9kZTo6T2Zm + false + 1270 + 1270 + 1 + 1 + true + false + true + true + true + true + 7 + true + + + Sheet1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + + Page 1 + + + + + + + + ???(???) + + + 00/00/0000, 00:00:00 + + + + + + Page 1/ 99 + + + + + + + + + + + + + + + + + + + + + + + + + Short Title + + + Theme + + + User Story + + + Clarifications + + + Test or Conditions of Satisfaction + + + Kano Category + + + Story Points + + + Relative Benefit + + + Relative Penalty + + + Total Value + + + Value % + + + Cost % + + + Priority + + + + + + Main Epic User Story + + + Epic + + + As a player, I would like to play the game Four-Line Dropper, so that I can have fun. + + + + Mandatory + + + 928 + + + 174 + + + 148 + + + 322 + + + 100.00% + + + 1 + + + + + + Choose game type + + + Front-End Interface + + + As a player, I would like to choose to play against the AI, or another Player over the network, or another Player locally, so that I can choose the type of game to play. + + + The player should be presented with a menu to select the game type. When networking hasn’t yet been implemented, “local-mulitplayer” or “against the AI” are the only options available. + + + The game type should be selectable. Player is queued for play against another player, or starts a game against an AI, or starts a game in “Local-Multiplayer” mode. + + + Mandatory + + + 10 + + + 8 + + + 16 + + + 4.97% + + + 1.08% + + + 4.6111801242236 + + + + + + Game start + + + Front-End Interface + + + As a player, I would like to know when the game has started, so that I know to start playing the game. + + + + The game should start once the current Player has been paired with another player, or immediately after choosing to play against an AI or local Player. If pairing has not yet ocurred, it should be obvious that pairing is still pending. + + + Mandatory + + + 40 + + + 8 + + + 16 + + + 4.97% + + + 4.31% + + + 1.1527950310559 + + + + + + Player pairing cancellation + + + Front-End Interface + + + As a player, I would like to abort playing against another Player and play against an AI, so that I don’t have to keep waiting for the game to start. + + + + The player should be able to remove themselves from the pairing process and immediately start a game against an AI. + + + Exciter + + + 37 + + + 6 + + + 2 + + + 8 + + + 2.48% + + + 3.99% + + + 0.623132449219406 + + + + + + Visible “whose turn it is” + + + Front-End Interface + + + As a player, I would like to see who’s turn it is, so that I can wait for my turn and play when it is my turn. + + + + It should be obvious whose turn it is during gameplay. + + + Mandatory + + + 13 + + + 7 + + + 9 + + + 16 + + + 4.97% + + + 1.40% + + + 3.54706163401816 + + + + + + Column availability + + + Front-End Interface + + + As a player, I would like to know which columns of the game board are available to place tokens, so that I can pick a column to place a token. + + + + It should be obvious which columns can accept a dropped token. + + + Mandatory + + + 18 + + + 8 + + + 16 + + + 4.97% + + + 1.94% + + + 2.56176673567978 + + + + + + Token placing + + + Front-End Interface + + + As a player, I would like to place a token in an available column of my choosing, so that I could finish my turn. + + + An available column is a column in the game board that is not full. + + + A player should be able to place a token into an available column. + + + Mandatory + + + 25 + + + 9 + + + 8 + + + 17 + + + 5.28% + + + 2.69% + + + 1.95975155279503 + + + + + + Visible game board + + + Front-End Interface + + + As a player, I would like to see the game board, so that I can see the current state of the game and plan accordingly. + + + The game board is 7 tokens wide and 8 tokens tall. + + + The size of the board and all tokens on the board should be visible. + + + Mandatory + + + 23 + + + 9 + + + 18 + + + 5.59% + + + 2.48% + + + 2.25546853902241 + + + + + + Final game results + + + Front-End Interface + + + As a player, I would like to see if the game is over, so that I can know if the game is over and if I have won or not. + + + + It should be obvious if the game has ended and who the winner is in that case. + + + Mandatory + + + 20 + + + 8 + + + 16 + + + 4.97% + + + 2.16% + + + 2.3055900621118 + + + + + + End game options + + + Front-End Interface + + + As a player, I would like to choose to play again if the game has ended, so that I can continue playing. + + + + The player should be able to return to the very first state of the game to start over. + + + Exciter + + + 13 + + + 6 + + + 3 + + + 9 + + + 2.80% + + + 1.40% + + + 1.99522216913521 + + + + + + Website URL and availability + + + Front-End Interface + + + As a player, I would like to know the URL of the website for Four-Line Dropper, so that I can visit the website and play the game. + + + + A webserver should serve the game’s front-end and the URL of the webserver should be given to Players. + + + Linear + + + 24 + + + 9 + + + 8 + + + 17 + + + 5.28% + + + 2.59% + + + 2.04140786749482 + + + + + + AI implementation + + + Back-End Implementation + + + As a player, I would like to play against the AI, so that I can play “singleplayer mode”. + + + AI is expected to be “Utility-AI” based. + + + The AI should be implemented such that a full game of Four-Line Dropper can be played with it. + + + Exciter + + + 100 + + + 7 + + + 4 + + + 11 + + + 3.42% + + + 10.78% + + + 0.317018633540373 + + + + + + Game logic turn implementation + + + Back-End Implementation + + + As a player, I would like to play the game expecting that the game knows whose turn it is, so that the game can progress. + + + + The game should keep track of whose turn it is. + + + Mandatory + + + 30 + + + 8 + + + 16 + + + 4.97% + + + 3.23% + + + 1.53706004140787 + + + + + + Game logic record token drop implementation + + + Back-End Implementation + + + As a player, I would like to play the game expecting that my moves are recorded, so that the game keeps track of everyone’s moves. + + + + The game should be able to record and keep track of tokens placed by Player(s) and/or AI. + + + Mandatory + + + 65 + + + 8 + + + 16 + + + 4.97% + + + 7.00% + + + 0.709412326803631 + + + + + + Game logic win/lose/draw state detection + + + Back-End Implementation + + + As a player, I would like to play the game expecting that the game knows when it has ended, so that the game works as expected. + + + Win/Lose if a player has 4 in a row/column/diagonal or a draw if no more tokens can be placed. + + + The game should be able to detect end-game state. + + + Mandatory + + + 70 + + + 8 + + + 7 + + + 15 + + + 4.66% + + + 7.54% + + + 0.61756876663709 + + + + + + Multiplayer pairing + + + Networking + + + As a player, I would like to be able to pair with another Player, so that I can play a multiplayer game. + + + + The front-end should be able to communicate with the back-end server to enqueue a Player to pair against another Player. + + + Exciter + + + 77 + + + 8 + + + 5 + + + 13 + + + 4.04% + + + 8.30% + + + 0.486569331289828 + + + + + + Multiplayer game start + + + Networking + + + As a player, I would like to know when the game has started a multiplayer game, so that I can play a multiplayer game. + + + + The back-end should communicate to the front-end(s) that the game has started and whose turn it is. This will occur after a Player has been paired. + + + Mandatory + + + 45 + + + 9 + + + 18 + + + 5.59% + + + 4.85% + + + 1.1527950310559 + + + + + + Multiplayer game whose turn it is + + + Networking + + + As a player, I would like to play a multiplayer game knowing whose turn it is, so that the game can progress. + + + + The back-end should communicate whose turn it is to the front-end(s). + + + Mandatory + + + 50 + + + 9 + + + 8 + + + 17 + + + 5.28% + + + 5.39% + + + 0.979875776397516 + + + + + + Multiplayer record turn action + + + Networking + + + As a player, I would like to play a multiplayer game knowing that the game keeps track of each Player’s turn, so that the game can progress. + + + + The front-end and back-end should communicate a Player’s decision on their turn to be stored in the back-end. + + + Mandatory + + + 68 + + + 8 + + + 16 + + + 4.97% + + + 7.33% + + + 0.67811472415053 + + + + + + Multiplayer game board state + + + Networking + + + As a player, I would like to play a multiplayer game knowing the board’s state, so that I can accurately know the board’s state. + + + + The back-end should communicate the state of the game board to the front-end(s). + + + Linear + + + 53 + + + 9 + + + 18 + + + 5.59% + + + 5.71% + + + 0.978788233915387 + + + + + + Multiplayer end-game state + + + Networking + + + As a player, I would like to know if a multiplayer game has ended, so that I can see the results. + + + + The back-end should communicate to the front-end(s) that the game has ended and who the winner/loser is or if it has ended in a draw. + + + Linear + + + 48 + + + 8 + + + 7 + + + 15 + + + 4.66% + + + 5.17% + + + 0.900621118012422 + + + + + + In-game emotes + + + Extra + + + As a player, I would like to communicate with the other player with the available in-game emotes, so that I can have some banter with the opponent. + + + + The front-end should be able to send user-selected emotes to the back-end, to be communicated to the other player’s front-end. + + + Exciter + + + 47 + + + 7 + + + 2 + + + 9 + + + 2.80% + + + 5.06% + + + 0.551869961675697 + + + + + + In-game column emotes + + + Extra + + + As a player, I would like to communicate with the other player with the available in-game emotes to highlight a specific column, so that I can have some banter with the opponent. + + + + The front-end should be able to send user-selected emotes on a specific column to the back-end, to be communicated to the other player’s front-end. + + + Exciter + + + 52 + + + 7 + + + 2 + + + 9 + + + 2.80% + + + 5.60% + + + 0.498805542283803 + + + + + + + + + + + + + + + + + + + \ No newline at end of file