An Iteration Has a Distinct Set of Activities

An Iteration Has a Distinct Set of ActivitiesEach iteration is unique. It involves undertaking a unique set of activities to produce a unique version of the product that objectively demonstrates that the iteration objectives have been met.

Because of this uniqueness, each iteration requires its own iteration plan. The iteration plan contains the details of all the activities that the team is required to do to meet the iteration objectives. The amount and style of activity-level planning required for a project is dependent on many factors including the project risk, team size, experience levels, and the manager’s own preferred management style.

For some projects, an informal plan describing the goals to be achieved and listing the tasks to be undertaken is sufficient; you can leave the scheduling and allocation of the activities to the development team. Other projects require more comprehensive plans that describe the activities and their allocation in greater detail to work out the dependencies between the tasks to be performed by the various team members.

Regardless of the approach adopted, the principles of iteration planning remain the same:

  • Establish the objectives and evaluation criteria
  • Establish the resources available and schedule the activities

At any one time you work with no more than two iteration plans: one to manage the current iteration and one that is an evolving sketch of the plan for the next iteration. This limits detailed planning to those subjects of immediate consequence, avoiding the creation of unnecessarily detailed plans and encouraging the project members to focus on delivering immediate results.

The iteration plans exist in the context established by the overall project plan, which is also developed iteratively and is adapted to the lessons learned from the execution of the iterations. The overall project plan is relatively high-level because all the details are pushed down into the iteration plans.