Incremental VS iterative development?

What is the difference between incremental and iterative development?

Incremental development slices work into small bite-sized pieces. These are called increments. Each increment builds on top of what has gone before. Fully functional modules grow bit-by-bit over time. Each evolution adds to preceding functionality.

Iterative development is the process of repeating and refining a cycle/way of working. This is called an iteration.

Upcoming FAQs LIVE events

Free interactive learning

Date

Time

Subject

Booking

15th July 2020

11:00-12:00 BST

Daily stand-up vs daily scrum?

15th July 2020

11:00-12:00 EDT

What are the roles in SAFe?

16th July 2020

11:00-12:00 EDT

Daily stand-up vs daily scrum?

16th July 2020

15:00-16:00 IST

What are iterative and incremental delivery?

Coming soon

 

What is the difference between agile and agility?

Example: eCommerce

Consider a team building an e-commerce web site. The team might develop a small increment of working, yet unrefined, functionality and then iteratively refine that over time. They will then add more features until the functionality was considered satisfactory.

Incremental vs iterative

An iterative example:

  1. In the first iteration of a website check-out engine, payment with debit cards (a first increment) is implemented.
  2. The second iteration might produce an increment that supports payment by credit card.
  3. Finally, the third iteration might add an increment allowing payment via PayPal.

An incremental example:

  1. The first increment would be a thin slice through the entire system laying out the basic structure of the application.
  2. Subsequent increments would add the next thin layer to the system.
  3. The process repeats repeating until there is a fully functional end to end customer journey.

Example: painting

Outside of software development, the most common example used is that of an artist painting a picture.

If the picture was painted iteratively, but not incrementally, the artist might start with a sketch of the finished image (a prototype). Then the artist would iteratively add paint to the drawing over time.  The artist would revisit the picture, changing it until he was happy with the finished image.

Now, consider painting the same picture but in a purely incremental, but not iterative way. The artist would first perfect one part of the picture before starting on any other part.  Once he was happy with one section, he would only then start on the next, and so on. The artist perfects each element of the painting before the next one begins.

 

Example: house building

If a house building were incremental, you would construct one room entirely – including furniture, paint and carpet. Then create the next room in the same fashion until you had a finished house.

 

In Scrum

Due to their complementary characteristics, incremental and iterative development are most effective when used together, for example as part of agile frameworks, most notably Scrum.

The Scrum guide references iterative and incremental:

Scrum employs an iterative, incremental approach to optimise predictability and control risk“, “Scrum Teams deliver products iteratively and incrementally, maximising opportunities for feedback. Incremental deliveries of “Done” product ensure a potentially useful version of a working product is always available”. 

Scrum is iterative in that work is planned for one iteration and then improved upon in subsequent iterations, and incremental as completed work is delivered consistently throughout the project.

 

Learn more

1,900 students taught world wide with LVC

 

Discover and learn more about how agile training can help you further your career

View Courses

 

Ready to get started?

Our team of business agility experts are here to help

Contact us

Discover new insights

I’m a product owner not a feature... By Paul Grew

Read More

Financial Times UK's Leading Management Consultants

Sign up for our newsletter

Keep up to date with all the latest business agility news