When I talk to people who are doing Agile development, one of the first questions I often ask is “How long are your iterations?”. I ask this not because I am looking for the one magic answer, but to see the variation in iteration length and how people arrived at that decision. Iteration length is very product and team dependent.
Most of the answers I hear are around 4 weeks, with some as long as 3 months. When I say our iterations are 2 weeks I often get a few raised eyebrows.
One of the reasons we went with such a short iteration time is that we have a significant internal R&D “customer” presence. Having a short iteration time allows us to respond quickly to requests for new functionality.
Our internal customers are part of our iteration planning and it is great to hear them talking about iterations. Rarely do I have someone pop in and say “I have to have this now”. More often I hear “Can we get this into the next iteration”. That tells me that our iteration length is working for our internal users and they are not tempted to work around the iterations. That really lets the team focus on the task at hand and not get sidetracked by changing priorities.
That’s nothing… our iteration is one week long. Why? Because the pace we move at must be so fast that anything longer would be interrupted.
One of the major benefits of iterative development is an understanding by all stakeholders that we are working on X. We can look at doing Y in subsequent iterations. That frees the developers to focus on the assigned specific tasks without interruption or changing priorities, which should have a significant impact on the team’s productivity.
Thanks for the input.