As previously mentioned, the emergence of the modified model is a result of the drawbacks of the traditional waterfall model.
The phases are the same as seen in the traditional model, the main difference being that the phases can overlap, which gives the model flexibility. This allows for a range of tasks from different phases to be executed at the same time, further allowing bugs to be eliminated in the development phase rather than just in the implementation or maintenance phase, when the costs are huge. It also allows for changes in design during programming or testing.