You are on page 1of 6

Waterfall Model

The waterfall model is a popular version of the systems development life


cycle model for software engineering. Often considered the classic approach
to the systems development life cycle, the waterfall model describes a
development method that is linear and sequential. Waterfall development
has distinct goals for each phase of development. Imagine a waterfall on the
cliff of a steep mountain. Once the water has flowed over the edge of the cliff
and has begun its journey down the side of the mountain, it cannot turn
back. It is the same with waterfall development. Once a phase of
development is completed, the development proceeds to the next phase and
there is no turning back.
The advantage of waterfall development is that it allows for
departmentalization and managerial control. A schedule can be set with
deadlines for each stage of development and a product can proceed through
the development process like a car in a carwash, and theoretically, be
delivered on time. Development moves from concept, through design,
implementation, testing, installation, troubleshooting, and ends up at
operation and maintenance. Each phase of development proceeds in strict
order, without any overlapping steps.

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.

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.

Conclusion:
i will prefer to say Waterfall Model is a document driven and well organized
process model which will lead to a concrete , more secured and reliable
softwares.

You might also like