The illusion of the waterfall
Posted on Apr 12, 2019
Sometimes it makes me wonder why so many software development organisations still see their work as a waterfall process. Even the most forward looking agile organisations fall often in a pitfall of waterfall thinking. The only excuse is that it’s actually not based on rational decision making. It’s rooted deep into our subconscious mind.
People tend to categorize things. We create abstract shapes, formulas and processes out of the complex topics that we couldn’t otherwise understand. It helps us to identify and memorise phenomenons and behaviour. That’s why a simple waterfall model is perfect for our thinking. Unfortunately it has little to do with the reality in software development.
The waterfall model is originated in the manufacturing and construction industries. There the highly structured physical environments meant that design changes became prohibitively expensive much sooner in the development process. A car must be perfectly designed already before a manufacturing line can be built for it.
Software development doesn’t have this characteristic. There’s no need for expensive stone carved specifications or waterfall processes. In software development projects it’s much more cost effective to provide changes across the project than to prepare a perfect specification at the beginning. There’s always some space for improvements.
Let’s not forget that software developer is not a factory’s manufacturing line that implements an app with the given specifications. The only manufacturing work in software development is done by a compiler - a program that transforms the written source code into an executable application. Before that the developer’s work is all about constant decision making and creativity.
It’s time to stop dreaming about waterfalls. It’s just an illusion, a creation of your subconscious mind.