For many people, the word “Waterfall” causes a visceral reaction – especially in the context of projects and organizations. Unfortunately, I’m starting to come across more places where “Agile” causes the same reaction of disgust and fear. The fundamental problem is that we’ve let bad management hide behind methodology and frameworks.
At their core, Waterfall, Agile and Lean represent three modalities of project delivery – either Sequential (Waterfall), Iterative/Incremental (Agile) or Continuous (Lean/Kanban). If the problem space you are delivering within is well-known and needs a sequential process, then use one! For example, if we have to move a group of people from one office to the next, there are defined tasks that have to be done in certain timeframes in a certain order. Or perhaps we are adding analytics to an existing application, but we know what the analytics are, where they need to go, and the order we want to implement them in. Again, a good fit for a sequential process.
But what if we aren’t so certain about the order or value? In that case, we want to decompose the work into increments, each capable of allowing the realization of value once deployed, and then build it iteratively – a great fit for a number of agile processes. For example, we used to cook over 2,000 lbs of barbecue chicken for the 4th of July. We would divide the chicken into increments – basically as much as would fit onto one cooker – and then constantly inspect the chicken and adapt to the conditions. We would then pull chicken off one cooker at a time, and once off, the chicken could immediately be sold (value realization!).
Or maybe we have a software project where we know the overall value potential, but not exactly how to build it. In that case, we want to see how we can divide the goals into increments that help test the value potential once released, but we still want to build the pieces inside of it iteratively, constantly inspecting and adapting so that the discovery process doesn’t slow us down.
But what if we aren’t even certain of the value – or even if the idea we have can be built? In that case, we don’t have the ability to define value criteria or increments – we instead have to focus on continual delivery and discovery to find the business model or business value case. This is common in startups where an organization is searching for a repeatable business model. There’s a notion in kitchens of tasting as you go to make sure you have the right balance of spices or flavoring – an example of continuous delivery. Or maybe we’re attempting to disrupt a legacy market, and don’t know exactly how customers are going to react, or what they may even need. In that case, we need a model for continuously testing, iterating and responding.
When we step away from the words, and we instead focus on the modalities – sequential, iterative/incremental, continuous – we can even start to see how things can be combined. For example, maybe we do have a sequential process, but we can still focus on decomposing and delivering it in increments. Or maybe we need an iterative cadence, but want to deliver continuously.
One of my favorite conversations was with a director of a $50mm project I was coaching. He had just taken over the entire project, and I was talking to him about agility. “I don’t believe in Agile,” he told me, “because I’ve been plenty successful with waterfall!” I asked him to tell me how he was able to see such success in waterfall projects, when so much of the industry talked bad about them. He said, “Well, we would define and lay out the plan, and every 2 weeks we would inspect the plan against what had actually been done, and then adjust the plan based on what was actually happening.” I told him I would happily do that kind of waterfall!
So don’t try to “Be Agile” any more than you should try to “Be Waterfall”. Instead focus on the modalities that make sense for your project and organization, and how the principles, values and practices from other modalities can be combined – so you can “Be Successful”.