Project Planning an Agile Software Development Project

Project Planning an Agile Software Development Project
Page content


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 Retrospective 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 team would have difficulty adapting to the change. Therefore, the Iteration Length is a critical agile development project planning decision.

The Team

Iteration lengths vary from one Agile Methology to another. For example, 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

Agile Software Development projects are broken into releases. Each release consists of a number of Iterations. After a release is kicked off, the team progresses to completing the work identified within each release. Most Agile Methodologies call this work a Backlog. 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 Agile 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. This will ensure that when you use Agile Methodologies, like SCRUM, for Agile software development, risks will get surfaced faster. Hence, you can respond to positive and negative risks faster.

The Administrative Overhead

An Agile Iteration has several checkpoints. Project planning meetings and checkpoints during an Agile project are overheads. For example, 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. If you put a monetary to each hour, the figure would be quite a bit. Using effective cost management techniques is critical.

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 the student 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 project planning decision regarding the Iteration Length. Generally, an Agile software development project will set the Iteration Length 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 project performance from one Iteration to another. Therefore, scope the work accordingly so that each Iteration is of a fixed period. Here are some tips to manage scope creep, just in case you need them.

Please be sure to check out the other items in Bright Hub’s collection of Agile project management guides and discussions.