top of page
Writer's pictureMary Iqbal

What is Iterative, Incremental Delivery? The Hunt for the Perfect Example

Updated: Dec 31

​Iterative, incremental delivery is critical to a successful Agile team. Without it, Agile is really just window dressing.


Incremental delivery in Scrum


What is iterative, incremental delivery?

Iterative means that a team delivers work frequently rather than all at once. Incremental means that they deliver it in small packets of end-to-end functionality.


Here are five examples that illustrate the concept of iterative, incremental delivery. No example is perfect. Let me know what you think in the comments and if you have another way to explain these concepts.


The mile-long peanut butter and jelly sandwich

One way to describe iterative, incremental delivery is to imagine a team whose goal is to deliver a mine-long peanut butter and jelly sandwich.


A team using a more traditional approach like waterfall might try to deliver the sandwich in one - very large - deliverable. They might break up the job by using separate teams to focus on making the bread, jelly, peanut butter, and assembly.


A team using incremental, iterative delivery would supply the sandwich in smaller “bites.” The team would all work together to deliver each bite.

Example of incremental delivery using a peanut butter and jelly sandwich.

Is this a good example?

The strength of this example is that it nicely demonstrates how work is cut differently with an iterative, incremental approach. The weakness of this example is that it is impractical. When have YOU ever had to deliver a mile-long peanut butter and jelly sandwich?

A software development lifecycle perspective

Another way to discuss iterative, incremental delivery is to look at it from the software development life cycle (SDLC) perspective. The diagram below shows the SDLC for a typical waterfall approach compared to Agile product development. As you can see, Agile teams might perform all of the standard steps in the SDLC, but they might do this work in smaller pieces.

Example of incremental delivery using the software development lifecycle.

Is this a good example?

The strength of this example is that it speaks well to folks who are involved in software development. Its weakness is that this example may not translate well to teams who are not supporting a software-based product. It does not fully address the concept of incremental delivery or illustrate that the work must be fully usable and potentially releasable.


The hexagon

Another way to discuss iterative, incremental delivery is to generalize the product by depicting it as a simple hexagon. The image below shows an individual trying to deliver a hexagon in one deliverable. The second part of the image shows an individual using incremental delivery to deliver a hexagon. Each of the smaller deliveries is a complete, usable hexagon.

Example of incremental using hexagons!

Is this a good example?

The strength of this example is that it is easy to understand. It clearly demonstrates the concept of delivering value in smaller pieces. It also speaks to the idea of providing end-to-end functionality (because the deliveries are small hexagons). The weakness of this example is that some individuals may not understand the message of the small hexagons being end-to-end deliveries because of how they are stacked in the image.