You are on page 1of 4

All About the Waterfall Model

The waterfall model is a model which was developed for software development; that is to create
software. It is called as such because the model develops systematically from one phase to other
in a downward fashion, like a waterfall.
The most probable phases through which it progresses downwards are

Definition Study/Analysis
Basic Design
Technical Design/Detailed Design
Construction
Testing
Integration
Management and
Maintenance.

Waterfall Model

Before the advent of this method, the software development in the computer companies suffered
from a haphazard integrated software network like cluttered knitting. However with this method
they hoped to bring clarity in their projects.

About the Phases


As said earlier the waterfall model has been structured on multiple phases especially to help out
the software construction companies to develop an organized system of construction. By
following this method, the project will be divided into many stages thus easing out the whole
process. For example you start with Phase I and according to this model, one only progresses to
the next Phase once the previous one has been completed. This way one moves progressively to
the final stage and once that point is reached, you cannot turn back; similar to the water in a
waterfall.

Brief Description of the Phases of


Waterfall Model

Definition Study / Analysis: During this phase research is being conducted which
includes brainstorming about the software, what it is going to be and what purpose is it going to
fulfill.

Basic Design: If the first phase gets successfully completed and a well thought out plan
for the software development has been laid then the next step involves formulating the basic
design of the software on paper.

Technical Design / Detail Design: After the basic design gets approved, then a more
elaborated technical design can be planned. Here the functions of each of the part are decided
and the engineering units are placed for example modules, programs etc.

Construction / Implementation: In this phase the source code of the programs is


written.

Testing: At this phase, the whole design and its construction is put under a test to check
its functionality. If there are any errors then they will surface at this point of the process.

Integration: in the phase of Integration, the company puts it in use after the system has
been successfully tested.

Management and Maintenance: Maintenance and management is needed to ensure


that the system will continue to perform as desired.
Through the above mentioned steps it is clearly shown that the Waterfall model was meant to
function in a systematic way that takes the production of the software from the basic step going
downwards towards detailing just like a Waterfall which begins at the top of the cliff and goes
downwards but not backwards.

History of the Waterfall Model


The history of the Waterfall model is somewhat disrupted. It is often said or believed that the
model was first put forth by Winston Royce in 1970 in one of his articles; whereas he did not even
used the word waterfall. In fact Royce later presented this model to depict a failure or a flaw in
a non-working model. So later on, this term was mostly used in writing about something that is
often wrongly done in the process of software development like a common malpractice.
Royce was more of the opinion that a successful model should have the allowance of repetition or
to go back and forth between phases which the waterfall model does not do. He examined the
first draft of this model and documented that a recurrent method should be developed in this
model. He felt the need of progressing only after a feedback from the previous stage has been
received. This is known as the Iterative model.
As opposed to the Waterfall model, the Iterative model is more practical and has room for
maneuver. Followers of the Iterative method perceive the Waterfall model as inappropriate.

Advantages of the Waterfall Model


Lets look at some of the advantages of this model,

The project requires the fulfillment of one phase, before proceeding to the next.
Therefore if there is a fault in this software it will be detected during one of the initial phases and
will be sealed off for correction.

A lot of emphasis is laid on paperwork in this method as compared to the newer methods.
When new workers enter the project, it is easier for them to carry on the work from where it had
been left. The newer methods dont document their developmental process which makes it

difficult for a newer member of the team to understand what step is going to follow next. The
Waterfall Model is a straight forward method and lets one know easily what stage is in progress.

The Waterfall method is also well known amongst the software developers therefore it is
easy to use. It is easier to develop various software through this method in short span of time.

Disadvantages of the Waterfall Model


There are many disadvantages to the model as well. Lets have a look at those,

Many software projects are dependent upon external factors; out of which the client for
which the software is being designed is the biggest factor. It happens a lot of times, that the
client changes the requirement of the project, thereby influencing an alteration in the normal
plan of construction and hence the functionality as well. The Waterfall Model doesnt work well in
a situation like this as it assumes no alteration to occur once the process has started according to
plan.
If, for instance, this happens in a Waterfall Model, then a number of steps would go to waste, and
there would arise a need to start everything all over again. Of course this also brings about the
aspect of time and money which will all go to waste. Therefore this method will not at all prove to
be cost effective. It is not even easy to take out the cost estimate of each step, as each of the
phases is quite big.
There are many other software developmental models which include many of the same aspects
of the Waterfall model. But unlike the Waterfall model, these methods are not largely affected by
the outside sources. In the waterfall model, there are many different people working in the
different phases of the project like the designers and builders and each carries his own opinion
regarding his area of expertise. The design, therefore, is bound to be influenced; however in the
Waterfall model, there is no room for that.

The other negative aspect of this model is that a huge amount of time is also wasted. For
example if we study any software development process, we know that Phase II cannot be
executed until Phase I has been successfully completed; so while the designers are still designing
the software, time of the builders is completely wasted.

Another disadvantage of this method is that the testing period comes quite late in the
developmental process; whereas in various other developmental programs the designs would be
tested a lot sooner to find the flaw at a time when a lot of time and money has not been wasted.

Elaborate documentation during the Waterfall method has its advantages, but it is not
without the disadvantages as well. It takes a lot of effort and time, which is why it is not suitable
for smaller projects.

Modified Waterfall Models


Due to the various disadvantages a lot of other modified versions of this model have also been
put forth and some of these are mentioned below:

Royce Model
Although not documented as the Waterfall Model, Winston W. Royce is credited with the first
formal description of what we no know as the Waterfall Model in 1970. In his original definition,
the model consisted of the following steps: Requirements specification, Design, Construction (or
coding in todays terms), integration, testing and debugging, installation, and maintenance.

Sashimi Model
Sashimi is a true modified version of the Waterfall model. The phases are somewhat the same as
in the Waterfall Model; only this time the phases are overlapping each other which present many
advantages. For example the time wont be wasted because before Phase I would be completed,
Phase II would already be underway. Moreover, since they overlap, so one can return to the

previous step if desired.

Aorta Lifecycle Model


The difference in this model is that they rely a lot on the feedback which comes from other
phases before progressing onto the next.

V Waterfall Model
The V Waterfall Model relies on a linear software developmental program which stresses on
balanced development more than anything else.

You might also like