Characteristics of Iterative Life Cycles

This is the second of four posts covering the characteristics of the various life cycles of projects, including predictive, iterative, incremental, and agile.   It is based on the material on p. 21 of chapter 3 of the Agile Practice Guide.

First of all, remember that iterative life cycles allow feedback on partially completed work to improve and modify that work repeatedly until a correct solution is found.

These modifications are done through successive prototypes or proofs of concept.  Each new prototype is reviewed by the team, which generates insights for the next iteration.  In addition, it is shown to the stakeholders, yielding new feedback which also helps guide the next iteration.   The next iteration may be planned by timeboxing, that is, by setting regular intervals such as 2 or 4 weeks.   The iterations help identify and reduce uncertainty in the project.

Projects benefit from iterative life cycles when:

  • complexity is high
  • when the project incurs frequent changes
  • or when the scope is subject to differing stakeholders’ views of the desired final product.

Iterative life cycles may take longer because they are optimized for learning and achieving a single correct solution as opposed to speed of delivery.

Here are the steps of an iterative project life cycle (see Figure 3-3)

  1. Analyze
  2. Design
  3. Create Prototype
  4. Repeat steps 1 and 2 as necessary
  5. Build
  6. Test
  7. Deliver

Item 4 above covers the “iterative” part of the life cycle.

When speed of delivery of a project, even if only a partial solution in the form of smaller deliverable, is more important, then an incremental life cycle may be best.

That is the subject of the next post.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: