Choosing the Right Iteration Length
One of the most common questions facing software development teams is, “What’s the right iteration length for our team?” Although this question can seem daunting at first, there’s actually a simple way to find the answer. Experimentation!
In this post, I’ll share what I’ve learned from experimenting with shorter vs longer iterations.
What determines the length of an iteration?
The most important factor that should determine how long an iteration should be is the frequency at which you want to get the feedback you need to ensure your product is on the right track. Modern agile teams would typically have a demo at the end of each iteration to get feedback from the Product Manager (and/or stakeholders) about the progress being made. This feedback is critical to the success of any project. How quickly you want to get customer feedback should be the #1 factor that influences the length of your iteration.
Other factors would include how well your development team is able to deliver value in the most predictable manner, given the timeframe. And finding the right balance requires experimentation.
Short Iterations
Some of the benefits we observed from running weekly iterations:
- Quick feedback loop with customers
- Pressure to deliver value frequently
We also ran into some challenges:
- Scrum meetings (sprint planning, demos, retrospectives) not leaving much time for heads down coding
- Unexpected events often resulted in missing sprint goals as there was not enough time to adjust in a meaningful way
Longer Iterations
We then started experimenting with longer iterations of 2 weeks and immediately started observing improvements:
- Improvement in engineering productivity (active coding days, commits per day, and some other GitPrime metrics)
- Engineering output (accepted stories) increased by nearly 2.5x
- More uninterrupted coding time
And some of the downsides:
- Slightly longer feedback loops with customers
Longer iterations are providing the engineering team with more breathing room. The engineers can be more productive without getting bogged down by the scrum ceremonies. However, short feedback cycle with customers remains very critical to our success. In other to mitigate this downside of longer product iterations, the Product Managers have started engaging with the customers on an ongoing basis. Product Managers continuously immerse themselves into the world of the users to understand and strive to anticipate users’ needs, ideate and gather feedback on potential solutions & designs. The learnings are fed into subsequent iterations, ensuring the engineering team is always delivering the most value to our customers.
Do you need to hire top developers? Talk to Andela to help you scale.