Why do we suck so much in time estimations and what to do about it



Why do we suck so much in time estimations and what to do about it



tl;dr
Multiply everything by 3.

Last year, when we just started renovating our house, a friend of mine warned me:
"Your project will cost you twice as much as your original budget, and will take 3 times longer than expected 😈"

Trying to get over the shock, I turned to all-mighty-Google, searching for a more optimistic sign, and ran into this disturbing Murphey's law:
"A carelessly planned project takes 3 times longer than expected; a carefully planned project will only take twice as long."

Murphey and my friend were pretty close.
Now, let's talk about why do we suck so much in time estimations, and what can we do about it?

Let's start with the reasons: 

  1. Optimism Bias - you know I love cognitive biases. One of them is our tendency to overestimate the odds of our own success: we assume things will go faster and easier than they usually do, and we base our estimation on absolutely nothing.
    This phenomenon is also known as the planning fallacy.
  2. We assume "deep work" is still achievable - but it's not.
    We believe we can outperform ourselves with deep work, but try to remember when was the last time you experienced a deep work session? (Mine was back in the late '90s, while listening to the Cure's Disintegration, their best album ever).
  3. We think "net work hours" but projects are managed in dates. A 20 hours task might feel like it should take around 2.5 days, but if you spend half of your days in meetings, slack and emails, finish early on Tuesdays and planned to take a long weekend off - the task will take more than a week to be finished (told you it's 3x).
  4. Shit happens. Just when we least expect it to.
    A bug that requires a redesign.
    A dead-end that forces you to replace that 3rd party control...
    An old product limitation no one cared about (right until this point...).
    Sasha is on vacation.
    An edge case no one thought of and takes longer to solve than the entire project.
    A security problem waiting for IT.
    Sasha is back but in Quarantine...
  5. We are greedy for more - so let's fix this completely unrelated bug, and change the UI layout because it shouldn't take more than a few hours, right?
    Oh, we forgot the mobile version!?
    OK, let's make everything smaller.
    Hurry up! it was supposed to take a few hours...
    Wait, don't make it smaller...
    We have those German translations... they will never fit in there!
    Let's have a meeting to discuss... 

Shameless promotion ahead: 

OK, so now that we know why we suck in estimating our tasks, here's what to do about it: 

  • Turn important tasks into mini-projects
    Break it down to sub-items (steps), write them down, spend time defining and estimating each sub-item, take buffers, and think about dependencies.
    The process will take longer, but it will force you to think. 
  • Use the 3-point estimation technique
    Evaluate your project or task based on 3 different scenarios: 
    • a = the best-case scenario (will probably be similar to your initial estimation)
    • m = the most likely scenario 
    • b = the worst-case scenario 
    • Estimated time = (a + m + b) / 3
    • Alternative estimation = (a + 4m + b) / 6
  • Use T-Shirt sizes estimations 
    This one is a good technique for estimating a large amount of work quickly without getting into the analysis-paralysis paradigm. It favors speed over accuracy and uses a collaborative approach, which makes it a good fit for team projects.
  • Be pessimistic
    They say you should never go grocery shopping when you’re hungry, and I say: never plan your projects when you're optimistic.
    Do your planning after lunch when energy is low, or if you must - remind yourself of all those times you (or your team) have missed on your due dates before diving into the planning. 

Or you can simply multiply everything by 3 and get similar results without spending extra time on time estimation. 

Before you head off, check out the best of the mobile spoon and make sure to subscribe to my occasional, non-spammy newsletter and become 23% more awesome than average. 

Comments

Gil Bouhnick The Mobile Spoon
SciGuy said…
Also - over confidence in succeeding where others fail.
Gil Bouhnick The Mobile Spoon
Omer said…
If you simply multiply by three, you might still end up missing your due date. This is because of the Student syndrome, where we tend to wait until the due date and still miss it. Instead I would suggest to use buffers outside the tasks. So if you eatimate a task by 2 days, add an additional day as buffer, but not on the task (making it a 3 days estimate), put it at the end, with buffers from other tasks and then manage this buffer (making sure it is does not run out).