Cost of defects is exponentially more expensive as the phrase goes on
gantt
title Waterfall Model
dateFormat X
axisFormat %s
Feasibility study :0,1
Requirements :1,2
System design: 2,3
Program design: 3,4
Implementation(coding): 4,5
Program testing:5,6
Acceptance & Release:6,7
Operation & maintenance:7,8
Advantages:
Process visibility
Separation of tasks
Quality control at each step
Cost monitoring at each step
Disadvantages:
In practice, each stage in the process reveals new understanding of the previous stages, which often requires the earlier stages to be revised.
Shift left:
Quality assurance cant be done until the end of the process
Auality assurance (QA) can be integrated into the development process earlier in the cycle, without requiring the creation of formal documents or deliverables after each step.
This can help to identify and fix defects early on, which can save time and money in the long run.
Modified waterfall model:
Waterfall model with feed back at each stage
A fine choice when requirements are well-understood and system design is fixed
Automating manual data processing systems (e.g. utility billing)
New version of system whose functionality derives from earlier product (e.g. embedded controller)
Self-contained components/services with a pre-defined interface
Widely recommended for safety-critical or highly regulated systems
Requirements must be thoroughly analyzed and documented