Certopolis

Certified Associate in Project Management (CAPM)

XP release planning vs iteration planning for the CAPM

XP plans at two levels. A release planning meeting produces the release plan for the whole project, with stories estimated in ideal programming weeks. An iteration planning meeting at the start of each 1 to 3 week iteration turns the chosen stories into programming tasks estimated in ideal days.

Release planning

The development team estimates each user story in ideal programming weeks: how long it would take with nothing else to do. The customer decides which stories matter most. Developers and customers move the story cards around a table to choose the stories for the first or next release. The result is the release plan, which lays out the overall project.

Technical people make the technical decisions and business people make the business decisions. Iterations are not planned in detail here; each is planned just before it begins.

Project velocity converts the plan into dates. Planning by time: multiply the number of iterations by the velocity to see how many stories fit. Planning by scope: divide the total estimated weeks of the chosen stories by the velocity to see how many iterations the release needs.

If management dislikes the release plan, the story estimates must not be lowered. The team negotiates the plan until developers, customers and managers all agree.

Iteration planning

At the start of each iteration the customer chooses stories from the release plan, most valuable first, with estimates totalling the project velocity from the last iteration. Failed acceptance tests to be fixed are also selected.

The stories are broken into programming tasks written on cards in the developers' language. Each developer signs up for tasks and estimates their own, because the person who will do the task must estimate it. Tasks are 1 to 3 ideal days; longer ones are split.

If the task estimates exceed last iteration's velocity, the customer puts some stories off to a later iteration. XP calls this snow plowing. If the iteration has too little work, another story can be accepted.

Velocity and iteration length

Project velocity is the sum of the estimates of the stories finished in the iteration. XP says not to divide it by iteration length or team size, and not to use it to compare two projects.

Keep the iteration length constant throughout the project. That constant makes measuring progress and planning simple and reliable. If an iteration will not finish, hold another iteration planning meeting, re-estimate and remove tasks.

Where the exam catches people

  • Believing XP plans every iteration's tasks at the start of the project: only the release plan is made up front; each iteration is planned just before it starts.
  • Believing a manager or lead assigns and estimates XP tasks: each developer signs up for a task and estimates it.
  • Believing developers choose the stories for an iteration: the customer chooses them, most valuable first.
  • Believing you can lower story estimates to meet a date: XP says negotiate the release plan, not the estimates.
  • Believing velocity should be compared across teams: XP says it is no good for comparing two projects.

Written from PMI's documentation

Try 3 questions on this

Pick an answer to see why each option is right or wrong.

  1. At the start of an Extreme Programming (XP) project, developers and the customer move story cards around a table to decide which stories each delivery will contain and when. Which artifact will be created?

    Right. In the game that’s Renown for your Agile Frameworks/Methodologies building.

    Not that one: C is right. In the game your Agile Frameworks/Methodologies building would lose a little Renown, and this question would come back later.

    Show the full explanation and doc quotes

    Individual iterations are planned in detail just before each one begins, not in advance, so a plan made at the start for every delivery is the release plan.

    Written from www.extremeprogramming.org/rules/planninggame.html

  2. At an XP iteration planning meeting, the selected stories have been broken down into programming tasks on cards. What is an agile role that estimates how long each of these tasks will take?

    Right. In the game that’s Renown for your Agile Frameworks/Methodologies building.

    Not that one: A is right. In the game your Agile Frameworks/Methodologies building would lose a little Renown, and this question would come back later.

  3. At an Extreme Programming (XP) iteration planning meeting, user stories are chosen from the release plan, and failed acceptance tests to be fixed are also selected. What is an agile role that chooses the user stories?

    Right. In the game that’s Renown for your Agile Frameworks/Methodologies building.

    Not that one: C is right. In the game your Agile Frameworks/Methodologies building would lose a little Renown, and this question would come back later.

    Show the full explanation and doc quotes

    The developers then break those stories into programming tasks, sign up for them and estimate them.

    Written from www.extremeprogramming.org/rules/iterationplanning.html