“Unrealistic expectations based on inaccurate estimates are the single largest cause of project failure.” – “Quality Software Project Management,” by Futrell, Shafer and Shafer.
Accurate estimation is key to project success. If you go too big with your estimation, you run the risk of presenting a non-viable project plan because you don’t have the resources to support the numbers. That, or you end up with a schedule that stretches out so far you’ll be able to see it from space. If you go too small, you’re setting yourself up to overrun schedules, bust budgets and disappoint customers.
Even the most seasoned IT professionals can turn pale and sweaty when asked for a “rough number.” How can they come up with a single accurate number when so much is unknown? What makes matters worse, is that all too often, even the most preliminary guesstimate becomes the ironclad commitment that a team is expected to deliver against.
Making estimates that account for uncertainty
When we estimate a project, we base that estimate on what we know about the project at that moment in time. And that knowledge can be limited, so we need to build an element of uncertainty into our planning. We do this by using ranged estimates.
Ranged estimates allow you to manage that uncertainty throughout the life of your projects. Instead of trying to capture all the what-ifs, buts and maybes in one magic number, you enter your estimates based on best-case and worst-case scenarios. Plus, instead of working toward one deterministic deadline date, you work toward a range of finish dates. This is a more realistic and accurate way of setting expectations for everyone involved—contributors, customers and stakeholders.
Typically, this is how you assess any non-time boxed activity—be that coding software, mowing the lawn or building a Death Star. Think about how we describe our morning commutes—“between 20 and 30 minutes,” for example. We never say, “It takes me 26 minutes to get to work.” You make one optimistic estimate based on everything going according to plan, and a second more pessimistic estimate based on life throwing a few surprises into the works (as it usually does).
5 steps to making ranged estimates
Projects, like life, are filled with risks. Ranged estimates are a way to account for these risks and give your team a finish line that is based in reality, and imbues confidence in customers and stakeholders.
Here’s how to make ranged estimates that reflect that actual amount of work required, with uncertainty built in.
- Get estimates from your team.
Talk to your team (those that we will be doing the work) and ask them for best-case and worst-case estimates for their workshare. Be as clear and detailed as you can in terms of what you’re asking them to estimate. Don’t assume the scope is clear to all. You’ll find that people are more forthcoming when given an opportunity to share their uncertainty rather than having to come up with a single number that they have to deliver to.
- Share estimates and get buy-in.
Share the estimates across the team and encourage questions and feedback to iron out any kinks or discrepancies and get buy-in across the board. Make the most of the collective experience you have at your disposal and get everyone believing in the plan moving forward.
- Use data from similar projects.
Learn from experience. If you’ve delivered similar projects in the past, see how those numbers stack up against estimates for the current job. (Often we’re so focused on the next challenge we don’t stop to review what’s gone before!).
- Be realistic.
- Don’t be too optimistic with your best case estimate. A positive attitude is great and some of us tend to be hard-coded optimists but remember that even with straightforward tasks, things can go awry (out there be monsters!). Also, tasks often take longer than we think they will.
- Don’t be too pessimistic with your worst case. If you try and cater for any and every possible eventuality, chances are you’ll arrive at an estimate that makes the project non-viable (“Jerry plays the lottery every week; what if he wins and we have to train up someone new?”).
- A good rule of thumb is to go with estimates that you’re around 80 percent confident in, taking into account the unknowns that you can reasonably expect to occur. If aliens do invade and steal your design specs, then you’ll probably get a chance to re-estimate later when they’re done with the probing.
- Remember the details.
Don’t forget the small stuff. Build time into your estimates for team meetings, ad-hoc requests, QA, etc. These activities can add up to a substantial amount of time on a large, long-running project.
If you and your team are implementing ranged estimates for the first time, give yourself time to practice and get used to the process. One of the great side benefits, is how much you can learn from your estimates after a project is done.
If you’d like to learn more about making project estimates, download our eBook, 6 Best Practices for Project Estimation.