What is the Waterfall model?
The first-ever process model, the waterfall model, is also known as the linear sequential life cycle model in which each phase is completed, and only then can the next phase begin, without any overlapping of phases.
It is a sequential process in which the output of a phase serves as the input for the next phase. The sequential phases in the Waterfall model are – requirement analysis, system design, implementation, testing and integration, deployment, and maintenance.
Waterfall model application
The waterfall model works when the requirements are clear, specific, and fixed. It is ideal when the product is defined clearly, is stable when the technology is non-dynamic and has ample resource back up.
The pros of this method are that it is ideal for short projects where the objectives are defined clearly and do not change.
- The phases are completed one by one
- Each stage is well defined
- It is easy to line up the tasks for each phase
- It is easy to process and document the results well
The cons of this model are:
- Working software is produced quite late into the life cycle. So one cannot expect results early
- There is a high amount of risk and uncertainty as it is executed stage by stage: so if there is a change in the objectives or requirements, it cannot be accommodated
- It is not an appropriate model for long, complex and ongoing projects
- Intra-stage measuring of progress is not possible
- Since the final integration is done at the very end, any issue, technological or other, cannot be detected early on in the process
What is the V model?
The V model is a model in which the processes are executed sequentially, resembling a V. The V-shaped model is also called the Verification and Validation model. It is also a sequential process and is an extension of the Waterfall model: the difference or rather the addition is that there is a directly associated testing phase for every single phase in the development cycle.
In this model, the testing phase is conducted in parallel with the rest of the process. The verification stage involves business requirement analysis, system design, implementation design, module design. The Verification phases make up one side of the V, and the Validation phases make up the other. The Validation phase comprises unit testing, integration testing, system testing, acceptance testing. The two are joined by the Coding phase.
The coding phase: In the coding phase, the actual coding used while the system modules were designed in the Design phase is taken up. The most suitable programming language is chosen based on the architectural and system requirements. And the coding is performed based on the coding guidelines and standards. The code is optimized for best performance after numerous code reviews, and then the final build is checked into the repository.
V- Model application closely resembles that of the waterfall model, as both are of a sequential type. Requirements must be stated very clearly before the project starts because it is typically expensive to go back and make changes. This model is widely used in the field of medicine as it is very much a disciplined domain.
Merits of the V Model:
- It is easy to understand and apply, owing to its fixed nature.
- It is a highly-disciplined model, and the phases are completed one by one.
- It is recommended for smaller projects where the requirements are understood clearly.
- Easy management due to the rigidity of the model. Every phase has specific deliverables and a review process.
The demerits of the V model:
- There is an element of high risk and uncertainty
- It is not suitable for complex, dynamic, and object-oriented projects
- It is not suited for long and continuously running projects, and the projects where requirements keep changing
- It is difficult to go back and change a functionality once an application enters the testing stage
- Working software is produced late into the life cycle
Both the Waterfall model and the V model share similarities, as both are suitable for short, predictable projects that are not dynamic and frequently changing. In response to the demerits of the waterfall model, many modified waterfall models have been introduced that may address some of the criticisms of the primary version. These include the Rapid Development models, Peter DeGrace’s “sashimi model” (waterfall with overlapping phases), waterfall with subprojects, and waterfall with risk reduction and incremental waterfall model.