When the data is before you, it's clear to see how agile can improve productivity and time to market. If you're considering a transition to agile but don't know how to make the case to upper management, Johanna Rothman provides you with the data you'll need.
"Hey, Dan, it's time for us to move to agile," explained Tristan, a project manager.
"Tristan, you've been singing that tune for a while," replied Dan, a member of the PMO.
"Well, now I have data that I think you can use with the rest of the PMO and with our senior managers. Look at these cumulative flow diagrams."
"Cumulative what diagrams?"
"Cumulative flow. Look, they show us how much work is in progress and how much is done at any given time in a project. If you know you have a lot of work in progress, you know the project can't finish soon. If you know there's not a lot of work in progress, you can decide when to end a project. Here, take a look at these cumulative flow diagrams for my project."
One of the powerful motivators for teams, programs, and managers to consider agile approaches to projects is to see the amount of work in progress.
Figure 1 shows Tristan's cumulative flow diagram early in the project, when he was using a serial lifecycle.
|Figure 1: Serial project early in the project|
Tristan's project used a serial lifecycle until July. Because the project team was looking at all the features to try to freeze the requirements and architecture, Tristan decided the team was working on all the features. He thought that the team had finished maybe five of the features, so they got credit for those completed features. But they added an additional fifty features, so it sure didn't look like they were making progress.
When he saw the diagram for July, he couldn't see how they would finish this project in a year. That's when they moved to an incremental lifecycle, so that the team could finish chunks of work.
Now, take a look at figure 2, Tristan's cumulative flow diagram when they moved to an incremental lifecycle for the months of July, August, and September.
|Figure 2: When Tristan moved to an incremental lifecycle in July|
The project still has a ton of in-process work, but some of the features are complete. In an incremental lifecycle, you finish a feature as if you were going to release it. The entire feature is designed, coded, integrated, and tested. The code is checked into the code base and is ready for other people to use it.