A single date communicates certainty you do not have, so the forecast is a
distribution and the conversation is about which end of it to plan against.
Feature: multi-currency checkout
Remaining scope: 34 stories, decomposed to <=3 days each
Throughput, last 8 sprints: 11, 9, 14, 8, 12, 10, 7, 13
median 10.5/sprint worst 7 best 14
Naive plan 34 / 10.5 = 3.2 sprints -> "6 weeks, so 8 September"
<- this is the answer that
later becomes a slip
Monte Carlo, 10,000 runs resampling those 8 sprints with replacement.
Read each row as "chance of being finished by", which is what the
simulation produces. Do not pick a confidence first and read a date
off it - the model does not owe you a 50/75/85/95 ladder.
finished by 34 stories 39 stories (scope +15%)
------------------ ---------- ----------------------
3 sprints, 8 Sep 32% 4%
4 sprints, 22 Sep 97% 77%
5 sprints, 6 Oct >99% 99.8%
The curve is steep because this team's throughput is steady: eight
sprints between 7 and 14, so three sprints is almost never enough and
four almost always is. There is no meaningful 85% date between them.
Assumptions, stated because they are the actual risk:
- scope does not grow. Historically it has grown ~15% mid-flight,
which is the second column: 22 Sep drops from 97% to 77%.
- two engineers, no holiday. Anya is out for 2 weeks in September:
subtract ~1 sprint of throughput from the sampled range.
- the payment provider's sandbox is available by 11 Aug. This is
someone else's dependency and the single largest risk in the model.
What I would say out loud: "22 September, 97% if the scope holds and
77% if it grows the way it usually does. 8 September is a one-in-three
shot and I would not plan a marketing launch on it. If you need a date
that survives scope growth, it is 6 October. The provider sandbox is
the thing that could move all of this by a month, and I need a date
from them by Friday."
The essential move is that the forecast is built from measured throughput rather
than from estimates of effort. The team's last eight sprints already contain
everything estimation tries to guess at — interruptions, holiday, review latency,
the work nobody planned — so sampling from history is both more honest and less
effort than re-estimating.
The shape of the curve is the information the stakeholder actually needs, and
here the shape is steep rather than wide. Two weeks separates a one-in-three
chance from a near-certainty, because eight sprints of throughput between seven
and fourteen do not admit much doubt about whether four sprints is enough. Say
that plainly rather than manufacturing intermediate dates: a table that offers a
75% date and an 85% date one row apart, both landing on 22 September, is
decorating a two-point distribution and a numerate stakeholder will notice.
Where the real width comes from is the second column. Scope growth moves 22
September from 97% to 77% — a far bigger effect than throughput variance — which
is the honest answer to what could go wrong. Presenting one number hides both
effects and guarantees that the conversation happens later, during a slip, when
your credibility is the thing being spent.
The assumptions block is where the forecast earns trust. Two of the three are
outside the team's control, and naming the provider dependency in advance changes
what the stakeholder does — they can chase it — whereas discovering it in
September only changes who is blamed.
The pushback to rehearse is "just give me a date". The answer is to give one, with
its confidence attached, and to say what you would do differently at each level:
at one-in-three I would not book the launch, at ninety-seven I would. That converts a
demand for false certainty into a decision about risk appetite, which is the
stakeholder's decision to make and not yours to absorb silently.