Waterfall Model is a sequential model that divides software development into different phases. The Waterfall Model is a linear sequential flow. In which progress is seen as flowing steadily downwards (like a waterfall) through the phases of software implementation. This means that any phase in the development process begins only if the previous phase is complete. The waterfall approach does not define the process to go back to the previous phase to handle changes in requirement.
Now lets discuss some of the advantages and disadvantages(drawbacks) of this type of Software Development Process.Remember it is the oldest and the most widely used process for software engineering.
Before the next phase of development, each phase must be completed
Suited for smaller projects where requirements are well defined
They should perform quality assurance test (Verification and Validation) before completing each stage
Elaborate documentation is done at every phase of the software’s development cycle
Project is completely dependent on project team with minimum client intervention
Any changes in software is made during the process of the development
Error can be fixed only during the phase
It is not desirable for complex project where requirement changes frequently
Clients valuable feedback cannot be included with ongoing development phase
Small changes or errors that arise in the completed software may cause a lot of problems
Testing period comes quite late in the developmental process
Documentation occupies a lot of time of developers and testers
Projects where Waterfall Method is suitable for SDLC (Software development lifecycle):
1) In development of database-related software, eg commercial projects.
2) In development of E-commerce website or portal.
3) In Development of network protocol software
4) Requirements are not changing frequently
5) Application is not complicated and big
6) Project is short
7) Environment is stable
8) Technology and tools used are not dynamic and is stable
9) Resources are available and trained
The major pitfall for the waterfall model that it is project implementation focused not a customer focused which cannot realize a quick business value to the customer. The customer should wait for the full lifecycle to see the outcome and this can be good or a disaster. That’s why choosing the proper model is very critical to be able to deliver the expected business value as needed.