Many engineers recommend modified versions of the waterfall model. In the traditional waterfall model, the different stages of development are not allowed to overlap. One common type of modification allows some of the stages to overlap, which results in reduced documentation requirements and a reduced cost of returning to earlier stages to make changes. Another common modification is to incorporate prototyping into the requirements phases.
Overlapping stages, such as the requirements stage and the design stage, allow the development team to integrate feedback from the design phase into the requirements; but overlapping stages can make it difficult to know when you are finished with a given stage, as the line between stages becomes blurred. This makes progress harder track. Without distinct stages, problems can cause you to defer important decisions until later in the process when they are more expensive to correct.