Ways of Working

Estimation & Planning

Foundational

Estimates are not promises. They are informed guesses that help the team plan, and they should be honest by design. The goal is not to be exactly right (you cannot be). It is to communicate uncertainty clearly, break work into understandable pieces, and raise risk early. An estimate given to please someone, then quietly missed, helps no one.

Software estimation is genuinely hard, and that is normal. The work is new, dependencies surprise you, and the unknowns only appear as you go. What makes an estimate useful is not false precision. It is honesty about how confident you are, breaking work into small pieces you can reason about, and updating the picture as you learn. This ties directly to the honesty standard (see Professional Ethics) and to how we communicate.

This matters most for junior engineers. It is normal to be uncertain, and normal to be wrong. It is far better to say "I am not sure; here is my range and what could make it much bigger" than to give a confident number you cannot hit.

Estimate honestly

Plan realistically

Self-review checklist

Why it matters: Teams plan on estimates. Dishonest or falsely precise estimates lead to broken commitments, crunch, and corner-cutting, often on exactly the security and quality we cannot afford to cut. Honest estimates that show uncertainty, plus early risk-flagging, keep plans realistic and trust intact. They also take the fear out of being wrong, which everyone is.