On estimates and engineering honesty
I do not give precise estimates. I give ranges. The wider the uncertainty, the wider the range. This is not avoiding commitment — it is engineering honesty.
A single-point estimate ("this will take three weeks") is almost always wrong. It creates an implicit promise that the team will be held to, regardless of what is discovered along the way.
Instead, I give three-point estimates: optimistic, realistic, and pessimistic. The range communicates uncertainty. The pessimistic case includes the things we know we do not know. Over time, the ability to estimate accurately improves because we can measure the gap between realistic and actual.
The question is never 'when will it be done?' It is 'what do we know today, and what will we know next week that we do not know now?'