Introduction
In this article, we will learn why we need to use Agile methodology over the Waterfall model in the software development process.
Once you develop any product, the software development process is divided into multiple phases as described in the Waterfall model. On the other hand, the Agile methodology divides a project SDLC (Software Development Life Cycle) into multiple sprints. One of the major differences between Agile and Waterfall development methodologies is their individual approach towards application quality, accuracy, and application testing.
In this article, we will learn why we need to use Agile methodology over the Waterfall model in the software development process.
Once you develop any product, the software development process is divided into multiple phases as described in the Waterfall model. On the other hand, the Agile methodology divides a project SDLC (Software Development Life Cycle) into multiple sprints. One of the major differences between Agile and Waterfall development methodologies is their individual approach towards application quality, accuracy, and application testing.
What we will learn
- What is SDLC (Software development life cycle) ?
- What is Waterfall model?
- Drawbacks of Waterfall model.
- What is Agile methodology?
- What is Scrum in Agile?
- Multiple user roles in Scrum.
- Top 10 reasons to use Agile methodology in software development over Waterfall model.
Software development life cycle (SDLC)
SDLC is the acronym of Software Development Life Cycle. It is, likewise, called the Software development process. The SDLC is a system characterizing undertakings performed at every progression in the product development process. ISO/IEC 12207 is a worldwide standard for programming life-cycle forms.

Image source: http://www.slideshare.net/macjones25/system-development-life-cycle-sdlc-18888829
According to the above picture, we can understand easily that these are the necessary steps to develop any type of project.
Waterfall Model
The Waterfall model is a step by step process or sequential (non-iterative) design pattern that is used for software development. In Waterfall model, the process is seen as going steadily downwards like a steep fall or waterfall, through the stages of conception, planning, analysis, design, development, testing, production/implementation, and maintenance.
SDLC is the acronym of Software Development Life Cycle. It is, likewise, called the Software development process. The SDLC is a system characterizing undertakings performed at every progression in the product development process. ISO/IEC 12207 is a worldwide standard for programming life-cycle forms.

Image source: http://www.slideshare.net/macjones25/system-development-life-cycle-sdlc-18888829
According to the above picture, we can understand easily that these are the necessary steps to develop any type of project.
Waterfall Model
The Waterfall model is a step by step process or sequential (non-iterative) design pattern that is used for software development. In Waterfall model, the process is seen as going steadily downwards like a steep fall or waterfall, through the stages of conception, planning, analysis, design, development, testing, production/implementation, and maintenance.
Image source: https://www.itsmonkie.co.uk/basics-waterfall-agile-software-development-processes/
From the above image, we can easily understand the flow of software development process in the waterfall model. There are several drawbacks of the Waterfall model, as explained below.
Drawbacks of Waterfall model
Once an application is moved to the testing phase, it is very tough to go back and apply some unforeseen changes that were not planned properly in the planning phase. No working software is produced until late in the life cycle of the SDLC process. A huge amount of risk and uncertainty is attached to the Waterfall model approach. I have faced some new issues with the Waterfall model, as listed below.
From the above image, we can easily understand the flow of software development process in the waterfall model. There are several drawbacks of the Waterfall model, as explained below.
Drawbacks of Waterfall model
Once an application is moved to the testing phase, it is very tough to go back and apply some unforeseen changes that were not planned properly in the planning phase. No working software is produced until late in the life cycle of the SDLC process. A huge amount of risk and uncertainty is attached to the Waterfall model approach. I have faced some new issues with the Waterfall model, as listed below.
- Unclear requirements
- Requirement changes
- Lack of involvement of the customers
- Doubtful accuracy of estimation
- Uneven loading of the resources
- Last minute correction is difficult
- Not much time for testing
- No time to fix test defects
- A lot of documentation
- Schedule and cost overruns
- Lots of midnight oil burning before final delivery
- Often the customers are not happy

Meagan JacksonPosted Aug 31, 2017, 1:22 AM
Nice article. I totally agree to you that have waterfall methodology in place if you are not clear about the requirement. On the other hand, Agile helps the developers to keep on updating with the changes and make the final software best. It is always good to know the advantages and disadvantages of different software development methodologies and this article offers a lot of information so check out this article: https://www.weblineindia.com/blog/top-15-software-development-methodologies-with-advantages-and-disadvantages/
Vishal PrajapatiPosted Jan 16, 2017, 10:27 PM
Thanks for sharing..........................