,

Iterative Essentials

Reduce project risk by developing the system incrementally over a number of iterations

Use this practice to break the project up into a series of smaller, self-contained, time-boxed, mini-projects.

This practice allows teams to: 

  • collaboratively and objectively plan, execute and track the project,
  • more effectively manage time, quality and cost expectations,
  • demonstrate working software early in the project and gather important feedback from customers and users,
  • be agile in their response to change,
  • deliver higher quality, more appropriate solutions, more frequently,
  • have an operational system available early in the project, one that incrementally grows to become the completed system.


Things to Produce

This practice involves the production of a number of management related artifacts:

  • The backlog is populated with changes, defects, scenarios and other tasks representing the work to be done.
  • The project plan identifies the number and style of the iterations to be performed.
  • The plans and iterations are driven by the risks identified in the risk list.
  • Iteration plans and assessments are produced to capture the intent and result of each iteration.


Key Competencies

This practice requires the team to be skilled in leadership, planning and stakeholder interaction.

This requires the following competencies to be in place:

Even if this practice is only about managing the project, it still requires the team to have the skills in place to develop quality, working software within the short time-boxes defined by the iterations. In other words, it is expected that the team will have whatever Analyst, Developer and Tester competency levels are required by the development practices selected.


Things to do

The practice starts by adapting existing project plans to integrate iterations into the project approach.

The objectives, evaluation criteria and work for the first iteration are then agreed.


 
The practice then guides the team through the iteration where they apply other practices to achieve the iteration’s objectives.

At the end of the iteration time-box the results of the iteration are evaluated and used to help adapt the plans to the reality of the project and agree the next iteration.

This sequence is continued for each iteration the project performs until, after the results of the final iteration are evaluated, the project is concluded.