Developing with Short Iterations

The techniques that support short iterations are straightforward. The first two—prioritized requirements and a fixed iteration length—work together to ensure that developers are always working toward getting the customer’s highest priority requirements implemented. The remaining techniques—demonstrating the iteration’s product and delivering functional software to the customer—help focus the team on meeting its goals of providing value and getting useful feedback.

Work to Prioritized Requirements

Prioritized requirements can help minimize the size of the codebase (see Chapter 6), but they play a role in short iterations as well. Focusing on the most important requirements delivers the most useful functionality to the customer, so short iterations that implement the most important features first deliver the most value in the shortest time.

Set an Iteration Length and Stick to It

Although most Agile methodologies recommend iteration lengths of two to six weeks, several factors influence iteration length, including the volatility of the environment, experience with the methodology in use, the technical ability of the team and its understanding of the technologies in use, and the complexity of the system itself.

Choosing an iteration length within the two- to six-week range, or in some cases outside of it, will depend on each of those factors. However, unless dictated otherwise by experience or knowledgeable recommendation, the best starting point is in the ...

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.