"Let's get down to brass tacks. How much for the ape?"
- Raoul Duke, Fear and Loathing in Las Vegas
I'll be the first to admit, when I talk about Scrum, budgeting and cost analysis are not usually the subjects I lead with. If anything, they're the last issues I address, if possible. I do this to avoid giving the impression that I think the biggest benefit of Scrum is that it's going to reduce your overhead, or improve your ROI, or increase the life cycle value of your product. Those may be positive side effects of Scrum, but I don’t see them as its biggest benefits by far. There are simply too many other advantages to using Scrum outside of its effect on your companies pocket book for that to be my primary focus.
However, it is without fail, always one of the first things that Project Managers, Directors and Executives want to talk about. How do I know how much money my project is going to cost with Scrum? How do I track cost during the life of the project? How do I know if this Scrum project is costing me more or less than using Waterfall? How do I KNOW?
And I understand the anxiety, I really do.
People instinctively fear the loss of control in general, but the loss of (or perceived loss of) control over their money? That's enough to send even the most Type B personality into a bitter apoplexy. So I find it completely reasonable that someone would want a comprehensive, thorough explanation that they can plan, budget and track cost using Scrum. Luckily for us (and them) the transparency of Scrum makes these things exponentially easier (and more accurate) than using the traditional Waterfall methods of estimating budget and measuring cost.
In Scrum you have the following:
- A Product Backlog, estimated in Story Points
- A time boxed Sprint
- A stable Scrum team with an established Capacity
Your calculations to estimate a project's budget are as follows:
- Time Boxed Sprints + Cost of Team Members Time = Sprint Cost
Ex: 4 Week Sprint (160 Hrs) + (4 Developers @ 100$/Hr) = $64,000
- Product Backlog / Team Capacity = # of Sprints
Ex: 150 Story Points in Backlog / 25 = 6 Sprints
- # of Sprints * Sprint Cost = Development Cost
Ex: 6 Sprints @ $64,000 = $384,000
- Add additional cost of Capital requirements if necessary (hardware, licenses, etc.)
Now, traditional project management would tell you to take this number and pad it with a 'risk' or 'slippage' contingency of anywhere from 15% to 150% in an attempt to account for emerging requirements or project risks you cannot foresee at the projects inception. In Scrum however, we iterate, inspect and adapt.
If you find that your original budget projection needs to be changed (which it will, because we are dealing with real things in the real world) you can account for those changes (which are transparent to you, the team and your stakeholders) as you move forward, instead of waiting until the end of the project to throw the "we're over budget" grenade into the room as you run off to your next one.
One point of order I must mention. Estimating and tracking budgets are easy to do in Scrum, if you are truly doing Scrum. Take away stable teams, time boxed sprints and a well groomed backlog though, and not only are you not doing Scrum, but you have no way to estimate budget for whatever it is you are doing. So please, for your own sake, listen to your Scrum Master when they tell you these things are important. Estimating Agile projects is neither mystifying nor onerous, so long as you set yourself up for success.