Concept: Planning Game
Relationships
Related Elements
Main Description

Description

The purpose of planning is to ensure that we are working on the most valuable things at all times. As much as we would like to, planning is not about predicting the future. Even the best, most thought out plans need to be continually refined. They require continuous and constant feedback to be useful.

XP proposes the following planning hierarchy:

  • Projects are split into releases that typically last two to three months.
  • Releases are split into iterations that typically last two to three weeks.
  • Iterations are planned into tasks that typically last one to two days.

The XP planning game has two main activities:

Release Planning

  • Customer presents user stories to the team.
  • Programmers estimate the user stories.
  • Customers selects a set of user stories for the next release. The total of the estimates of the selected stories cannot exceed the team's previous release velocity (how much they did the previous release).

Iteration Planning

  • Customer presents the user stories that will be worked on for the iteration. These stories usually come from the release. Stories not in the release can be selected for the iteration, but the customer will have to push out an existing story of the same size out of the iteration and the release. This is done so the team does not commit to do more work than they have shown they can do in the past.
  • Programmers break down the stories into engineering tasks.
  • Programmers sign up and estimate engineering tasks.
  • Programmers do a sanity check to make sure all these tasks can be done by comparing against what was done the previous iteration.
  • If there is too much to do, the customer will drop one or more user story from the iteration.
  • If there is not enough work, the customer can add one or more story to fill the iteration.

Benefits

  • Provides quick and meaningful feedback.
  • Provides lots of opportunities to use that feedback to steer the team to success.
  • Provides clear, long-term strategic (release plan) and short-term tactical goals (iteration plan).
  • Allows the team to manage themselves (task list).

Related Information

See the Planning Game Guidelines.