Three keys to software product development estimations

Planted Sep 2021 Tended 5 years ago

Contents

Estimation in software development is excruciatingly difficult. There are three things I’ve learned in my experience and from a guru of product development that make them bearable; when = circuit breaker, values = 3, and size = small.

When? Only during the circuit breaker

I believe Estimations, Appetites, and Feasibility… not the same. In that line of thinking, estimations (answering the question of how long will it take to get X done) are reserved mainly for when a project that we thought had a version that would fit within our desired-outcome-based appetite (subtle but incredibly important distinction between “is there a solution that we believe will achieve the desired outcome” and “how long will it take to build this specific feature”).

Why do we allow true estimation here? Because we’ve had between 3-6 weeks of building, and affords us a ton of insight into what remains. If we’d tried to estimate before doing deep work and figuring most of the discovered tasks, we’d either need to take a significant amount of time to try and estimate that would likely still be very wrong as well as wasting the time to estimate.

The most important part is that it keeps the conversation on the desired outcomes and not on the solution. A key to great product IME.

The answer? Never One… always Three.

Estimates should always come in three values.

Best case (if everything goes perfectly) Worst case (this should reflect the amount of risk/unknown.. sometimes the worst case is unbounded) Most likely (this is the value most give… our hole in one)

“Most likely” is shitty because it doesn’t communicate the inevitable uncertainty that comes with estimation.

Size? Small!

As small as possible. The analogies that talk about how bad we are at estimating are everywhere and I won’t repeat them here. Bird house vs Shed… a walk down the block vs a 20-mile hike across unknown terrain… planning a single solo activity vs planning a group weekend. In all cases, the smaller the thing you are trying to accomplish, the smaller the miss. Estimations aren’t pre-destined so you will miss. You likely won’t miss “under”, you’ll miss “over”. These are uncomfortable truths, but truths nonetheless. The bigger the estimate, the bigger the miss.

So if you know you’ll miss… estimate as small as possible so the miss can be chalked up to the cost of doing business and not be a thing folks are stressing out about.