agreed on the number of iterations in a release. Features delivered in an iteration are determined by the priority, and the number of features delivered is set by the velocity of the team and the team estimates of the features. Iteration lengths vary from one to six weeks, with two weeks as the most frequent duration.
How To: Conduct Release Planning
A release planning session typically takes place over a full day or sometimes two, if the program is very large (hundreds of team members). All team members participate in the session, including product owner, full delivery team, and stakeholders. Release planning should be highly collaborative and interactive. Tools used are typically sticky notes, flipcharts, and whiteboards, and results will be managed and communicated in an agile project management tool. An agenda  for release planning could be:
- Introductions, goals, agenda updates.
- Product vision explanation by the product owner.
- Time-boxes for the releases and iterations.
- Capacity calculation by the delivery team.
- Agreement of deliverables (when is a feature ‘Done’).
- Moving features from the backlog into the iterations within the release by the individual teams.
- Determination of dependencies by walking all the teams through the individual planning results and moving features to alternative iterations to solve the dependencies within and between teams.
- Final calculation of workload per iteration and comparison with the available capacity.
- Review of discovered risks and issues.
- Retrospective of the session.
Level 4 - Iteration Planning
For each iteration within the release, a planning session takes place to add detail and increase accuracy. Before or during the session, detail is added to the features by decomposing them into tasks. The actual capacity of the individual teams is known with more certainty than during the release planning session. The combination of these increased accuracies helps the team commit to delivering a number of features during the iteration with a high degree of certainty.
How To: Plan an Iteration
The structure of the iteration planning session resembles release planning, with the prime distinction of the planning horizon - only a single iteration. Although the teams work individually to produce their iteration plan, synchronization between teams provides an effective mechanism to detect and resolve dependencies.
The core of activities of iteration planning is carried out on a team-by-team basis:
- Individual teams determine their actual capacity, or the amount of work they can get done within the iteration.
- Individual teams decompose as many features as seem to fit in the next iteration into tasks.
- Every task is estimated, with a typical task size of a half-day to two days.
- The ‘done’ definition is taken into consideration - a feature is not done until it has been fully tested and accepted by the product owner.
The results of the individual teams are inspected in a joined session to determine dependencies (or the disappearance of them) that were not seen during the release planning session.
Level 5 - Daily Plan
The stand-up meeting is part of everyday life for agile teams. This daily meeting is not often seen as a planning session, but it certainly is. The people look a day ahead, have learned from the earlier days in the iteration, and tell each other what they plan on doing. Issues are raised, possibly addressed, and the success of delivering the desired features within the iteration can be determined after the meeting.
How To: Have a Stand-up Meeting
Like other planning activities, daily plans need to be synchronized between teams. This takes place in a coordinating stand-up meeting— a ‘Scrum of Scrums.' Representatives from each team report the status, plans, and impediments to each