What Can Agile Learn from Waterfall Project Management?
Agile and waterfall are two distinct project management methodologies. Agile is younger than waterfall and is very effective in today’s dynamic software development world. Can it learn something from it’s older sister?
Certainly - decades of waterfall project management established some tools and processes that agilists would benefit from, especially when it comes to project budgeting.
Agile vs Waterfall
Waterfall project management is linear; it divides assignments into discrete phases that occur in a sequence. PMs plan the project upfront and stick to the assumptions, working on them phase by phase. Once a stage is completed, they move on to the next one and there is no going back.
In contrast, agile is iterative and divides a project into sprints that are interconnected and influence each other, even though every sprint can be considered an individual project. Agile is reactive and thus effective at adapting to change.
Waterfall’s predictive approach - planning upfront
Most of your clients require a transparent project budget and need you to stick to it. However, agile projects are bound to change, so setting the right estimate may be problematic. What is more, as project work advances, uncertainty, risk, and influence on the project fall. However, the closer you are to finishing the project, the higher the cost of solving problems that arise - see the below diagram:
Is there a way to maximize influence and minimize the unexpected costs of solving potential problems? Yes - it’s the predictive approach in waterfall methodology. It focuses on planning upfront in order to translate known risks into cost/time and thus prepare you for the unexpected by securing additional budget/time for dealing with unknown risks. Let’s look at some useful tools.
Setting contingency buffers
To create a reliable budget, you have to acknowledge project risks. One way to minimize risk is to set a contingency buffer to cover potential costs. Map out the risks and evaluate them in terms of cost and probability - this would yield the total value of your contingency buffer which should keep your project on the safe side. Here’s what this evaluation could look like:
However, this will work only if you analyze the potential risks at every level of the project scope:
Not clear? The next chart better illustrates how we translate this calculation into Netguru reality:
We divide a project into user stories and tasks (look at the diagram from right to left). Task estimation is the cost of finishing a given task within a user story, while task contingency reserve is the budget set aside for known risks related to that task. Together, they make the user story estimation. By adding a calculated reserve, we set the epic estimation, which is our project budget. Then, we add a management reserve which represents unknown risks that could also influence the project. Combined, this budget should in fact be set and managed by the client.
Removing project redundancies from the scope
In an agile approach to project management, you start with a specific timeframe and/or budget and adjust the scope accordingly. It may be challenging to reduce the scope of the project to fit the client’s budget or timeline.
On the other hand, in the waterfall predictive approach to project management, the scope dictates everything: resource allocation, time, and budget, so make sure you understand it inside out.
Waterfall project management has a few smart tools to manage scope. One of them is a Deliverables x Requirements matrix. This tool allows you to map deliverables against specific requirements, helping you understand which deliverables are redundant (do not meet any of the requirements) and spot if a deliverable is actually missing (when one or more of the requirements are not covered). This way you can focus on delivering what is really needed and skip the nice-to-haves.
Applying waterfall project management budgeting to agile
Whether you are working to estimate the cost of a single development task or the whole project, the key is to divide work into stages and estimate each stage individually. Looking at project costs through the perspective of subsequent phases can help limit variability.
The first few days of the project are critical for the success of both discovery and delivery. Keep in mind that during the initial design phase the cost of implementing a change in the product is much smaller than during the development phase, so make sure you:
- Take your time to divide the work into smaller chunks
- Map the risks and prepare contingency plans
- Estimate the work with uncertainty priced in
- Monitor your plan so you can see early the discrepancies between reality and plan
- Take action, especially when your influence is still high.
The crucial position of a Project Manager
In making the predictions, the PM plays a crucial, integrating role: He combines the client’s requirements with the agile team to achieve the project goal. In this scenario, communication is the key to success, especially as the project evolves and the client needs to make informed decisions.
Agile stakeholder mapping can be a good starting point in facilitating that communication. List out all the project stakeholders and put them on a chart based on their power of influence and interest in the project:
However, the waterfall engagement matrix will help you take this to the next level: this tool allows you to move from mapping (analysing) to taking action. You start to think more strategically about your relations with stakeholders and you create an action plan for each relationship.
Communication with stakeholders in Netguru’s projects
At Netguru, every project has multiple stakeholders both on our and the client’s side. We find it useful to review internal stakeholders from time to time and think for a second whether their current engagement is on the desired level or whether some changes are needed - should it be increased or decreased?
The same approach applies to external stakeholders: We believe their engagement can be useful in different ways. That’s why we tend to ask our clients what is their communication strategy with investors and how we can help with that aspect of the business. Perhaps an advanced pitch-deck prepared by our designers or a weekly status summary by a PM will be a game-changer for you?
Enterprise clients may find it useful to identify a specific strategy on how they want their internal relationships to grow. Maybe you’d like to engage that one key stakeholder to speed up the project? Let us know - we’re flexible and eager to help.
Using waterfall in agile teams
Waterfall project management is more rigid than agile in that it takes a fixed approach to project scope and budget once they’re set. Agile embraces changes and responds to them effectively. Nonetheless, agile could use some of the tools and strategies used by waterfall, especially when it comes to setting budgets. Project Managers should play a crucial role in this process: By facilitating communication between all stakeholders and making sure agreement is reached on requirements, they can set more accurate budgets and plans while keeping all stakeholders happy.