No project manager wants to tell a client that their project is going over budget. And yet, many find themselves in this situation: Recent research shows projects are mostly or always delivered on budget at only 43% of organizations.
Budgeting is always a tricky process—the final figure needs to factor in a cushion without overreaching—but doing so within an Agile environment can be trickier. Agile budgeting and forecasting requires a different approach than that of traditional waterfall project management where the scope is identified in advance and fixed. One of the great strengths of Agile is its emphasis on adaptability, as a project is likely to evolve quickly and often, and the target may shift. So, if the end goal changes, how can you deliver results within a budget that was agreed upon at the outset?
To mitigate the risk of overspend, it is essential to develop a realistic yet flexible budget, maintain a sustainable and transparent schedule, and reprioritize features continually. The ability to shape the client’s conception of what the budgeting process will look like is also crucial. In addition to boosting your chances of delivering the project on budget, meeting these challenges will also enhance the quality of your final product. The following guidance from experienced Agile project managers can help you achieve these outcomes.
Establish Context and Set Expectations
The first step when engaging with any client on a project should be to identify and agree upon not only the “What” but, more importantly, the “Why.”
Anuj Datta, a program director and business management consultant with experience managing budgets for major financial services companies, always establishes why a client is creating a product or service. This is necessary, he says, because what a client wants may not be what they actually need. “Say they want a Ferrari, for example, but if they just need to get from A to B, then it would be cheaper and easier to build a scooter.”
You also need to know who the client’s end users are, he says. Knowing what they are trying to achieve by using the product, and why they’re trying to achieve it, will help you focus on value, designate project priorities, and guide stakeholders toward common goals.
If clients begin with a fixed idea of costs in mind, ask why they have landed on a particular budget. If their budget is based on a competitor’s, for example, you can point out the ways in which the two companies’ resources may differ. If it’s based on a past project, consider the factors that could create cost discrepancies. This will empower you to determine whether the desired outcome is achievable within your client’s financial framework and will allow you to work with them to adjust as needed.
To better guide clients in cost setting, you should present several options based on the product they want to create and come up with a range based on two or three options: an MVP, a scalable product, and one option that is exactly what they are trying to achieve.
Lastly, set expectations by ensuring that your client has a clear understanding of Agile values. Establishing that change is an expected and welcome part of the process will create flexibility down the line. If there is uncertainty around a feature that may incur additional costs, try to be as transparent as possible about this upfront, says project management expert and experienced Agile strategist Andrew Lester: “You need to understand all the variables yourself and be able to present and discuss those with the client.”
Calculate What You Can and Adjust as You Go
It is impossible to know exactly how a project will play out. As an Agile project manager, however, you have information at your disposal that can help increase the accuracy of predicted costs.
When starting a project, and once all client requirements have been understood, Agile teams use various estimation techniques to understand the scale, risk, and complexity of each requirement. Once all tasks have been evaluated, the project manager can estimate the overall time and budget required for the project, based on the duration and number of sprints, as well as the size and cost of the team.
Datta explains: “A great feature of Agile is that you will usually—although not always—have a fixed team, so you can, to some degree, forecast how much each sprint will cost in staff resources. On some projects, people are moved around between sprints, but a good way to ensure you don’t lose control is by committing your resources to a single project.”
Use your team’s day rate to work out costs for each stage of the project. For example, if it is estimated that a store landing page will take four weeks to complete and your team costs $10,000 per week, then you can forecast a spend of $40,000 to create the landing page. Tracking velocity as the project develops is key to maintaining control of your budget. It will help you determine whether your estimates are accurate or need to be adjusted, says Jon McGowan, an Agile transformation specialist who has led projects for several major banks.
Lester agrees: “If, after a few sprints, your velocity isn’t meeting your original assumptions, you can make a decision with the client: Lessen the scope and keep the budget the same or add developers to increase velocity but increase the budget.”
“An Agile plan becomes more of a reality as you move through the project,” he continues. “About a third to halfway through, you should be able to see exactly how you’re going to hit the endpoint. To keep on budget from there, your run rate really just has to remain constant.”
Keep Clients Involved Throughout the Process
Once you have agreed upon the budget and outcomes with the client, it is vital to continue communicating as the project progresses. Client collaboration is a core pillar of Agile practices, but some teams fail to solicit client input regularly. Particularly if they are new to Agile, teams may default to a waterfall mentality, believing that they know what the client wants and therefore only need to engage with them again at the end of the project to showcase the finished product. This lack of communication drastically increases the risk of going over budget due to factors such as scope creep.
By engaging with clients at regular intervals—ideally after each sprint—you can ensure the project stays aligned with their expectations. You can accommodate changes to requirements as they arise, rather than trying to integrate them toward the end of the project, when the budget may be exhausted.
“What the client wants is likely to change along the way as they see what has been delivered and as other factors continue to play out behind the curtains over time,” Datta says. “When you demonstrate back to the client at the end of each sprint, their feedback can help you prioritize the backlog and add or remove features.”
Input on prioritization is especially important if you are adjusting the scope, says Lester: “If you’ve made the choice to fix the budget but adjust the scope, then you should only be doing the highest-priority tasks.”
Adjustments to a project’s scope may be necessary even if your velocity is as predicted. Some product features may turn out to be more complicated than expected and require more effort, time, and cost. To prevent overspend, project goals and deliverables need to be revisited.
Your client should also understand that there needs to be variability in the scope, McGowan says: “It might mean cutting certain stories, but it will allow you to keep your project on time and on budget. This is a big change from waterfall projects, where the scope is fixed. Imposing a fixed-scope project charter on an Agile team is a common pitfall and removes all flexibility.”
One way to keep your client in the loop is to offer them access to a burndown chart, where they can view project progress, including what has been achieved and how many sprints remain. This will give them a better idea of how their money is being spent.
Balancing the Budget
The key to managing budgets for Agile projects is to use what you know while acknowledging and leaving room for what you don’t. Make use of the information you have to identify what is achievable with the time, skills, and money available, but adopt a flexible mindset and open communication to allow for true agility. By setting expectations appropriately, guiding your client and team, and adjusting targets as needed, you can master this balancing act.
This Agile budgeting and forecasting infographic combines our experts’ top tips for how to create an effective process that clearly sets expectations at the outset of a project. Doing so will ensure that the end product aligns with client demands, user needs, and financial resources.
Further Reading on the Toptal Projects Blog:
- The Ultimate Introduction to Agile Project Management
- What Is Agile? A Philosophy That Develops Through Practice
- Using Agile Spreadsheets for Discovery Estimation
- The Project Management Blueprint Part 1: A Comprehensive Comparison of Agile, Scrum, Kanban, and Lean
- The Project Management Blueprint Part 2: A Comprehensive Comparison of Waterfall, DAD, SAFe, LeSS, and Scrum@Scale
Understanding the basics
A budget is an agreed total amount, set at the beginning of a project, that the end product must not exceed. To allow for change—which is highly likely in an Agile project—and avoid cost overrun, the scope must be flexible.
If a budget is fixed, then an Agile approach requires variability in the scope of the project. After each sprint, the project manager, together with the client, must assess progress and reprioritize or remove features accordingly.
An Agile budget is usually a range set by the client, but it is up to the project manager to determine what can be delivered with the proposed financial resources and time frame. The budget may be adjusted based on the result of a project estimation and after discussion with the client about their needs.