Searching for a Game
I was looking for a game that helped to emphasize the detrimental results of a focus on speed over quality. How such an approach had only a short-term gain and then proved to be more costly from there forth.
The Original Game
I don't know if this is really the original version of the Packing Peanuts Game, but it is certainly the first I've found.
The game was posted to tastycupcakes by Masa K Maeda, on May 21st, 2010
Masa identified the game as a way of "understanding what Technical Debt is and why it is so costly to projects." You already know my feelings on calling sloppy code Technical Debt, so I won't go into that here. But it is a decent game for showing that haste does in fact make waste and the only way to truly go fast is to go well.
- 4 cardboard boxes. Size: around the standard size of a moving box (13”x18”x12”)
- Enough packing peanuts to fill two of the boxes
- 2 people
- You can do this exercise with more people, adding 2 at a time, up to 6 people without the need to have more boxes or packing peanuts
- For more than 6 people you’ll need to add more boxes and packing peanuts
- Set 2 lanes across the room
- For each lane place one cardboard box (opened for easy access) at each end of the lane.
- Fill the boxes at the same end of the lanes with packing peanuts: one of them at 70% capacity, and the other one at 90% capacity
- Each participant will stand next to a box with packing peanuts
Explain the participants their goal: To transfer all the peanuts from the box next to them to the box at the other end of their respective lanes.
- The person with the 70%-full box is to transfer all of them in three trips and can use hands and arms (and support them on his/her belly if so desired), but nothing else
- The person with the 90%-full box can take as many trips as desired and can use both hands only
- The boxes are not to be lifted, tilted, shifted or other. Their sole purpose is to contain the peanuts
- Peanuts that fall on the floor are left there
- There is no time limit
- Do not run and watch your step
- Start the game
- Let them play for about 2 minutes or until one of them accomplishes the task
- The person with the 90%-full box will finish first or will have transferred more peanuts once the time is up
- The person with the 70%-full box typically drops way more peanuts to the floor
- The person with the 70%-full box exerts and stresses more
The peanuts represent features or aspects of features, and those on the floor represent unfinished work, bugs, etc.
- One trip represents a release cycle: more peanuts per trip represent a bigger release
- Big monolithic projects generate more technical debt
- Big monolithic projects take more energy out of people, and stress them more
- Trying to bring all features from start to end at once is way more difficult
- Bringing features to completion in small chunks is easier, and generates less technical debt (less peanuts on the floor)
- Bringing features to completion in small chunks allows people to work at a better pace and under less stress
- Bringing features to completion in small chunks results in more features done in less time
This variation of the game is designed to further accentuate the cost of allowing cruft to build up in the code base.
- Clearly mark the lanes at 24 inches wide.
- Teams must travel within their lanes.
- When the game starts, the source box has peanuts and the destination box does not.
- Fill both source boxes to 90%.
- Team A is limited to four trips, but can use arms, chest, and stomach to hold as many peanuts as possible.
- No pouching of clothes or putting peanuts in pockets or up/down clothing.
- Team B can use as many trips as desired, but can use only hands.
- When returning to the source box, Team B must collect any previously dropped peanuts and return them to the source box.
- Team A does not need to pick up dropped peanuts unless they step on them
- Team A must immediately collect any peanuts they step on
- Moderators monitor Teams' peanuts and lanes
- Any peanuts dropped outside of a lane are immediately swept into the lane.
- Play until either Team A is out of moves or Team B transfers all peanuts, whichever is first.
The idea here is to model what happens in many companies. The team is permitted and even encouraged to go fast and sloppy for some period of time. But the mess eventually impedes the team's ability to move forward at all.