A couple of weeks ago I wrote an article about how to conduct a Release Planning meeting. This is the follow-up to that piece.
The purpose of an Iteration Planning Meeting is to break down a list of User Stories into tasks to be completed for the iteration. In contrast to the User Stories, tasks are written in the developer's language instead of the customer's language. The output of the meeting is a list of tasks and their estimates. Below is a sample agenda for this meeting, again based on the book Collaboration Explained by Jean Tabaka.
|Opening||Give the team a brief overview of what to expect. Review the goals of the meeting.|
|What are the stories planned for this iteration?||Review the stories that were originally planned for the iteration. Adjust the list based on what customer priorities have changed; also adjust if the results of previous iterations have changed the plan.|
|What is the team composition for this iteration?||Review the list of team members that will be available during the iteration, taking into account other commitments, vacation, etc.|
|What is the team velocity for this iteration?||If this is the first iteration, for each team member, count the number of days he/she will be available. The total will be the team velocity. If the team has completed at least one iteration, use the velocity from the previous iteration instead.|
|What information is needed to break down and estimate the stories?||Since a user story represents the start of a conversation, go through each story and discuss any questions around it, getting clarifications as needed from the customer.|
|What the tasks and estimates for each story?||Have the team brainstorm a list of tasks for each story. For each task, assign an estimate in ideal days (½, 1, 2, or 3). Break down tasks further if they are estimated to be longer than 3 ideal days. Sometimes there will be overlapping tasks between stories, consolidate them.|
|Are there any concerns associated with these tasks and estimates?||Brainstorm and display concerns on the wall.|
|What is the team's commitment for this iteration?||Total up the task estimates and compare to the planned team velocity. It may be necessary to add or remove stories to match the planned velocity. Check for concensus of the iteration plan, the entire team must be onboard.|
|Close the meeting.||
Review the purpose of the meeting and ensure that the team agrees that it has been met. Discuss the meeting process (What did or did not go well? What would you change for the next meeting?).