In projects implemented using Agile processes, such as SCRUM, the length of an Iteration can be a key factor that determines project success. Imagine entering an Iteration Review meeting only to be told by the users and customers that the deliverables aren't exactly what they had in mind. The Iteration Length determines the period in which the team can take feedback and change course, if required. If this period is too long then formal feedback is delayed and the Agile team would have difficulty adapting to the change. Therefore, the Iteration Length is critical. In this article, we’ll look at the following factors that’ll help you determine the length of an Iteration:
- The Team
- The Release Length
- The Degree of Uncertainty
- The Administrative Overhead
- The Student Syndrome
The Team
In SCRUM, the Iteration Length is fixed at 30 days (4 weeks). This may or may not be suitable for your project. The fact is that the Iteration Length appropriate for one team may not be optimal for another.
The Release Length
A release consists of a number of Iterations. After a release is kicked off, the team progresses to completing the work identified within each release. Suppose you have a Release Length of three months and an Iteration Length of one month. This means that your team will only have two instances (one after Iteration 1 and another one after Iteration 2) to take user and customer feedback.
However, suppose you had a two week iteration length, then your team would have five instances. The shorter the iteration the more feedback you will get and hence the higher probability of your team hitting the release target.
The Degree of Uncertainty
Suppose you are in a highly volatile project in which requirements are not clear or are constantly changing. In such a case, the shorter Iteration Length helps reduce the overall uncertainty of the project because the team has more opportunities to gather feedback from the stakeholders. After all, when using SCRUM problems are more transparent and hence get surfaced faster.
The Administrative Overhead
An Iteration has several checkpoints. At a bare minimum, there would be an Iteration Kickoff and an Iteration Review Meeting. These are administrative overheads because no work is delivered during this time. For shorter iterations, these meetings can be a significant overhead. Suppose, you have a four member team working on a one week Iteration. Assuming a 40 hour week for each person, which gives you 160 hours for the team in the iteration. If from these 160 hours, you have an Iteration Kickoff meeting and an Iteration Review meeting each lasting 4 hours, which would translate to 32 hours, which is about 20 % of the total Iteration team time (effort), spent on overheads.
The Student Syndrome
In college, it’s quite common to see people studying late in the night as the exam dates near. This is typical of students. Teams also suffer from this syndrome. A long Iteration Length leads to a higher degree of relaxation because the end date is further. The trick is to select a length that is short enough to generate a sense of urgency, but not so short that it stresses the team out.
The factors discussed in this article will help you make a decision on the Iteration Length. Generally, Agile teams select an Iteration Length of between two to four weeks. This Iteration Length is fixed through the Release. It is important to keep a fixed Iteration Length so that the team can compare team progress from one Iteration to another. Therefore, size the work accordingly so that each Iteration is of a fixed period.