Decompose tasks into steps before estimating — holistic estimates hide transition costs
When unpacking task estimates, decompose complex tasks into component steps before estimating duration—unpacking improves accuracy by forcing visibility of dependencies and transitions that holistic estimation skips.
Why This Is a Rule
Kruger and Evans (2004) demonstrated that "unpacking" a task into components before estimating its duration systematically improves accuracy. The mechanism: holistic estimation treats a complex task as a single unit, which invokes a single reference-class judgment ("tasks like this take about X"). But complex tasks contain hidden sub-steps, dependencies, and transitions that the holistic estimate skips entirely.
The most consistently underestimated elements are transitions — the time between steps. Coding the feature takes 4 hours, but the estimate doesn't include: setting up the development environment (20 min), figuring out which branch to use (10 min), reading the existing code to understand the integration point (45 min), running into an unexpected dependency (30 min), writing tests (90 min), code review feedback and revision (60 min). The "4-hour task" is actually 8+ hours once transitions and dependencies are visible.
Decomposition forces these invisible costs into the estimate. You can't estimate a step you haven't identified — and you can't identify a step without decomposing the task that contains it.
When This Fires
- Estimating time for any task that takes more than 2 hours
- Sprint planning, project estimation, or deadline setting
- When someone asks "how long will this take?" and you feel confident in a single number
- Any estimation where the task is described in one sentence but involves multiple steps
Common Failure Mode
Decomposing into functional steps but forgetting transition costs. "Step 1: design (2h), Step 2: implement (4h), Step 3: test (2h) = 8 hours total." But this misses the context-switching time between steps, the setup costs within each step, and the rework when step 3 reveals problems in step 2. Add 20-30% for transitions, or decompose each step further until transitions become visible.
The Protocol
Before estimating any complex task: (1) List every component step — aim to decompose until each step takes less than 2 hours. (2) For each step, estimate independently. (3) Identify dependencies: which steps require outputs from other steps? (4) Add transition time between steps (typically 15-30 minutes each). (5) Sum the decomposed estimates. The total will almost always exceed your holistic estimate — and the decomposed version is almost always more accurate.