Software Development through – Waterfall Model

What is a Waterfall Model ?

It is also known as the “Classic Life Cycle” model, follows the “Systematic, Sequential “approach of software development.

Situation Where Waterfall Model is Useful:

-When customer wants enhancement or adaptation in already existing software which is well developed then we can use waterfall model.
-Ex. Changes in the Accounting software because of the changes in the rules by government.
-Waterfall Model is also used to develop new software when requirements are completely understood and stable (will not change in the future).

Phases

  1. Communication:

Heavy communication and collaboration with stakeholders-to gather information and requirement of software and to define features and functions of software.

2. Planning:

Defines – schedule of the project, role of each team member, estimation of cost, deadlines or delivery dates of the working modules, what technical task to be performed, risk that can be occurred, and priorities of each module.

3. Modeling:

Design model of software is created to understand the requirements, features and functions of the software.

4. Construction:

Combination of code generation and testing.

5. Deployment:

Software is delivered to the customer, On the basis of the feedback from the customer, software development team makes changes to the software for better quality.

Advantages

•Systematic and Organized approach provides clear separation between different phases of software development.
•This model is simple and easy to understand and use.
•It is easy to manage due to the rigidity of the model – each phase has specific deliverable and a review process.
•In this model phases are processed and completed one at a time. Phases do not overlap.

Disadvantages

•Real projects rarely follows the sequential flow that waterfall model suggests.
•All real projects follow iterative approach indirectly. As a result of this, it causes the confusion among team members when the proceeds.
•It is difficult for the customer to state all the requirements at the beginning of the project.
•A working version of the product is available only late.
•So if there any bug in the software it becomes visible at late which is very dangerous.
•Waterfall Model has a problem of “Blocking States” means some team members has to wait for other team members to complete their dependent work.

Conclusion

Waterfall model is a perspective process model and it’s basically a classic model in which each phase is very sorted and separate from each other so,no confusion occurs but it is not suitable for the changing needs of the Industry as their are tremendous trends coming in the software industry which requires an advanced process of software development with fully defined phases.So, it is suitable for the freshers but they have to adapt and switch to the newer software development techniques.