methodatlas
RunsheetDecision Making

Three-Point Estimation

ComplexityMedium
Time10-30 min je Item
Participants1-8
FormatWorkshop + async
MaturityCanonical
01

Prerequisite

What needs to be finished first

Complete firstScope Definitionnot in catalog

The estimation object is delimited in writing with assumptions, out-of-scope list, and chosen unit (hours, days, euros).

Without: Without delimitation, O/M/P refer to different scopes and values are not comparable.
02

Preparation

What needs to be ready before start

Materials

Estimation sheet with columns Item, Assumptions, O, M, P, Range, Expected Value; estimation-object document; list of known risks; calculation tool (sheet, Excel).

People / roles

One moderator who introduces items and captures assumptions; one to eight people with context on the estimation object; one scribe for assumptions and risks.

Pre-read

Estimation-object description; assumptions list; comparable initiatives with actual data if available; known constraints and dependencies.

Time needed

10-30 min per item

Setup

Sheet with columns for O (optimistic), M (most likely), P (pessimistic), Range (P-O), and Expected Value (O+M+P)/3 or PERT (O+4M+P)/6. Make the definition of each value visible.

03

Core question

The one question this method answers

Which realistic range from optimistic to pessimistic describes the estimation object, and which risks drive the difference between the three values?

04

Flow

Marker: Minute

StepDurationActionHint
10-3 min: Clarify estimation object
3 minModerator reads the estimation-object description and lists assumptions. Clarifying questions, then capture scope consensus. Confirm unit.If scope is still unclear after 3 min, park the item and sharpen it first. Estimation without scope consensus is speculation.
23-8 min: Optimistic value (O)
5 minDescribe best-case scenario: what must be true for it to go faster. Enter value. Document assumptions for O (for example no dependencies, all tools available).O is not the miracle scenario. "Everything runs smoothly" is realistic; "magic happens" is not. If O is below 10% of M, the assumption is unrealistic.
38-15 min: Most likely value (M)
7 minDescribe realistic middle scenario: what will probably happen. Capture assumptions about team, tools, dependencies. Enter value.M is not the average of O and P, but the most frequent expectation. M can sit closer to O or P depending on distribution.
415-22 min: Pessimistic value (P)
7 minDescribe worst-case scenario with named risks: what can go wrong. Enter value. Explicitly list risks (for example key person unavailable, external service down).P is not the end of the world, but realistic worst case. "Server burns down completely" is unrealistic; "key engineer leaves during the project" is possible.
522-30 min: Range and expected value
8 minCalculate range (P-O) and expected value with chosen formula (average or PERT). If range is more than 4x O, split the item or run a spike first.Large range is a signal, not a mistake. Estimate 5-30 days is more honest than 15 days. The latter is fake precision.
05

Artifact

What comes out at the end

Form

Estimation table with columns Item, Assumptions, O, M, P, Range, Expected Value, Risks. Stored in project repo or wiki. Linked to estimation-object document and assumptions log.

Versioning / ownership

Snapshot per estimation round with date. On scope change, create a new estimate as new row and keep old values with status. Add to assumptions log chronologically.

Tool alternatives
  • Google Sheet with formulas for range and expected value
  • Excel with PERT calculation
  • Notion database with calculation property
  • Jira with custom fields O/M/P
  • Confluence page with table

three-point-estimation-working-template.md

Compact working template for Three-Point Estimation with context, input, output artifacts, and next step.

Three-Point Estimation Working Template

Goal

Estimates optimistic, most likely, and pessimistic value to make uncertainty explicit.

Context

When and for what do we use this method?

Input

Which data, observations, decisions, or materials are available?

Execution

Short notes along the runsheet.

Output artifacts

  • Three-Point Estimate:
  • Risk Range:
  • Assumption Notes:

Assumptions and open questions

  • ...

Decision / Next step

Owner, date, and success signal.

06

Example output

Concrete filled scenario, fictional example

three-point-estimation-beispiel.md

Concrete filled scenario, fictional example

Three-Point Estimation - Client Import Refactor, 2026-05-18

Estimation object: Refactor of the client import module so DATEV format is processed without errors. Unit: person-days.

Assumptions: Existing parser library reusable. Test data from 5 sample clients available. Anna is 60% available.

Estimates

  • O (3 days): library fits, sample data covers all special cases, no schema migration needed.
  • M (7 days): library needs two adjustments, one edge-case story appears later.
  • P (15 days): library does not fit, custom parser needed, edge cases require more discovery.

Range: 12 days, Expected value (PERT): (3 + 4*7 + 15) / 6 = 7.7 days

Risks

  • DATEV format has undocumented special-character handling (drives P).
  • Key engineer @anna on parental leave in Q3 (drives P if delayed).

Recommendation: Plan with 8 days, spike ticket for library validation before sprint start.

07

Pitfalls

Recognize symptoms and steer against them

Trap

O and P too close

Symptom

Range is less than 50% of M, estimator underestimated uncertainty.

What to do

Review risk list: which external factors were ignored. Raise P realistically and document the assumption. Fake safety is more dangerous than honest spread.

Trap

Expected value becomes point value

Symptom

Communication only mentions "7.7 days", range disappears.

What to do

Report range plus expected value consistently: "7.7 days, range 3-15". Anyone using only expected value loses the method's central information.

Trap

Fantasy values

Symptom

O is "2 hours", P is "1 year", M fits neither.

What to do

Use realism anchors: O is not miracle, P is not apocalypse. If range is more than 10x, split the item or mark it as not estimable.

Trap

Assumptions not documented

Symptom

Table has numbers, but nobody knows why O is so optimistic.

What to do

Assumptions per value are mandatory. No assumption, no number. Assumptions are basis for later re-estimation and risk review.

Trap

Estimation without risk reference

Symptom

P is high, but risk list is empty. Nobody can say what drives P.

What to do

Risk required per item: what must go wrong for P to happen. If no risks can be named, P is estimated too high.

08

Stop criteria

Done signals checkable in under a minute

Estimation object is not delimited, scope consensus is missing.
Estimator has no context on the estimation object, values are guessed.
Range exceeds 10x the optimistic value, item is not estimable without discovery.
No risk perspective available, P value is not reliable.
Stakeholder expects a point value, range would not be accepted, method will be misunderstood.
Item is so small and standardized (<1 day) that Three-Point is overhead.

Finished the runsheet?

Go to the profile for purpose, similar methods, and sources or continue to the next method in the catalog.