Waterfall model is first and most traditional of plan – driven process models. Shown in figure. Winston Royce was created this model in 1970. Waterfall inscription all of the standard life cycle stages. This progressions well though analysis and requirements gathering, to detailed design, architectural design, debugging, coding, system testing, delivery and maintenance.
It requires detailed documentation at every stage, archiving of documents, along with reviews, sign – offs at every process phase, close management and configuration management of entire project. Waterfall model is model of the plan – driven process. This model also does not work.
There are two related and elemental problems with the waterfall model, that container its acceptance. And make it very difficult to implement.
Problems of Waterfall model
First, it mostly requires that you finish phase N before you continue on to phase N +. In example, this means that you must spike down all your requirements before you start your architectural design, and finish your debugging and coding before you start anything but unit testing. You will have a complete set of requirements. You will understand precisely what the customer want, and everything the customer needs.
So, you can no doubt move on to designing the system. In practice, this never happens though. I have never seen a project where big things did not change somewhere during development. I have never worked on a project where all the requirements were spike down at the beginning of the work. So, finishing one phase before the other begins is problematic.
The second problem with the waterfall is that, it has no providing for backing up. It fundamentally based on assembly – line mentality for developing software. The nice diagram shows no way to go back and re – work your design if you find a problem during coding and debugging. The implications are that you really have to spike down one step and review everything in detail before you move on. This is not just practical.
The waterfall is a terrific theoretical model. It detach different steps of the life cycle and forces you to think about what you really do need to know before you move on.
Water-fall is also a good model for teams which are unpractised working on a well – defined, new project because it leads them through the life cycle. The waterfall is not a good practical model, it immediately morphs into a slightly different one.
Backing Up the Waterfall (feedback)
The first thing that happens to the waterfall model is that it become different into the waterfall with feedback. Shown in Figure. This is an admission that a straight – line waterfall does not work. And that you need ability to back up to a previous phase when you discover a problem in current phase.
The waterfall with feedback model recognizes that you have to start work with insufficient requirements, design, test plan, and so on. It also clearly builds in the idea that you will have to go back to previous process steps as new information about your project is uncovered.
The new information can be updated requirements, new requirements, design flaws, defects in testing plans.
Any of these will require that you revisit a previous process step to rectify the problem. This process model is still quite rigid. And it has the same advantages of a waterfall model when it comes to very large, new projects and inexperienced teams.
Disadvantages of waterfall feedback
Two main disadvantages with the waterfall feedback model are that it makes it firm to know when you are finished. It really messes with your scheduling big time. It confusion with your schedule because in any phase there can be unpredicted moves back to a previous phase of development.
Therefore, this also means it is firm to know when you have done. Due to these disadvantages, the waterfall with feedback model also morphs into a new model, one that attempts to talk the scheduling and uncertainty affairs.