What's a suitable iteration length?
I favour an iteration length between 2 and 4 weeks because, in my experience, this time frame is where most agile development teams seem to settle naturally and comfortably.Balancing considerations
When deciding an iteration length you need to balance the following:
- How long the customer can go without changing his mind or having to react to changing business circumstances and priorities.
- How long the customer is willing to wait before something valuable is delivered. Visibility is important and slicing user stories vertically and developing the functionality as successive refinements delivers tangible value progressively. Also, shorter iterations provide more regular feedback.
- How long the development team needs to complete a consistent amount of user stories with a given quality of implementation. Obviously a team comprising developers with advanced skills and an ability to work together effectively is able to sustain pace and produce more in less time, while maintaining quality.
Don't adjust the iteration length to suit varying releases
The goal is to settle on a fixed iteration length as soon as possible. Do not adjust the iteration length on an iteration-by-iteration basis. Doing so will destroy any chance of attaining a development rhythm which delivers completed software in a repeatable fashion.
My strategy
When coaching Scrum I usually start with a 30-day iteration but I try to reduce that to a 2-week iteration as quickly as possible, providing it suits the business and the project. When coaching XP I usually start with a 2-week iteration. I resort to 1-week iterations, as a temporary tactic when a development team is struggling with the cycle and iterative development, generally. Once they grasp the cycle and deliver consistently and at a sustained pace I usually revert to a 2-week iteration in order to deliver more value for the customer. Iterations shorter than 1 week tend to be chaotic because everything is imminent. Iterations longer than 4 weeks seem like a lifetime and it's easy to lose any development rhythm because the end of the iteration is too far away from the start.
Tags: agile, extreme programming, iterative development





1 Comments:
This is a useful topic and tackles a challenge that faces many of the projects that often struggle with introducing iterative and agile techniques.
From my experience, some signs that your iteration length isn't appropriate are the following:
- missed demos
- 'sine wave' velocity from one iteration to the next
- business sponsors struggling with how iterations are 'useful'
I put some similar ideas on my blog entry around the same topic, http://bryancampbell.com/blog2-mt/mt-tb.fcgi/4
Post a Comment
Links to this post:
Create a Link
<< Home