Iterative Development

Also: Incremental Delivery, Evolutionary Development, Timeboxing

A project life-cycle strategy used to reduce risk of project failure by dividing projects into smaller, more manageable pieces of “potentially shippable” product delivered over the course of a series of brief iterations, or sprints. Iterative development  processes afford teams the ability to “inspect and adapt” their processes between iterations, leading to continuous improvement. The concept of iterative development stands in contrast to the traditional, waterfall method of “big design up front” followed by development and testing in strict sequence.

The concept of iterative development is central to all Agile fameworks, and is treated as essentially synonymous with Agile development. Extreme Programming recommends that teams make frequent, small releases, working in iterations of one to four weeks, with one week being the preferred interval. Scrum also recommends regular cycles, called sprints, of one to four weeks.

Etymology

The concept of iterative software development was first described by Tom Gilb in his 1988 book, Principles of Software Engineering Management, where he referred to it as Evolutionary Development. It has gone on to permeate all Agile frameworks.

This entry was posted in i. Bookmark the permalink.

3 Responses to Iterative Development

  1. mark says:

    re – Scrum recommends a four week Sprint – as a trained scrum master the length of a sprint can be between 1- 4 weeks, often it is two weeks, to say Scrum recommends 4 weeks is incorrect.

  2. Jake says:

    I concur with Mark: 1-4 weeks, not 4 weeks.

  3. Chris Sims says:

    You are both correct! Thanks for the catch. :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>