Agile and Waterfall - A Match Made in Heaven?
Agile and Waterfall are two methodologies to complete projects or work items. Agile is an iterative methodology that incorporates a cyclic and collaborative process. One could see this as an iterative method to reach a goal. Waterfall, on the other hand, is a sequential methodology that can also be collaborative, but tasks are generally handled in a more linear process. One could see this as a method that sets a road to reach the goal.
Waterfall vs Agile
Waterfall methods work best on projects to be completed in a linear progress, and thus not allowing to revert to a previous phase. This methodology fits clearly defined deliverables, clear project deadlines and a lower level of uniqueness of the project outcome. These characteristics allow setting a budget next to a schedule and deliverables.
Agile methods tend to break projects into smaller iterative periods. The main focus here is flexibility: when the end goal is not clear, or when iterations might be needed in order to further develop while clarifying the end product. Scope is addressed during the project by prioritizing backlog items during sprint preparations.
Waterfall has the advantage of having clear milestones, a defined project goal, timing and budget. Agile on the other hand allows for flexibility, iterations, incremental delivery and customer impact.
Match made in heaven?
Waterfall, with its rather rigid schedule, scope and budget, can be combined with Agile, for iterative and flexible design, and at first sight combining the two seems the holy grail for many project managers. But this combination calls - as for many holy grails - for some rationality in usage.
Both methodologies have their advantages and their disadvantages, but they can indeed be combined to a certain extent into a hybrid. Each combination should be well evaluated before the installation of the hybrid methodology.
Projects are not necessarily pure waterfall or pure agile - increasing forms of agility can be incorporated into waterfall projects. There is a continuum from pure waterfall to pure agile.
Strict waterfall projects aim to deliver the project outcome at the end date of the project. Agile projects (let's assume Scrum, as it is a wide-spread Agile methodology) work with several releases of the deliverable. When we want to combine these two, there is often an advance in having interim deliveries of parts of the project deliverable during the project. For this reason, a realization of development could be split into several sprints, in which a sprint demo could be planned at the end of each equal time interval. This can also be realized in a waterfall project.
This kind of integration of Agile in a Waterfall is a quick win for a lot of projects. Here we only include some Agile elements in our still mainly Waterfall project. At the other side of the spectrum, we can also find Waterfall projects in which several deliverables are realized in Agile subprojects.
The above example adds the advantage of gradual delivery and more involvement of the stakeholders. It also helps in assuring the development is going in the right direction, as initially intended by the stakeholders. Concepts like 'product owner', 'sprints', 'sprint demo' or even 'retrospective' can be included in the waterfall methodology. But bear in mind not to overkill the organization of the project if not needed. Each ceremony which is set up will also consume project resources.
And what about a full combo?
Even a full combination of both methodologies is not possible. A Waterfall project will start from a well-defined scope and will be split into a work breakdown structure with tasks and dependencies, and a budget will result from this at the very beginning of the project. Agile projects will start from a much less defined deliverable and will work in iterations with a degree of freedom in choosing next deliveries (backlog prioritization).
When starting from a Waterfall project with a defined scope and budget, it will in most cases not increase your efficiency to perform planning poker meetings to re-estimate the backlog of each sprint.
On the other hand, having regular stand-up meetings with several audiences often helps the progress of the project, as even in Waterfall projects things are not always fully defined as of the beginning of the project.
Revisiting already delivered scope items is also something which shouldn't be done in a Waterfall project, while Agile allows for this kind of iterative progress. This would be conflicting with the budget in a Waterfall project.
Parameters on the Agile versus Waterfall scale, that make sense to play with, are the number of processes and tools, the level of detail on documentation and responsiveness to change (which can also be a change request procedure).
So, is the golden combo out there?
Although there is not one golden combination representing the holy grail for project management, there are still several forms of hybrid methodologies possible, each combining sets of Waterfall and Agile characteristics. Some of these combinations will contribute to your project execution, though others are not compatible with each other.
We at CANGURU are very familiar with both processes and combining them to make the most perfect match for that specific project. Do you need help? Let's talk!