What is Waterfall?
The Waterfall model is a sequential process, in which progress is seen flowing steadily downwards (like a waterfall) through established phases, a predictive type of methodology that originated in the manufacturing and construction industries. Because it was intended for structured physical environments with high predictability, change is seen as a failure in planning and therefore not suited for high change innovative environments like software.
Kanban Zone enhances the Waterfall model by embracing the 5 Kanban properties:
- Visualize the Waterfall process on a Kanban board
- Limit Work-in-Progress for each phase of the Waterfall model
- Measure & Manage Flow by tracking the cycle time and the throughput of the work
- Explicit Process Policies by mapping each deliverable within the Waterfall process
- Continuous Improvement by increasing collaboration and identifying factors that could negatively affect the overall process
This is why Kanban Zone works, it’s simple and everything you need is available visually on an intuitive board.
Waterfall for Software
When trying to use the Waterfall model outside of the construction/hardware world and into the software world, the first formal description and opinion of this model is often cited in the 1970 article by Winston W. Royce. Although Royce did not use the term waterfall in that article, he presented it as an example of a flawed, non-working model:
I believe in this concept but the implementation is risky and invites failure…
Winston W. Royce
He saw value in categorizing work or activities in phases, but also acknowledged that if verification or testing waited until the end it would be risky, as this may be the first time the customer is seeing the results after having given their requirements.
Although we do not recommend using Waterfall to manage software development, it can be used in highly predictable environments, so we did also create a board template that represent Royce’s original waterfall model:
- Requirements: captured in a product requirements document
- Analysis: resulting in models, schema, and business rules
- Design: resulting in the software architecture
- Coding: the development, proving, and integration of software
- Testing: the systematic discovery and debugging of defects
- Operations: the installation, migration, support, and maintenance of complete systems