Waterfall model in software engineering means that:
Stages of development are following each other in certain order. And after each stage there is no going back to change something or fix. All the requirements must be defined initially.
has its advantages – you can easily estimate beforehand your employees’ labor hours, your budget and release data. But waterfall model appeared long time ago, not in IT sphere, it was manufacturing methodology. And it remains the same.
Stages of Waterfall model –
- Requirements analysis
- Development (Implementation)
- Testing (Verification)
- Launch (deploy & Maintenance)
And often you are not able to fix problems detected on previous stage. What if you’ll discover a major dev’s or design bug on the testing stage? It would be impossible to improve anything. And of course, you’ll have to review your budget and estimated plan, delay launch. This is a huge disadvantage of Waterfall.
Waterfall projects value:
- Processes and tools over Individuals and interactions;
- Comprehensive documentation over working products;
- Contract negotiation over customer collaboration;
- Following a plan over responding to change.
People who like the waterfall model call it a sequential stage gated system engineering process. People who don’t like it call it waterfall.
In a pure Waterfall model, there are typically required deliverables at the end of each phase that are heavily documentation-intensive that must be reviewed and approved before transitioning to the next phase. The definition of the phases is not prescribed; however the phases are typically something like requirements definition, design, development, test, acceptance, and deployment.
The Waterfall model has some significant potential flaws that even Dr. Royce recognized when he created it that have caused many people to adopt a more Agile approach over the past 10-15 years. Some of the more significant flaws are:
• It doesn’t work well in environments where there is a high-level of uncertainty because the emphasis on control creates a relatively inflexible approach that is not easily changed
• It has a lot of overhead because it is so documentation-intensive and has a lot of emphasis on control
• Because it is a long sequential process, any problems in the requirements may not be discovered until the very end of the project and by that time, it may be too late to make corrections
The Waterfall model is still useful in some industries and application areas such as construction where the requirements are relatively stable and predictability of costs and schedules is important.
Next Topic: V model