Both have been around for some time, with Waterfall appearing some 50 years ago and Agile a relative newcomer, at about 20 years old. Both emerged as tools for principally managing software development but are now widely applied across very different types of projects.
WHAT IS THE DIFFERENCE?
To put it simply Waterfall is essentially making a good plan and sticking to it, while Agile utilizes a more flexible, iterative approach. Waterfall is more sequential and predefined, while Agile is more adaptable as a project progresses.
Agile is more a set of principles than one methodology. It is a practice based on continuous iterations of development and testing where such activities can run concurrently. Agile applications are characterized by a series of tasks that are designed, executed and adapted as the situation demands, rather than a pre-planned process.
Waterfall, on the other hand, is much more linear, focusing on up front planning with requirements fully defined before a project commences. Like its name suggests, work cascades, much like a waterfall, through different project phases. Each phase needs to be completed before the next one can begin.
SOME PROS AND CONS
- Agile’s flexibility avoids rigidity. Stakeholders and team members have opportunities to observe and test throughout the project which allows for adjustments and changes to be made as things move forward. This greater “user focus” means that on delivery it’s likely the outcome will be more in line with expectations – even if they have evolved along the way.
- Agile encourages teamwork, collaboration, self-organisation and accountability. This helps with overall motivation and commitment to a project’s outcomes and goals.
- Because of its flexibility and ability to adapt, an Agile project can run the risk of losing direction or falling behind schedule. Constantly iterating and re-aligning a project can easily stretch budgets and timelines.
- Adherence to Agile principles mean that team members are almost completely dedicated to the project which can be challenging from a resource or continuity point of view. While this kind of focus can lead to faster outcomes it may not lead to better ones if the project feels uncontained or has lost focus.
- Waterfall is particularly efficient for well-defined projects. Project stakeholders agree upfront on what will be delivered, which makes planning and design much easier. Progress is more easily tracked as the full scope of the project is known from the beginning.
- Unlike Agile, this more linear approach often means that team members only need to be available for their specific project phases and can thus continue to focus in other areas. Equally a project’s customers may only need to be involved heavily in the early initial scoping phase and then at delivery.
- On the downside, Waterfall requires comprehensive requirements up front which can sometimes be challenging for more complex or longer-term projects.
- Its sequential nature and reliance on pre-planning means there is a certain rigidity built into the project that makes mid-project pivots or directional shifts difficult to deploy without re-engineering all those pre-made plans.
HOW TO CHOOSE?
Agile makes sense where a project is based on incremental progress, complex deliverables or consists of multiple, not always sequential timelines. Projects that require cohesive and collaborative but cross-functional teams to deliver will need to take an Agile approach.
If processes or roles are unclear it makes room for figuring it out as the project goes along. It also allows for involving the project client at any stage along the way. Products that are developed in stages, updates or versions are particularly suited to Agile.
Waterfall is usually more suited to less complex projects or those that have well defined requirements, processes and roles for team members. Single delivery time-frames with lots of detail and an expectation that very little is likely to change along the way are ideal.
Waterfall also works well when the client is not required to be heavily involved beyond the initial brief and final delivery. From a management point of view, Waterfall can often make sense for fixed-price or contract dependent projects in order to lessen the risk of budget or delivery over-runs.