In this article, we will discuss the classic waterfall model and modified waterfall model, we also discuss the drawbacks of strict waterfall model and also discuss phases of waterfall model. so let’s start
What is Waterfall Model?
Waterfall model is a software development model, which was the first Process Model to be introduced by Dr. Winston W. Royce in a paper published in 1970.
In classic waterfall, when we complete one phase only than we can begin to the next phase.
Classic waterfall model is also referred to as Linear-Sequential Life Cycle Model. This means whole software is developed in a linear sequence means one phase to another face sequence wise.
This model also referred to as a strict waterfall model because all the phases are strictly followed like a waterfall.
In this model, the whole software project is split up into separate phases. These phases follow up in sequence one after the other.
The whole process is divided into separate phases and processes work like a waterfall means when water is falling than water cannot come back. As the same apply in this model, when any phase is complete then we cannot come back to the previous phase.
For example, once we enter in coding phase than we cannot back to the design phase in the classic waterfall model.
Drawbacks of Classic waterfall model
Classic waterfall model cannot be used to develop the actual software project because it is not a practical model means we can’t apply this model practically in software development. The main reason is once we complete the one phase and move to the next phase than we can’t jump back to previous phases. That’s why we can’t use this model practically because today’s not possible, we can develop the software perfectly at once. When we develop any software, there can be many problems create at the time of developing as customer requirements change, customer wants new functionality or find some bugs in testing phase, etc. That’s why we can’t use this model practically, we can understand this model theoretically but can’t be applied.
Some points classic waterfall model disadvantages
- Freezing the requirements.
- Cannot go backwards.
- Poor model for long duration projects.
- High risk of failure.
- Customers have little interaction with the software development team.
- High amount of risk and uncertainty.
Modified Waterfall model
One of the main drawbacks of the strict waterfall model, once any problem is created at any particular phase in software development, there is no way to get back an earlier stage to solve the problem.
So to overcome this drawback, waterfall model has been modified to add feedback system between stages. So that if any problem found at one phase can cause remedial action to taken at the previous phase.
The main difference between classic and modified waterfall model is the feedback system, which provides to previous phases. If errors or problems are detected at any phase, these feedback system helps previous phases to correct errors or problems.
Modified waterfall model also referred to as iterative waterfall model
You can read this article: What is SDLC (Software Development Life Cycle)
Phases in waterfall model
Requirement Gathering and Analysis – In this phase, we collect all the software requirements from the customer through discussion and interviews and written in requirement specification document called SRS document.
This SRS document is the base of the software project because this document helps to develop the whole software project.
System Design – In this phase, requirements specification documents are used to prepare the system design.
System design is the process where we define system architecture, components, modules, interface, and data of a system using the requirement specification documents.
Implementation – In this phase, system design is used to develop the system, the system is first developed in small programs called units.
This is a coding phase, where programmers start to develop the system by writing code using the programming language. They already decided which language they use for developing the system.
Integration and Testing – In this phase, the testing team run our software and check whether software gives us the desired result or not.
Deployment of system − Once the testing is done, the product is deployed in the customer environment or released into the market.
Maintenance – Maintenance is the backbone of software success. When software is developed, then the software needs to be modified from time-to-time to keep it up to date with the environment changes and changing the user requirements.