The waterfall model is a sequential software development model in which development is seen as flowing steadily downwards (like a waterfall) through several phases. The output of previous phase is considered as the input for the next phase. So this sequential process directs in a forward direction and not backwards.
The waterfall model maintains that one should move to a phase only when its preceding phase is completed and perfected. Phases of development in the waterfall model are thus discrete, and there is no jumping back and forth or overlap between them.
Disadvantages:
The waterfall model is said to be a bad idea in practice, mainly because it is impossible to get one phase of a software product’s lifecycle “perfected” before moving on to the next phases and learning from them. A typical problem is when requirements change midway through, resulting in a lot of time and effort being invalidated due to the “Big Design Up Front”.
- Poor Flexibility: The majority of software is written as part of a contract with a client, and clients are notorious for changing their stated requirements. Thus the software project must be adaptable, and spending considerable effort in design and implementation based on the idea that requirements will never change is neither adaptable nor realistic in these cases.
- Unless those who specify requirements and those who design the software system in question are highly competent, it is difficult to know exactly what is needed in each phase of the software process before some time is spent in the phase “following” it
- Constant testing from the design, implementation and verification phases is required to validate the phases preceding them. Users of the waterfall model may argue that if designers follow a disciplined process and do not make mistakes that there is no need to constantly validate the preceding phases.
- Frequent incremental builds (following the “release early, release often” philosophy) are often needed to build confidence for a software production team and their client.
- The waterfall model brings no formal means of exercising management control over a project and planning control and risk management are not covered within the model itself