The Estimate Was Wrong and Nobody Updated It
The number was given in March, the work changed in May, and the plan still carried the original figure, so the slip was a surprise to everyone except the…
It ended at the surprise. It started at the estimate. Every hand-off in between did exactly what it was told, and this is the one that lied.
This is the thesis: the estimate is a snapshot of the understanding at a moment, and the work changes after the moment, and the snapshot that is never updated becomes a fiction that everyone downstream treats as a fact.
This is an opinion, and the pressure to commit to a number is real, and the rule of thumb at the end is where I land.
Why the estimate freezes
The estimate is the asked once, and the once is the planning meeting, and the meeting is the number, and the number is the recorded, and the recorded is the spreadsheet, and the spreadsheet is the not revisited, and the not revisited is the frozen, and the frozen is the stale, and the stale is the fiction, and the fiction is the communicated, and the communicated is the commitment, and the commitment is the surprise.
The update is the awkward, and the awkward is the admission, and the admission is the wrong, and the wrong is the perceived failure, and the failure is the incentive's absence, and the absence is the silence, and the silence is the slip's growth, and the growth is the late reveal, and the reveal is the worse, and the worse is the trust's cost, and the cost is the reason the update should be cheap.
The estimate is also the range's loss, and the range was the three to the six, and the range was the honest, and the honest was the compressed, and the compressed was the three, and the three was the number, and the number was the plan, and the plan was the single figure, and the single figure was the false precision, and the false precision is the fiction's form.
Why the team knew and the plan did not
The team's knowledge was the daily, and the daily was the discovered complexity, and the complexity was the six weeks, and the six weeks was the discussed, and the discussed was the standup, and the standup was the not the plan, and the not plan was the gap, and the gap was the two truths, and the two truths were the team's and the spreadsheet's, and the spreadsheet's was the communicated, and the communicated was the wrong one.
The gap is the reporting's design, and the design is the absence, and the absence is the no channel, and the no channel is the estimate's update, and the update is the fix, and the fix is the cadence, and the cadence is the weekly or the milestone, and the milestone is the revision, and the revision is the honest plan, and the honest plan is the trust.
This is the same distinction as the estimate that is not a commitment, and the common root is the property, not the platform.
Where the fixed number is right
The fixed number is right when the scope is fixed, and the fixed scope is the contract, and the contract is the external, and the external is the obligation, and the obligation is the number's necessity, and the necessity is the legitimate, and the legitimate is the keep, and the keep is the honest framing, because the fixed price requires the fixed scope and the scope's change requires the number's change.
The fixed number is right when the work is the repetition, and the repetition is the known, and the known is the accurate, and the accurate is the number's validity, and the validity is the legitimate, and the legitimate is the keep, and the keep is the maintenance work, and the maintenance is the predictable, and the predictable is the estimable.
The fixed number is wrong when the work is the discovery, and the discovery is the unknown, and the unknown is the range, and the range is the honest, and the honest is the revision's expectation, and the expectation is the fix, and the fix is the framing, because the discovery work's estimate is the first guess and not the final answer.
The rule of thumb
The estimate should carry a date and a revision history, and the revision should be cheap enough that the team does it, because the stale estimate is the fiction that everyone downstream plans against.
Date the estimate and name what it assumed. The date is the snapshot's marker, and the assumptions are the change's detector, and the detector is the revision's trigger, and the trigger is the fix, and the fix is the two fields, and the fields are the discipline.
Revise on a cadence, not on request. The cadence is the weekly or the milestone, and the milestone is the automatic, and the automatic is the cheap, and the cheap is the done, and the done is the fix, and the fix is the calendar, because the on-request update requires the admission and the admission is the awkward.
Keep the range until the scope is fixed. The range is the honest, and the honest is the trust, and the trust is the fix, and the fix is the refusal to compress, and the compression is the false precision, and the precision is the fiction.
Report the delta rather than the absolute. The delta is the change since the last revision, and the change is the information, and the information is the decision, and the decision is the stakeholder's, and the stakeholder's is the fix, because the delta shows the drift and the absolute hides it.
Make the revision blameless. The blameless is the incentive, and the incentive is the early, and the early is the cheap, and the cheap is the fixable, and the fixable is the fix, and the fix is the culture, because the punished revision is the delayed revision and the delayed is the surprise.
Where I land
The estimate being wrong is not the failure, the unupdated estimate is, because the work legitimately changes and the number should change with it. Date the estimate, list its assumptions, revise on a cadence, keep the range until the scope is fixed, and make the revision cheap enough that people actually do it.
The plan said three weeks in June and the team had known it was six since May. I now check for that property first, because it is where the failure actually lives.
Published on debugly.dev by Rohit Bhadani | Founder of Krova Cloud