November 18, 2013
Many project managers resist using agile project management techniques because they feel that agile teams cannot guarantee what will be delivered when the time is up. With waterfall approaches, the 3 constraints of scope, cost and schedule are fixed. We know what scope will be delivered during what time, and at what cost. Because we have a plan, we have confidence in the date the project would be completed. Some project managers even call this a guaranteed delivery date.
Wait…what? There is no guarantee that waterfall projects will deliver what was needed on time! Promised maybe, but not guaranteed. In fact, my experience with Waterfall has been quite the opposite. And as it turns out, so had the experience of most of the others in IT and Software Development over the last 20 years. The Standish Group has been tracking success and failure of IT projects since 1994. During that time, the industry has always had a success rate of 1 in 3, or less. These statistics confirmed for me that the only guarantee was the difficulty of completing your project on time, on budget, and with your desired scope.
Putting the question of guarantees aside for the moment, I think what most project managers are striving for is predictability. Predictability is important, perhaps even critical.
I’m coaching agile teams who develop technology solutions to support investment banking. The industry is highly regulated, with compliance deadlines often set by regulatory bodies without regard for the reasonableness of the dates or feasibility of meeting them. Project sponsors need to know if the agile teams are likely to hit the dates or not.
This is where predictability is important, and where Agile shines. Stable Agile teams will have a velocity that represents the historical team throughput, or work produced per iteration. This velocity is the best predictor of how fast you will complete similar work in the future, making it extremely useful to Agile teams. When you couple velocity with accurate estimates of the work to be completed, you can forecast the end date of the project at any point in time. Teams can refine their prediction at the end of every iteration (normally 2 weeks). Even new teams that haven’t established a velocity can begin to predict their completion very early on. In my experience, we can accurately predict completion dates for new teams based on how they do in the first 6-8 weeks. It’s not rocket science (unless you happen to be building rockets for Lockheed Martin).
Contrast that level of predictability to traditional teams. Traditional teams plan based on phases – Requirements, Design, Coding, Testing, Integration, etc. There is no measure of velocity, and even hitting the planned deadline dates for the end of a phase can be misleading, and may not be a predictor for the overall completion of the project.
Having worked with both traditional and Agile teams, I strongly prefer the predictability of Agile teams. I was once asked to recover a large and very troubled IT program at a private investment firm. This waterfall program had been underway for 9 months, was already 3 months overdue, and no one had any idea when it would be completed. The executive sponsor was desperate, and reluctantly agreed to transform the project to Agile. During the due diligence needed to transform the project, the true state of the program was made known and the situation was much worse than all of us feared. Much of the work that had previously been reported as “done” was not even started.
Fortunately, Agile methods work. We organized the program into 5 agile teams, and created and estimated backlogs of work for the teams. Within 4 sprints (8 weeks) we had established consistent velocities for the teams, and a go live date was predicted. And that date was successfully met. After struggling for 9 months, the project was able to launch within 3 months of adopting agile. And it is not just that one project. I’ve seen the predictability of Agile play out in team after team.
There are no guarantees in traditional SW development projects. Agile teams deliver on a predictable schedule, using velocity and backlog estimates. That is the one guarantee that you can count on.
For more business insights and strategies, sign up for our free management newsletter, Moving Ahead.