Andrew's Digital Garden

Accuracy of estimates

Estimating is useful to avoid surprises. However, you often still want them to be as accurate as possible. When someone asks you for an estimate, check if they're looking for high accuracy, or if they're looking for ballpark.

When giving an estimate, reflect the confidence of your answer in the units of time given. If there's a lot of leeway, use months. If you're confident, use days. It's often helpful to give multiple estimates too. Rather than pad your answer, provide multiple answers based on the uncertainty. e.g. if it goes perfectly, X, however a more realistic answer is Y, and if it all goes bad, Z.

The absolute best way to provide an estimate for a task is to do that task. Since that's not really feasible, you have to gain whatever experience as you can. Spikes, prototypes, tracer bullets, are all very helpful here. The more focused the spike, the more useful it is for providing an estimate.

Essentially, iterate, and keep updating your estimate as you go. This way you'll get a more confident answer over time. Keep iterating the schedule and estimates as you work.

[[20220620033913-software-estimates]]

[[engineering]] [[timemanagement]]

Accuracy of estimates