Chapter 7. Practice 4: Short Iterations

image with no caption

He doubly benefits the needy who gives quickly.

Publilius Syrus

Iterative development delivers functional software to the customer for evaluation at specific intervals. Each iteration adds new functionality to the product and increases the customer’s understanding of how the final product will fulfill his needs. It also provides an opportunity to identify how the product may fall short. The effectiveness of iterative development comes from these opportunities to receive and incorporate customer feedback. Customer feedback drives the next iteration by adding, deleting, and modifying requirements to correct shortcomings, and iteration length determines the number of opportunities available during a development effort. This means that short iterations provide more feedback and increase the possibility that the final product will be what the customer wants.

Short iterations support three of the Lean software development principles described in Chapter 2:

  • Eliminate waste

  • Defer commitment

  • Deliver fast

Two forms of waste that are prevalent in software development are partially completed work and replanning. Partially completed work is any work that has been started but not completed; it includes such things as uncoded requirements and incomplete, untested code. Because partially completed work doesn’t contribute new functionality to the current product, ...

Get The Art of Lean Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.