Since the Agile Manifesto was first conceived back in 2001, mastering Agile project management has become the holy grail of many product managers.
And the buzz is justified. According to the VersionOne 2016 State of Agile Report, 98% of participants claim that their organization has realized success from Agile projects. Similarly, other studies have found that an Agile approach can speed up delivery time to market by an average of 37% and raise team productivity by 16%.
As a result, the question around Agile isn’t so much, “Should we try it?” (as the outcomes speak for themselves) but “How can we make Agile work for our company and project team?”
We spoke with five successful Agile teams during research for our Agile guide to software project management. In this article, we’ll share some of their strategies for turning the essence of the Agile Manifesto into action, starting with an accurate, yet flexible, project budget.
Check out this video for more on the advantages of Agile portfolio management.
Flexible processes lead to accurate project budgets
When a software development project is launched, it’s usually been proposed for one of two reasons: either stakeholders have a ground-breaking idea that they’d like to implement, or they have a pain point that they require a solution for. However, whether the stakeholder will go ahead with the project will likely come down to whether it seems like a good investment.
What’s more, with one in six IT projects having a cost overrun of 200% and a schedule overrun of almost 70%, stakeholders will want the budget for the project (both in terms of cost and implementation time) to be accurate.
Unfortunately, when it comes to software there’s a strong potential for change along the way, much of which could throw your initial budget off course. It might be that during the development of the ground-breaking product, a competitor enters the market. Or perhaps the IT solution to the pain point is too complex for the non-technical members of your stakeholder’s team, requiring a redesign.
To offset these risks, it’s essential that Agile teams:
- calculate an accurate budget that takes into account all key elements required by the stakeholder, in terms of both cost and time commitments
- establish processes that enable the budget to be flexible, in terms of swapping features/elements in and out following stakeholder feedback, so the project can remain Agile without going over budget
4 strategies for establishing accurate project budgeting
The following four strategies will assist Agile teams in being flexible, incorporating input from all stakeholders at every iteration, and delivering a refined product within budget.
1. Ensure all key elements are in the shared project scope
Creating a realistic project budget requires your team to first establish the expectations and requirements of your stakeholders. In order to do this, U.K. software development company IT Enterprise creates a project mind map for each new project, which they share with their client during the project consultation stage.
“Having client requirements displayed in a visual way immediately demonstrates the complexity of the project to both us and the client,” IT Enterprise founder Thomas De Vos shares. “Linking different sections of the mind map allows the team to visualize interactions between different project areas, while defining the client’s user story and how we will go about achieving it.”
An Agile budget mind map
Prior to taking this approach, the team found that client requirements would occasionally slip between the gaps at this initial planning stage. This meant that some features could be missed from the initial project plan and subsequent budget, leading to some difficult conversations and cost recalculations further down the line.
By sharing a visual idea of project scope with the client ahead of any agreements being signed, your project team can ensure that what is included within your project scope (and budget) aligns with your stakeholders’ expectations.
You can then go on to provide a realistic project budget, ensuring that all key features have been considered in that price.
2. Establish a process for refining the budget
Once you have a clear idea of the project requirements, you can begin to calculate what you expect the work to cost.
U.S. Agile development company Praxent uses the cone of uncertainty to develop a realistic budget for their software projects.
A cone of uncertainty from Praxent
“We use the Fibonacci sequence to size new feature requests,” Praxent CEO Tim Hamilton shares. “But staying within scope begins with accurately pricing the product from the very beginning.”
Praxent’s process for establishing a realistic budget begins with three phases covering product definition, product requirements, and UX design:
- Product definition phase: In this phase, no prices are provided but the concept behind the project is established.
- Detailed requirements phase: In this phase, the team estimates the general cost of product development, based both off the client’s ability to pay and the perceived difficulty of the project.
- User interface design phase: In this phase, Praxent creates a clickable software product prototype within the estimated budget, then re-prioritizes project objectives where appropriate, in collaboration with the client. Finally, the team can provide a finalized quote, using the findings from the prototype discovery and usability testing.
The three-phase process enables the team to not only establish the key criteria for the budget, but also set up a collaborative approach, which puts the stakeholders in the driving seat for objective and feature prioritization.
All of this will help towards creating both a realistic budget and a refined product, enabling the stakeholders to swap in and out features while keeping an eye on the budget. But we’ll come back to this in the next point.
As a result, with their budgeting process, Hamilton shares that the Praxent team has been able to manage and even exceed budget and scope expectations for their projects.
3. Use a collaborative solution to manage feature prioritization
One of the key values of the Agile Manifesto is that “changing environments are embraced at every stage of the process to provide the customer with a competitive advantage.”
The ability to adapt to evolving markets and changing business requirements is what makes Agile unique.
However, in order to evolve the project and welcome stakeholder feedback at every project iteration, it’s essential to build a collaborative workflow with your stakeholders for feature prioritization. By enabling your stakeholders to witness project progression transparently, and providing them the power to ‘swap in’ and ‘swap out’ features from sprints, you’ll ensure you provide a product they love, without spilling over budget due to additional features.
Below are two options for collaborating on features.
Track via a physical Scrum board for sprints
“We keep track of scope with our clients by using different colored task cards on our project management wallboard to represent items that were added after a release plan was created. This makes it visually easy (for both us and the client) to identify items or features that were added after the initial project scope, so need to be traded with another feature of equivalent development hours in order to stay within budget, or postponed to a later release.” -Jonathan Roger, operations director and certified Scrum master at AndPlus
A Kanban board
Manage project scope via an online collaboration tool
Software team Praxent takes a similarly visual and transparent approach to scope management by using an online collaboration tool. Their solution displays all data needed to keep clients up-to-date on project momentum, budget health, scope management, and rate of spending.
“The dashboard provides a play-by-play on feature development progress, allowing clients to see the impact it would have on production should they decide to shift direction or re-prioritize,” Hamilton says.
By enabling your clients to track project progress transparently, while controlling feature and budget management, you can ensure their opinion is integrated at every stage, while still ensuring that the project won’t spiral out of hand.
Look for an online task management tool that enables you to include details within each task, such as time estimations, in order to enable transparency over time and budget commitments. That way, you can provide your client with the ability to manage feature prioritization while remaining informed of how the changes will affect the budget.
4. Use your budget as a means to create a refined product
By taking the former steps to ensure your team develops a clear project scope and budget, accompanied with workflows that enable features to be swapped in and out of that scope, you can ensure that your stakeholder does not go overboard with feature requests. This will, in turn, help you to develop a more refined product.
Jói Sigurdsson, founder of CrankWheel, found that cutting back on unnecessary features actually enabled their team to align their business and user priorities.
Through customer feedback, Sigurdsson says, “We discovered that many of our intended features were actually unwanted by our prospects. We’d hear the phrase ‘we could turn off that feature’ a lot, so we did, and ended building a much simpler, more targeted product than we would have otherwise.”
Once you have strong feedback from your stakeholders on the essential features, a Kanban board can assist with feature management. By laying out all tasks within a project sprint, and sharing this sprint roadmap with your stakeholders, you can define a limit on the amount of feature tasks per sprint. This will ensure that the project is not overloaded with tasks, helping you to keep your product both refined and targeted.
How do you manage project budgets?
What are your best methods for taking an Agile approach to project management and budgeting? Share your tips in the comments!
You might also find these other articles on project budgets useful: