After Agile, the first methodology introduced was Waterfall methodology. Additionally, it is alluded to be a linear life cycle model. Though it is easy to understand and simple to use one phase need to be completely finished to start up with another phase. The fundamentals of waterfall methodology recommend to use this type of model in small projects having defined requirements. Each phase goes through the review process to figure out whether the task is on the right way and whether to proceed further with the project or not. In waterfall methodology, the testing process is initiated once the development process is completed and due to this the phases do not overlap.
Waterfall model consist of five phases-
- ► Software Requirement Specifications
- ► System Design and Software Design
- ► Implementation and Unit Testing
- ► Integration and System Testing
- ► Operation and Maintenance
It is essential to psychological factors also plays an important role in any project. Waterfall the name itself suggest to execute the project in a flow. Lets discuss the advantages and disadvantages of the oldest process of software development.
Advantages of Waterfall Methodology:
- This model is simple to use and can save on resources due to its minimal requirements.
- Output is created after each phase, hence the scope of clarity in this model is high. A considerable progress is observed at both the end from client as well as project manager.
- Managing a project from internal level and client’s level is easy with waterfall model. It is due to the visible results after each phase.
- Evaluation can be done at regular intervals and deadlines can be set for each phase to check if the project works according to points of reference.
- It gives quality output therefore it should be implemented when schedule and cost is not the matter of worry for the project execution.
Disadvantages of Waterfall Methodology:
- Many projects are not able to follow the flow in sequence and so do the iterations in waterfall model. It can create confusion while executing the project.
- Difficulty is faced in getting a clear vision over client’s requirement due to defined model. Due to this the specifications can’t be determined while discussing over the project.
- The risk factor is very high and increased level of uncertaining as it can take any amount of cost or time to reach completion level.
- It is not good to use for long or existing projects.
- After reaching to the testing stage, it is very difficult to make any change in the concept worked over the earlier phase.
- The cost of fixing the bugs is very high after the product is completely developed.
Waterfall methodology have some drawbacks but still it is useful for some particular type of projects. If implemented in proper direction than this model can save sufficient cost and complete the project in short time.