The planning game is part of a type of software development known as extreme programming. It creates a game-like setting wherein personnel from business and development, called "customers" and "programmers" in the game, collaborate to develop a new piece of software. There are two parts of the planning game: release planning and iteration planning.
Release planning is the initial phase of the planning game, wherein the team members determine what features software will have and how long it will take to develop the features. The game begins with the customers creating "stories." Stories in this context are short descriptions of an end result desired from the software. Each story is usually written on a separate index card. Customers may create stories at any point in the game.
The programmers then receive the stories and estimate the cost, or the amount of time it will take to complete each story. Once the customers have the cost estimates, they place the stories in order of priority. Programmers and customers can ask each other questions throughout the process to clarify the estimates and priorities for the stories. The team might also add new stories during the process, or split a large story into multiple stories. Each time this happens, the new story or stories must have a cost and priority assigned to them.
Programmers have the final say in cost estimates and customers have the final say in priorities, so that each group has the ultimate authority over their areas of expertise. Once the costs and priorities have been finalized, the team makes a commitment to the release plan. A release plan could be "data driven" or "story driven."
In the data driven commitment, the customers pick a release date and the programmers determine how much time they can spend developing. Finally, the customers pick stories to add up to that time. A story driven release plan means that the customers start adding stories to the release, and the programmers set the release date for the chosen stories. The customers can continue adding stories until they decide the cumulative chosen stories can work together as the next release.
Iteration planning is the ongoing planning that takes place during software development. The iterations in the planning game occur in two-week intervals, during which the programmers create useful software for some of the stories chosen during the release planning. At the end of every two weeks, the customers choose the stories they want to be created during the next two weeks, and the programmers calculate the amount of work they can actually complete in that time.