Are there ever times when a waterfall approach to managing projects is a better choice than Scrum? This might surprise you, since I am a Certified Scrum Trainer, but I actually think there are times when a waterfall approach to project management works fine. By the way, when I use the term “waterfall” what I am describing is any approach to managing work that uses a predictive model of risk control. In other words, the better predictions you make up front, the lower the total risk of the project. See the graphic below:
Obviously, if you are using a predictive approach to managing risk, success hinges on making good predictions. That is why waterfall projects usually have a big requirements-gathering phase up front. Imagine if you could get every single requirement up front and they didn’t change at all. That is going to be a pretty low-risk project.
Once you have all the requirements you are going to give them to the project managers and say “Ok, this is what we want built. Tell us how long it is going to take, how much it is going to cost and what resources you need.” IOW, the PMs are going to create a project plan which is, of course, another set of predictions.
When you have those two things—all the requirements and a plan to execute them—that is the point, in a waterfall project, where you can start the technical work, such as design, development, testing, etc. And when you get to the end of the project and you are trying to decide if it was a good project, usually what you are asking is “Did we deliver all of the requirements and did we do so according to plan?” If the answer is “yes” for both then that is usually considered a pretty good project.
Not surprisingly, what hurts a predictive approach to managing projects is when your predictions are wrong. If they are just a little wrong that isn’t so bad. But if they are wildly wrong that tells you that you should have used an empirical approach like Scrum to manage that project.
So, what kind of project would waterfall work for? One that has these three characteristics:
- It is short in duration
- It is extremely well understood
- It is something you’ve done a gazillion times before and every time you do it the process is exactly the same
There’s a name for a project like that: it is called a defined process. Waterfall usually works fine for defined processes. But when there is more uncertainty and risk, an empirical approach like Scrum is the safer choice, not because it is the cool, shiny framework du jour, but simply because it has the right kind of risk control for the problems you are likely to encounter.