The Waterfall model is developed by dividing the whole process into a few separate phases. Typically, each phase is designed with the simple logic that the outcome of the earlier phase is injected as the input for the next-level phase. By design, each phase of the waterfall mode, is expected to be signed off, before getting into the subsequent phase. It involves the deliverable artifact of each phase like design document, business requirement document, source code, test plan, etc.