Scrum vs Waterfall: One Is Not the Diminutive Version of the Other
Or simply put, Scrum is NOT mini Waterfall.
Join the DZone community and get the full member experience.
Join For FreeThe Software Development Life Cycle (SDLC) comes with various execution models. Different situations, of course, demand different models.
But it seems there is an uncalled for war between Waterfall and Agile. If anyone has ever claimed one if necessarily better than the other, that was probably based on one specific context, but NOT a general statement.
You may also like: Executive Insights on the Software Development Life Cycle
I have personally worked under both flavors and had my fair share of success with both. And it made me realize: Model Selection is a crucial skill in its own right. But that is a different story for a different time.
Waterfall and Scrum
Whenever someone speaks of an Agile way of working, the most popular framework that comes to mind is Scrum. And Scrum reminds me of one important aspect: empiricism. How does this empirical "thought process" help Scrum? There are many ways, but one of the more prominent approaches is to learn from experience. How? I will be touching up on that in a few minutes.
What did Waterfall do wrong?
Honestly, I don't think Waterfall did anything wrong. It was made in a strong and robust structure. Unfortunately, the world has moved ahead, the pace of change has increased by many folds, and the customer's mind is often overshadowed by too many possibilities, which leads to a situation where customers expect their vendors/service providers to be FIT enough.
Flexible (i.e. adapt to their changing need)
Involved (i.e. allow them to see what’s being built & how it is taking shape)
Transparent (i.e. being open about agreement, deliverables, challenges, gains, losses etc.)
When we attempt to deliver in a Mini-Waterfall model, we miss out on these parameters. We start with a topic (often camouflaged in the form of a User Story or Epic at times) and put a timeline (again, under the mask of a Sprint) to Assess -> Design -> Deliver.
And most of the time, these are all part of individual Sprints (i.e. one Sprint is used to assess, the next to design, the following one to deliver, and the Sprint after that drives the testing). So, as you see, there is hardly any ability to adapt to changes or make provisions for customers to get involved half way through, or deciding along with the customer on what the acceptance criteria should be.
That is NOT what Agile frameworks advise. This becomes unidirectional flow, under the pseudo name of Agile, but a waterfall running in the background.
But Scrum does resemble a Mini Waterfall in some ways, right? That is correct, and that resemblance ends there itself. Scrum does use the best practices of Waterfall (remember, we were talking about empiricism). And that leads to the infusion of all good Engineering Practices into Sprints, which also carries "flexibility," "involvement," and "transparency" (FIT) as core qualities.
Big Deal! So, what?
Well, if you are driven by Scrum, you won't do "Assess -> Design -> Deliver" in separate Sprints, but rather you'd embed those practices in EACH Sprint, allowing the customer to participate regularly, making them involved, and letting the entire operation transparent.
This is what makes it flexible and attracts customers to work in Agile, so that they could rapidly adapt to changing need of their end users.
Check this diagram; the difference is evident. In general, with a mini-waterfall, we tend to deliver on milestones rather that focusing on potentially shippable products, whereas Scrum ensures that you get to build your vision from just a vision to an eventual product. It allows the room for an MVP (could be a skateboard to start with; why not).
Additionally, it was never a fight to prove who was better (Waterfall or Agile). Rather, it was about who could adapt better in the changing times of the dynamic marketplace. This is where the Agile way of working gives you all the more reasons to become profitable (and in cases, become "even more profitable than one already is").
At the end of the day, if someone tells you Scrum is Mini Waterfall, have a good laugh and move on (or send them to me ;))!
Further reading
Opinions expressed by DZone contributors are their own.
Comments