Learn in the textbookClassic Software Development Models
DefinitionThe waterfall model (ウォーターフォールモデル) divides development into several phases and moves in one direction, entering the next phase only after the previous one is finished and checked.
ExplanationPhases near the start of development, such as requirements definition, are called upstream phases (上流工程), and later ones, such as programming and testing, are downstream phases (下流工程); each later phase works from the deliverables (documents) of the one before. The clear boundaries make plans and progress easy to manage, but because the model assumes no going back, it copes poorly with specification changes midway. Going back to an earlier phase to redo work after an upstream error surfaces late is called rework (手戻り).
AnalogyIt is like building a house in the order foundation, pillars, roof. Spot a flaw in the foundation after the roof is on, and fixing it becomes a major job.
Memory hookDraw the phases as a staircase going down, and work seems to spill from one step to the next like water over a fall.