This is an online simulation of the agile dot game
Go to https://afternoon-bayou-75731.herokuapp.com/
see https://github.com/michelgrootjans/dot-game/projects/2
Demo the simulation on a test project first. Show every person's task in the workflow.
Once the demo is over, ask the audience to estimate the average task in seconds.
We're going to run a number of iterations:
Process for each participant
- Wait for a batch of 4 items to appear in their inbox
- They take exactly 4 items in their workspace
- They solve the 4 items
- Move the 4 items to their outbox
- go to 1.
Process for each participant
- Wait for an item to appear in their inbox
- They take exactly 1 items in their workspace
- They solve the item
- Move the item to their outbox
- go to 1.
Process for each participant
- Wait for a batch of 4 items to appear in their inbox
- They take exactly 4 items in their workspace
- They solve the 4 items
- They move the 4 solved items only if their outbox is empty
- go to 1.
Process for each participant
- Wait for an item to appear in their inbox
- They take exactly 1 items in their workspace
- They solve the item
- Move the item to their outbox only if the outbox is empty
- go to 1.
The Product owner creating the items cannot go over a total WIP of 10. Everyone else works on one item at a time without the previous constraints.
The Product owner creating the items tries to keep the inbox of development populated to 2 items. Everyone else works on one item at a time without the previous constraints.
- There is no correlation between Effort and When will it be done?
- The nature of the work never changed
- The effort required to do each task was equal in all iterations
- The time it took for a single story to be done (lead time) was wildly different in each iteration.
- Parallel work with integration at the end of the process
- Collaboration: swarming, pair programming, ensemble programming
- Variability of work: some items might be analysis heavy, others QA-heavy
- ... probably more
run the following commands in two separate terminals:
npm run serverstartnpm run webpack:watch
open localhost:3000
There are a few scripts to simulate iterations. They require curl to be installed (which is usually pre-installed on most systems).
./scripts/work_hard.sh- Workers process tasks in parallel- Optional parameters:
GAME_URL=[full game url](default:http://localhost:3000/games/dummy) - Full URL to the gameTIME=30(default: 60) - Sets the iteration duration in seconds
- Example:
./scripts/work_hard.sh TIME=30 GAME_URL=https://afternoon-bayou-75731.herokuapp.com/games/4d8ba18c-59d6-455b-bc4f-dcc2a7dfa442
- Optional parameters:
./scripts/kanban.sh- Kanban: workers limit their personal outbox WIP- Optional parameters:
GAME_URL=[full game url](default:http://localhost:3000/games/dummy) - Full URL to the gameWIP=4(default: 4) - Personal outbox limit per worker (applies to PO, Analyst, Developer, Ops; QA has no outbox WIP limit)TIME=30(default: 60) - Simulation duration in seconds
- Example:
./scripts/kanban.sh WIP=4 TIME=45 GAME_URL=https://afternoon-bayou-75731.herokuapp.com/games/4d8ba18c-59d6-455b-bc4f-dcc2a7dfa442
- Optional parameters:
./scripts/limit_wip.sh- Workers process tasks in parallel with a system-wide WIP limit- Optional parameters:
GAME_URL=[full game url](default:http://localhost:3000/games/dummy) - Full URL to the gameWIP=5(default: 10) - Sets the WIP limit for the whole iterationTIME=30(default: 60) - Sets the iteration duration in seconds
- Example:
./scripts/limit_wip.sh WIP=5 TIME=30 GAME_URL=https://afternoon-bayou-75731.herokuapp.com/games/4d8ba18c-59d6-455b-bc4f-dcc2a7dfa442
- Optional parameters:
npm run test
npm run test:watch
npm run format
This work is licensed under a Creative Commons Attribution 4.0 International License.
