How to Manage Modern Software Projects: Waterfall vs. Agile

Always interesting to read a pro/con analysis between Waterfall & Agile methodologies.

Waterfall Pros

It is easy to understand and manage as stages are clearly defined.
Meticulous record keeping and documentation.
Client knows what to expect. Client will have an idea of the size, cost and timeline for the project. The client will have a definite idea of what their product will do in the end.
In the case of employee turnover, waterfall’s strong documentation allows for minimal project impact

Waterfall Cons
It often becomes rigid and resistant to change.
It relies heavily on initial requirements. However if these requirements are faulty in any manner, the project is doomed.
The whole product is only tested at the end. If errors are discovered late in the process, their existence may have affected the rest of the project.
The plan does not take into account a client’s evolving needs throughout the project cycle.

Agile Pros
It allows for changes to be made after the initial planning stage. It follows client’s requirements changes.
It is easier to add features that will keep the product up to date with the latest developments in the industry.
At the end of each sprint, project priorities are evaluated. This allows clients to add their feedback, so that they ultimately get the product they desire.
The testing at the end of each sprint ensures that the errors are caught in each cycle.

Agile Cons
This dynamic methodology is not suitable for processes that require a complex decision making of formal planning such as construction, manufacturing, military, health care system among others.
As the initial project does not have a definitive plan, the final product can be grossly different that what was initially intended.

Author = Liz Parody (Moove-it, via Medium)

https://medium.com/@lizparody/waterfall-vs-agile-methodology-in-software-development-1e19ef168cf6