incremental development

Iterative & Incremental Development: New Definitions

Many authors have elaborated on the importance of iterations and increments, particularly in the last ten years. Unfortunately, only few of them have made serious attempts to explain what the differences between iterations and increments really are. Even worse, methodologies like RUP and SCRUM have muddled the waters by making iterations and increments equivalent to each other, which makes it difficult for project managers and development managers to decide how to handle temporal cycles in their software projects. And communication among agile practitioners doesn’t get any easier when authors of agile methods like XP and DSDM don’t agree on definitions and terminology. The 16-year old definitions of increments and iterations, provided by Alistair Cockburn, are as follows:

  • Incremental development is a staging and scheduling strategy in which various parts of the system are developed at different rates, and integrated as they are completed.
  • Iterative development is a rework scheduling strategy in which time is set aside to revise and improve parts of the system.
Syndicate content