Three-point estimation
Generate three estimates (optimistic, realistic, pessimistic) for each significant task and calculate weighted average as (optimistic + 4×realistic + pessimistic)/6 to counteract automatic optimism bias in single-point estimates.
When This Fires
- When estimating any significant task (2+ hours of expected duration)
- When a single-point estimate feels suspiciously precise or optimistic
- When estimating for commitments where accuracy matters (deadlines, client promises)
- Complements Record estimate before and actual time after every 30+… (estimate tracking) with the structured estimation method
Common Failure Mode
Optimistic and pessimistic estimates that cluster too close to the realistic: "Optimistic: 2.5 hours. Realistic: 3 hours. Pessimistic: 3.5 hours." This narrow range indicates you're not actually considering different scenarios — you're anchoring on 3 hours and adding/subtracting a token amount. The pessimistic estimate should reflect genuine complications (rework, blocked dependencies, misunderstood requirements), which typically double or triple the realistic estimate.
The Protocol
(1) For each significant task, generate three estimates: O (optimistic — everything goes right, you're focused, no complications), R (realistic — normal interruptions, typical friction, standard rework), P (pessimistic — significant complications, blocked dependencies, major rework). (2) Calculate the weighted average: (O + 4R + P) / 6. This is your planning estimate. (3) Sanity check: is P at least 2x O? If not, you're probably not being genuinely pessimistic. Think of what could actually go wrong. (4) Use the PERT estimate as your commitment number, not the optimistic or even realistic estimate. (5) Track PERT estimates against actuals (Record estimate before and actual time after every 30+…) to calibrate: if PERT estimates are still systematically low, your "realistic" scenario is actually your optimistic scenario — recalibrate.