Estimate Effort, Not Time


Moon-Watcher’s turn came. Without knowing why, he picked up a small stone and threw it clumsily. It missed by several feet. “Try again,” said the command. He found another pebble. His aim improved. By the fourth attempt, he was only inches away. A feeling of indescribable pleasure flooded his mind.

[Adapted from 2001: A Space Odyssey]

Everyone wants an estimate. "How long will this take?" they'll ask while winking, "Don't worry, I won't hold you to it."

Doing this dance before, we offer our best guess - but not before peppering it with qualifiers like "assuming uninterrupted time."

And we race toward delivery like a game of chicken, waiting to see who will flinch first and revise our date. The dance starts over: "Ok, how much longer do you need?"

Why do we do this to ourselves? Estimates should work, right? We're skilled people. We know how to do our job, so why are we so bad at estimating?

The clue is in that qualifier we gave earlier. 

Flow. How long it takes for something to get done, beginning to end.

Flow changes. Constantly. The same leaf will float down a river at different speeds depending on the season. It's not the leaf that matters, it's the river's flow.

Abandon time-estimates. They're "about as useful as trying to solve an algebra problem by chewing bubble gum."

Instead estimate Effort. How difficult is the task?

I prefer non-numerical ways of estimating effort to reinforce that it is a non-empirical measure. T-shirt sizing is a great analog for effort: Extra-Small, Small, Medium, Large, Extra-Large.

And don't let them assign time to those t-shirt sizes.

"How long will this take?" They ask.
"Medium." You say
"Huh? Is that 2 weeks? 2 months?"
"No idea," You reply as you get written up for being uncooperative.

Sure, effort may be subjective - but beauty is in the agreement when comparing relative effort. Medium work may be harder for one person than another but they'll both agree it's twice as difficult as 'Small' work. There's power in that.

Once you have Effort, there's 3 additional pieces of information you need: Lead Time and Cycle Time, objective measures for how long work takes, and the WIP Limit, something you control.

Setting a WIP Limit will bring consistency to your measurements while prioritizing work *completion* over new work.

Quick rules of thumb:

  1. Reduce the difference between Lead Time and Cycle Time; The larger the difference, the more stale your backlog.
  2. Break big effort items into multiple small effort items where possible.
  3. While lower numbers are better, there's no set target. This is not a proxy for tracking job performance.

The goal is to have optimized and sustainable flow while reducing unnecessary bottlenecks. Getting there is not hard - but requires patience and experimenting with your WIP limits and Effort definitions.

When you're there, you can give better predictions while making better decisions about how your backlog is prioritized.

Popular

Work Experience vs Professional Experience

Let's Clear Up The Ambiguity!

FAQs for a Software Engineering Hiring Manager

7 Steps to Writing an Amazing Resume

7 Steps to Building your Portfolio MVP