Agile Techniques – Iteration Planning Meeting

I like to use an iteration planning meeting as a means to bring together the project team and the stakeholders to have a sensible discussion about which user stories they are going to work on over the next few iterations. This is a great opportunity for all of the key stakeholders to reach consensus on which of the user stories should be given priority so that the process for determining the contents of the upcoming iterations and also the business resource requirements are fully understood.

This meeting can either be held mid-iteration or at the end of the iteration as part of the show and tell meeting after the demonstration of the software delivered in the previous iteration.

The best way to manage this kind of meeting is as an interactive session. Typically I will lay out all of the user stories from the backlog on the table with those in the current iteration at one end and the proposed cards for the next few iterations in groups along the table. The stakeholders can then discuss which user stories are to be played in the next iteration, and provisionally, in the one after based on business case, available points in the iteration and dependencies between user stories. Other considerations such as availability of SMEs to support the work and restraints due to available technical resources can also be discussed at the same time.

IT0/15p – Current/Just completed iteration and the number of points delivered or likely to be delivered (15 in this case)

IT+1/17p – The next iteration to be delivered and the number of points that are available (17 in this example). The primary purpose of this meeting is to determine which user stories are to be included in this iteration so that the product owners know what they need to be getting ready to be played and can call out if there are any user stories that may take longer to get ready.

IT+2/17p – The iteration after next. This needs to be provisionally be populated with what the stakeholders want to be delivered next. Typically you will have slightly more user stories in this column than you have points for as it is quite possible that issues will be identified with some of these stories and it will not be possible to get them ready in time for the next iteration.

The attendees for this meeting should be:

  • Stakeholders and SMEs to support the user stories that they wish to be played
  • Scrum Master to run the meeting
  • Product Owners to confirm that they can complete the acceptance criteria for the selected user stories in time and that they will be ready to be played.
  • Technical architects/dev lead to discuss any issues with technical dependencies between user stories and availability of specific technical resources.
  • Test lead to discuss any issues with testing that might create dependencies between the user stories.

The agenda normally works as follows:

  1. Working along the table (from left to right in the diagram) the first point of discussion is if there are any user stories that might not be completed in the current iteration and need to be moved back to the next iteration. If this is the case then it will typically result in other user stories being moved back down the iterations so the group need to discuss which of these are to lose their place in the next iteration and so-forth.
  2. Next point of discussion is any new user stories that have been added to the backlog and whether they deserve to be included in one of the iterations already on the table. If this is the case then other user stories are again moved down the table.
  3. Iteration + 1 is then finalised.
  4. Finally Iteration + 2 is discussed out of those user stories not currently assigned to determine which of the unassigned user stories should be included.