Search This Blog

20 August 2018

Difference between Iterative and Incremental Projects

Incremental and iterative are so close in meaning, a lot of people confuse incremental project life cycles with iterative project life cycles.

In general, iterations identify and build value, using progressive elaboration, in interdependent layers whereas each increment delivers independent value. Projects that iterate through phases of progressive elaboration are called Waterfall. Project that deliver value in increments are commonly called Agile.

The Project Management Institute, in the Guide to the Project Management Body of Knowledge, Sixth edition, has wisely taken to calling Agile methods adaptive. Agile is a philosophy whereas the methodologies have names such as Scrum.

Contrary to what Agile fanatics say...

Each has its place.

Have you ever watched a cooking competition? Suppose two chefs compete to invent a new recipe.

Iterative

Chef A decides to make a cake. The oven temperature is unreliable, so the selection of each component depends on how the last component turned out.

  1. Designs the cake's architecture.
  2. Chooses ingredients and makes the base layer. 
  3. Chooses ingredients and makes the top layer. 
  4. Chooses ingredients and adds filling on top of the base layer.
  5. Places the top layer onto the base layer.
  6. Chooses ingredients and applies the external frosting.
  7. Places the cake on the table before the judges.

Incremental

Chef B decides to make a fruit platter.

  1. Chooses to include cantaloupe and covers 1/4 of a platter with cantaloupe balls.
  2. Chooses to include grapes and covers 1/4 of the platter with grapes.
  3. Chooses to include apple slices and covers 1/4 of the platter with apple slices.
  4. Chooses to include oranges and covers 1/4 of the platter with orange sections.
  5. Places the platter on the table before the judges.
  6. Boast about how Agile is superior to Waterfall. 😈

The iterative method builds layer-by-layer, where the choice about the next step depends on the results of the previous step. In a hardware product development environment, you might develop a material, then a technology that uses the material, then a system that uses the technology, then manufacturing processes to affordably produce the material and system. No value can be produced until you've gone through all the phases.

The incremental method doesn't depend on sequence. Each fruit has value by itself. An example from software development might be adding Bold, Italic, Underline, and Crossout functions to a word processor. Each new function adds value even if the other three functions are not added.



Copyright 2018 Richard Wheeler

No comments:

Post a Comment