Co-Authored by Olya Bogoyevich, Product Manager, and Eddy Isenberg, Senior Project Manager
The project management process has evolved over time. With different types of projects and different types of industries there are multiple ways today that are available to run projects successfully, on budgets and on time.
The two most popular strategies are known as “Waterfall” and “Agile”. What are the pros and cons of each, and when you should use one over the other?
The Waterfall Method
The Waterfall methodology was introduced as an idea in a paper published by Winston Royce in 1970. This methodology has been successfully accepted over the years. The Waterfall model is a very structured approach to project management. All the details of the projects need to be known and documented before the project can start. Every step is dependent on the previous step being completed and approved.
At the onset of a project, a schedule is developed based on the end date of every task. The entire project is defined and scheduled before the project begins. If a targeted due date is missed, the balance of the project timeline can be slid to maintain other predefined sectional timelines.
The Agile Method
The Agile methodology, evolved in the 1990s, when software developers broke away from structured, segmented approaches in favour of a more flexible development approach. But the Agile method was first defined in a paper by Edmonds in 1974. Some of the most popular Agile methods that have evolved, are “Scrum” and “Adaptive Software Development”.
In 2001, a group of Agile software developers created the ‘Agile Manifesto’, which is a set of rules for agile software development.
What are the main differences between Waterfall and Agile and when to use each one?
Waterfall as the name suggests is a stepped process. Just like a waterfall, the water progressively falls from one section to the next lower section.
With the Waterfall methodology, development moves from step to step once the previous step is completed and approved. Companies adopting this method, spend considerable time preparation and documentation before starting the actual work. The belief here is that every little step, requirement, milestone, delivery date and so on, needs to be known up front.
There are little or no changes allowed in the whole process.
Agile as the name suggests refers to agility and adaptability. Unlike the more time consuming rigid Waterfall schedule the Agile methodology involves a schedule where team works on a smaller tasks within shorter period of time (SCRUM). During this period no changes are allowed. However, because each step moving toward the final project is smaller in scope, change is possible after each step. This helps to improve the overall output with every iteration.
Each cycle goes through all the various steps followed in the waterfall example, but they are all done at the same time. The design and development is not set-in-stone and is kept open to last minute changes which can be added to with every new iteration. In this way the finished product can evolve as new ideas come in with each new revision. Revisions may continue until the customer gets the product that meets his/her expectations.
Both Agile and Waterfall methodologies are applicable for different types of projects. The method you deploy depends a lot more on the budgets, team, effort, programmers and timeline that you have to complete the project. Consideration should also be given to the design and user experience.
Is the project well defined and rigid? If so, Waterfall would work best. However, if the project requires flexibility as it is designed and implemented, Agile would be best.
The last consideration is to choose a methodology that best suits the experience of your team.