Adventures in Estimation: Accuracy and Strategy at Savas Labs
Excellent project management starts with accurate project time estimation and is important for several reasons:
- Accurate time estimates assist in setting milestones and managing capacity when project planning.
- The accuracy (or lack thereof) of your time assessment will inform other’s perception of your reliability and competence as a project manager/company.
- Time estimates almost always have a significant impact on the financial success of a project.
Bottom line: Time estimations matter. A lot.
It’s all too common to underestimate the amount of time needed for a project. Often, this is due to unanticipated challenges, requests for additional features, or unscheduled urgent tasks that occasionally pop up. Even so, estimates remain a key to success in any company—most especially ours, and we strive to keep them accurate.
Other things to keep in mind when considering estimates:
- Estimates are different from proposals or contracts (read: we estimate in time, not dollars).
- Estimates are not definites.
- Good estimates take time, discovery, and vetting.
- Estimates are ultimately essential to both planning and financial success.
Something to be wary of: The Planning Fallacy
The Planning Fallacy is failing to consider how long it’s taken to complete similar tasks in the past and assuming that we won’t run into any complications that will cause delays.
There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say, we know there are some things we do not know. But there are also unknown unknowns–the ones we don’t know we don’t know. - Donald Rumsfeld
After a deep dive into our past time estimates (for a presentation at our recent ReTreat Yo Self team retreat) and comparing to our actual spent time we concluded that as a company:
- We like even numbers! (We also love a good palindrome, hence our name).
- We’ve done a pretty good job, but as always, there is room for improvement.
Fight the planning fallacy:
- Data talks. And history tends to repeat itself. So use historical data to help make the most accurate estimations.
- Do three estimates. Best-case, worst-case, and most likely. Pro tip: assume your initial estimate is “best-case.”
- Check the calendar. Take into account the big picture. What other projects will you be working on at these same times? Who will be on vacation and unable to work on the project for a week?
- Think in “Work Weeks.” When we think of how many days we have until a project is due, we often think in actual days not in “work days.” Count only the Monday-Friday days in your estimation. More on Ro’s idea of “Work Weeks” coming soon.
- FUDGE it! Use a fudge ratio:
- Estimate the time it will take to do near-future tasks.
- Track the actual time.
- Sum the estimates and the actual spent time.
- Divide the total spent time by the total estimated time.
Voilà! A fudge ratio! Apply that to future estimates.
- Phone a friend. Call on a coworker or another project manager. When estimating a project they aren’t working on, they are likely to give a far more realistic estimation than you would.
- One word: RANGES. Don’t estimate in perfect numbers, give a range to account for unknowns.
- Started from the bottom and now… Estimate at the low point of your day. That is to say, don’t do estimations when you’ve just had the most delicious lunch, your calendar is free, your inbox is near-empty, and you’re feeling high on life. You’ll be feeling over-optimistic about everything, including your time estimations.
- Revisit. After wading into a project, take a look back and revisit initial estimates. You know what they say: “measure twice, cut once.”
How we foster estimation success
A project typically fits into one of two broad categories: one in which we have a high degree of familiarity, and whose scope we understand well, and those we don’t. As discussed, with the former, we use historical records to hone in tightly on the expected efforts. That’s simple. In the latter case, in which the client’s vision is not fully articulated (and this is where we provided the most value), we have learned it’s in both parties best interest to perform a strategy phase upfront. We often call it a discovery, or planning and have found it to be instrumental in getting all stakeholders the same page and reducing risk. Once we’ve elicited all the information we can from conversations with stakeholders and any relevant user testing, we then focus internally. In conjunction with the project manager, the tech lead on a given project is responsible for laying out the plan to execute the project from start to finish. Once the tech lead has produced this detailed document, we have a “designated dissenter” internal meeting in which the goal of one teammate is to pick apart any potentially false assumptions (you know what they say about those) made by the tech lead.
This direct, constructive feedback is something that I would only consider within a team with a substantial “psychological safety,” which we work hard to cultivate and sustain at Savas. The feedback is a gift that helps avoid potential future pitfalls, but a person will only hear it from someone they trust and know has shared goals.
When we complete the internal work, we produce one of the most beneficial outputs from the discovery process: a more detailed plan with a more accurate schedule and budget.
Setting more accurate time expectations is better for everyone because we create the necessary space—and far less anxiety and pressure—to do better quality work. It creates reliability for the client, for ourselves and our coworkers and generally keeps everything running smoothly.
Related Blog Posts
Code School Made Me a Better PM
How learning the basics of the command line, git, and frontend languages made me a better advocate for clients, development teams, and a better project manager.