I sometimes hear the question, “Why don’t we have a hybrid of Waterfall and Scrum and call it Scrum-fall? That way we can have the best of both worlds.” Before I go into the answer, let’s look at some basic differences between the Waterfall and Agile ways of working.
Agile involves continuous integration of design, development, and testing in all iterations. Waterfall takes a linear, structured approach in which requirements are fixed at the beginning and then the other phases occur.
Some of the assumptions made in the Waterfall world are:
- Major planning takes place upfront, and it is expected that the entire release and project goes according to this one plan.
- You go from one phase to the next, and the previous phase is fixed or frozen.
- No changes are allowed or expected to occur in the completed phases.
- There is a set of planned processes, and the project goes through every step exactly as written at the start; you reach the planned destination without any challenges.
- This is a “perfect” world, where everything goes according to plan.
Our experience shows that this is not how it works. Changes are inevitable, and the cost of rework at a later point in time kills the budget and reduces the value that is delivered to the client.
In the Agile world:
- It is understood that change is a reality and is expected.
- Nothing is frozen in software releases — or any project for that matter.
- An Agile framework is designed to anticipate changes and gives team members the flexibility to facilitate those changes.
- Teams are self-organized and self-managed.
- Predictability and visibility are higher.
- The teams get feedback and responses more quicky and frequently and can adjust as needed.
- There is a continuous-improvement culture through which we often can deliver continuous value to clients and thus reduce losses.
Now, coming back to the question that was posed in the beginning, “Why don’t we have a hybrid of Waterfall and Scrum and call it Scrum-fall? That way we can have the best of both worlds.”
There are many reasons why some think we need a hybrid culture, including:
- Too many changes in scope may hinder the project schedule; will Agile be able to handle it?
- Self-organized teams may mean that there is less or no control over the teams and resources.
- Processes change frequently.
- Users may miss having a weekly report — even though they are not needed with Agile, which provides access to data in real time. Some habits are hard to break.
In the current disruptive world, expecting perfection in development and delivery is far from reality. In the first place, you must admit there is no such thing as perfection in the Waterfall world.
A hybrid model would take the Agile culture back to a “command and control” way of working and to a mythical world where perfection is an expected outcome. We need to realize that’s just a mirage, a fantasy.
Either you are Agile or you’re not. A hybrid of Waterfall and Scrum simply will not work. Scrum will only fall — and fail. Go for Agile.