Waterfall Model
Waterfall Model
WhatIs.com
The waterfall model is a linear, sequential approach to the software development life cycle (SDLC) that is
popular in software engineering and product development. The waterfall model emphasizes a
logical progression of steps. Similar to the direction water flows over the edge of a cliff, distinct
endpoints or goals are set for each phase of development and cannot be revisited after completion. The
term was first introduced in a paper published in 1970 by Dr. Winston W. Royce and continues to be
used in applications of industrial design.
1. Requirements: Potential requirements, deadlines and guidelines for the project are analyzed
and placed into a functional specification. This stage handles the defining and planning of the
project without mentioning specific processes.
4. Coding/Implementation: The source code isdeveloped using the models, logic and requirements
designated in the prior stages. Typically, the system is designed in smaller components, or units,
before being implemented together.
5. Testing: This is when quality assurance, unit, system and beta tests take place to report issues
that may need to be resolved. This may cause a forced repeat of the coding stage for debugging.
If the system passes the tests, the waterfall continues forward.
Before moving to the next phase, there is usually a review and sign off process to ensure that all defined
goals have been met.
The waterfall approach is ideal for projects that have specific documentation, fixed requirements, ample
resources, an established timeline and well-understood technology. Alternatives to the waterfall model
include joint application development (JAD), rapid application development (RAD), sync-and-stabilize,
Agile project management (APM) and the spiral model.
While agile or dynamic methods often replace the waterfall model, there are some advantages:
Upfront documentation and planning stages allow for large or shifting teams to remain
informed and move towards a common goal.
Reinforces good coding habits to define before design and then code.
The disadvantages of the waterfall model typically surround risk associated with a lack of revision,
including:
Design is not adaptive; often when a flaw is found, the entire process needs to start over.
Ignores the potential to receive mid-process user or client feedback and make changes based on
results.
Does not handle requests for changes, scope adjustments or updates well.
No working product is available until the later stages of the life cycle.
What processes does your organization use the waterfall model to carry out?
Definition: The waterfall model is a classical model used in system development life cycle to create a
system with a linear and sequential approach. It is termed as waterfall because the model develops
systematically from one phase to another in a downward fashion. This model is divided into different
phases and the output of one phase is used as the input of the next phase. Every phase has to be
completed before the next phase starts and there is no overlapping of the phases.
1. Requirement Gathering- All possible requirements are captured in product requirement documents.
2. Analysis Read - the requirement and based on analysis define the schemas, models and business
rules.
4. Implementation Development of the software in the small units with functional testing.
5. Integration and Testing Integrating of each unit developed in previous phase and post integration test
the entire system for any faults.
6. Deployment of system - Make the product live on production environment after all functional and
nonfunctional testing completed.
7. Maintenance Fixing issues and release new version with the issue patches as required.
Advantages: 1. Easy to use, simple and understandable, 2. Easy to manage as each phase has specific
outputs and review process, 3. Clearly-defined stages, 4. Works well for smaller projects where
requirements are very clear, 5. Process and output of each phase are clearly mentioned in the
document.
Disadvantages: 1. It doesn’t allow much reflection or revision. When the product is in testing phase, it is
very difficult to go back and change something which is left during the requirement analysis phase.
5. As testing is done at a later phase. So, there is a chance that challenges and risks at earlier phases are
not identified.
What is Waterfall Model in SDLC? Advantages & Disadvantages
Waterfall Model is a sequential model that divides software development into different phases. Each
phase is designed for performing specific activity during SDLC phase. It was introduced in 1970 by
Winston Royce.
Requirement Gathering During this phase, detailed requirements of the software system to be developed are
stage gathered from client
Design Stage Plan the programming language, for Example Java, PHP, .net
Test Stage In this phase, you test the software to verify that it is built as per the specifications
given by the client.
Maintenance stage Once your system is ready to use, you may later require change the code as per
customer request
Project is short
Requirement is clear
Environment is stable
Advantages Dis-Advantages
Before the next phase of development, Error can be fixed only during the phase
each phase must be completed
Suited for smaller projects where It is not desirable for complex project
requirements are well defined where requirement changes frequently
They should perform quality assurance Testing period comes quite late in the
test (Verification and Validation) before developmental process
completing each stage
Any changes in software is made during Small changes or errors that arise in the
the process of the development completed software may cause a lot of
problems