Mastering the Iteration : The Heartbeat of Agile Development

Mastering the Iteration : The Heartbeat of Agile Development


The base construct of agile and iterative development is the iteration - the ability of the team to create working, tested, value-delivered code in a short time box - with the goal producing an increment of potentially shippable code at the end of each iteration. This is a significant challenge for the team, and mastering the process takes some time to accomplish. In this chapter, we describe the basic iteration pattern and the activities that a team engages in to meet this key challenge.

Before we begin, however, we must first entertain another small debate: What is the optimal length of an iteration? Most people agree that iterations are a fixed, constant length and typically should not vary in length over the course of a release or a project. But the length of the iteration is an agile variable. From the literature, XP recommends a length of 1 to 4 weeks, Scrum recommends 30 day sprints, and RUP recommends flexibility of 2 to 6 weeks.

In practice, however, all but a very few teams we have worked with have come to the same conclusion over time: a week may be too short and 30 days is too long. The conclusion they typically arrive at is to standardize on iterations of 2 weeks in length, and this is our general recommendation.


Dean Leffingwell
Rally Software
14 Aug 2008
14 Aug 2008
14 Page(s)
White Paper
Already a Bitpipe member? Login here

Download this White Paper!

By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.

You also agree that your personal information may be transferred and processed in the United States, and that you have read and agree to the Terms of Use and the Privacy Policy.