How we deliver, in the FAQ

Forecasting and dates, answered in full.

Probability rather than a promise: forecasting with confidence intervals, and what holding a date actually takes. Written for the person running a quarter rather than for a buyer, and free to use with us or without us.
questions in this group, each answered in full
36
pages the answers are written on, every one linked
2
questions across the whole FAQ
1424

36 questions on forecasting and dates, answered by Tenhaw, a UK AI consultancy and AI delivery partner based in London. Nothing here is a summary: each answer is the exact text from the page that owns it, and every group links back to that page for the context around it.

On this page
18 questions

How to forecast delivery with confidence intervals

Answered on How to forecast delivery with confidence intervals, and rendered here in the same words.

Read the page these answers live on →

How much history do I need before I can forecast?

Eight weeks is the working minimum and twelve is comfortable. What matters more than the length is whether the window describes the system you are in now. If the team doubled, the delivery mode changed, or the quarter opened with a two-week freeze, use the weeks since that change and accept a wider interval rather than padding the sample with data from a team that no longer exists. A wide honest range beats a narrow invented one.

The team is brand new and has no throughput at all. What then?

Borrow a reference class for the first six weeks by taking the weekly throughput of a comparable team in the same organisation, labelling the forecast clearly as borrowed history, and publishing a deliberately wide range. Replace one borrowed week with a real one every week until the sample is entirely yours. What you must not do is fall back on a single date because you have no data, since that is the situation in which invented dates are least defensible. Tenhaw borrows history the same way at the start of a build engagement, before the new team has weeks of its own to sample.

The business will not accept a range. What do I give them?

Give them p85 as the committed number and keep p50 as the internal plan, then say the remaining 15% out loud so nobody is surprised later. The range is not there for comfort, it is there to produce the currency number. James Rooney runs every Tenhaw engagement, so the partner is the one holding that conversation with the outcome owner. Once the value at risk is on the table, the conversation stops being about whether the date is right and becomes a decision about which value gets deferred, which is the only version anyone can act on.

Do I need a forecasting tool to do this?

No. Ten thousand rows and two formulas in a spreadsheet produce the same answer as any Monte Carlo tool, and doing it by hand for a quarter teaches you where the forecast is fragile. Tools earn their place later, when you want the weekly refresh and the trend of p85 maintained without someone remembering. Buying one first does not help, because the arguments are always about the inputs, the unit, the window and the split rate, not about the maths.

What is the difference between a p50 and a p85 forecast?

A p50 is the point half your simulated quarters finish by, and a p85 is the point 85% of them do. Resample your own weekly throughput history into ten thousand plausible quarters and read both percentiles off the same results. This arithmetic is published in full by Tenhaw and free to adopt without hiring anyone. The team plans against the p50, the business commits to the p85, and the gap between them measures how variable your delivery is, so closing that gap beats pushing the average up. Publish both in one sentence, for example forty-three items at p50 and thirty-eight at p85, so nobody mistakes the coin-flip number for the commitment.

Should we forecast delivery in story points or counted items?

Counted items, always. Story points get re-baselined every time a team re-points, so a velocity line measures the scale as much as the work, and a rising line can mean nothing moved. Counted items cannot be quietly inflated. Pick one unit and do not change it mid-quarter, whether that is stories closed for an AI-augmented team or key user journeys demonstrated for an AI-native one, because outcome tickets are too few and too large to sample well. Write the unit at the top of the forecast, check the items are interchangeable enough to sample, and split anything that routinely takes more than two weeks at refinement first.

How do you account for scope growth in a delivery forecast?

Inflate the remaining scope by your split rate before you forecast against it. The split rate is the number of items an epic finally shipped divided by the items it carried when it left Ready for Dev, averaged over your last five closed epics; most teams land between 1.2 and 1.5. If you have never measured it, use 1.3 this quarter and measure it properly for the next one. Unmeasured scope growth is why teams forecast accurately against the backlog they counted and miss anyway, since the epics grew by a third between Ready for Dev and release. Count anything already in progress as remaining too, because half-counting it flatters the answer.

How do you run a Monte Carlo delivery forecast in a spreadsheet?

Put your last twelve weekly finished-item counts in A1:A12, fill one cell per remaining week with =INDEX($A$1:$A$12, RANDBETWEEN(1,12)), total the row, and fill the block down ten thousand rows. The totals column is now ten thousand plausible quarters. Read it with PERCENTILE.INC, where 0.5 gives the p50 item count and 0.15 gives the 85% confident one, because being 85% sure of at least N items means only 15% of simulations fall below N. For a completion date instead, extend the draws to thirty columns, running-total across the row, and record the first column that reaches your inflated scope. Paste the results as values before reading percentiles, or the sheet resamples every time you touch it.

Should I exclude holiday weeks and outliers from throughput data?

No. Keep the zero weeks, the incident weeks and the week between Christmas and New Year, because they are the tail of your distribution and the tail is where the misses live. Deleting the weeks that look unrepresentative removes exactly the variability the interval is meant to price, leaving a confident forecast of a quarter you have never actually had. It is also the most common way a forecast quietly turns optimistic. The one legitimate reason to drop history is a material change to the system, a team split, a two-week freeze or a switch of delivery mode. In that case, shorten the window to the weeks since the change and accept a wider interval rather than editing the numbers.

What do you do when the forecast says the quarter will not fit?

Convert the shortfall into currency and take it to the outcome owner as a decision. Rank the remaining epics in the order you will really deliver them, draw a line at the p85 count, and name every epic below it with its planned share of its outcome's currency target. Summed, those shares turn the miss from a warning into a number. Tenhaw reports any month that delivers no measurable value as a failed month. Then offer three options and no fourth: defer that value to next quarter, cut something above the line to pull it up, or accept that the outcome target moves. Going faster is not on the list, and offering it wastes the meeting and the credibility of the forecast.

Is it worth re-running the forecast every week?

Yes, and the reason is the trend rather than this week's number. Re-run it the same morning every week with the new throughput week and a fresh scope count, and keep every version as a row in one sheet: date, sample window, split rate, inflated scope, p50 and p85. The useful artefact is the line of p85s across the quarter, because one bad week is noise while three consecutive weeks drifting later is a signal you can act on in week five. Put the current range on the daily dashboard next to the quarter end date, so divergence surfaces before stand-up rather than at a steering meeting in week eleven.

How do we know if our delivery forecasts are actually any good?

Mark them at roadmap close and write down three comparisons: the p85 count you published against what finished, the forecast completion week against the real one, and the split rate you assumed against the one you got. Do that for four quarters and you know whether to believe the next forecast, which is the only honest reason anyone should. There is a faster diagnostic in the meantime. If actuals fall below p85 more often than roughly one quarter in six, the sample window is flattering you: too short, too recent, or missing the bad weeks. Keep the published numbers somewhere you can find them later, or there is nothing to mark.

Does throughput forecasting still work when the model writes most of the code?

It does, with three adjustments. An AI-native team counts key user journeys demonstrated rather than stories closed, because outcome tickets are too few and too large to sample well, and pulls sixteen weeks of history rather than twelve. Expect a wider p50 to p85 gap and publish it rather than smoothing it. A change of model, harness or verification standard changes the system as much as a team split does, so throughput history goes stale faster and each of those is a reason to shorten the window. And measure the split rate rather than assuming it, because outcome tickets grow more between approval and done than stories do. Tenhaw publishes its own engineering standard as 72 rules on GitHub, enforced by an agent rather than remembered.

How much effort is it to set up delivery forecasting from scratch?

About two hours the first time, then roughly half an hour a week to keep it current. Most of those two hours goes on inputs rather than maths: exporting twelve weeks of finished-per-week counts, deciding the one unit you will count and not change mid-quarter, counting the remaining scope including the Tech Debt and Bug Budget epics and everything in progress, and working out your split rate from the last five closed epics. The simulation itself is two formulas and a fill-down in a spreadsheet. Tenhaw pair-programs this with a client engineer so the sheet stays theirs. You leave that first sitting with a p50 and a p85 you can publish, and every week after it is an update rather than a project.

Why not just average our weekly throughput to get a date?

Because an average only answers what happens if every remaining week is an average week, which is not a question anybody asked. Take a team whose last twelve weekly counts were 5, 3, 7, 4, 6, 2, 5, 8, 4, 5, 3 and 6. That averages 4.8 a week, so nine weeks looks like 43 items, which is exactly the p50 the simulation gives. Resampling the same history puts p85 at 38, and those five items are the risk the average deleted. Worse, it deletes the tail while it is at it, the zero weeks and the incident weeks, and the tail is where the misses actually live.

What should a delivery forecast include besides the two numbers?

The unit you counted, the sample window and the split rate you used, written next to the numbers so anyone can reproduce them, and no single date anywhere in the document. Add the date it was last refreshed, because a forecast older than a week is history rather than a forecast. If the p85 falls short of the quarter, name every epic below the line with its planned share of its outcome's currency target, so the value at risk is a number rather than a warning, then record what the outcome owner decided. Published that way, the inputs are on the table and the meeting argues about the decision instead of the maths.

Do bug fixes and tech debt count towards throughput?

Yes, on both sides of the arithmetic. Throughput history should include everything that consumed capacity: stories, bugs linked to the Bug Budget epic, and tech debt linked to the Tech Debt epic. Use the date an item met done, not the date it merged or demoed. The remaining scope count has to include those same epics, which are the first things people forget and the last things that stop consuming throughput. Leave them out of both and you have forecast a team that only ever does feature work, which is not the team you have.

Does counting items work if our stories are wildly different sizes?

Only if they are interchangeable enough to sample, because the arithmetic assumes one item is much like another. Ordinary variation is fine, since counting finished items per week already absorbs it and that spread across weeks is exactly what the interval prices. What breaks the forecast is the item that runs for a month. The weeks it sits in look empty, the week it lands looks exceptional, and the simulation then draws from a history describing nothing real. Fix that at refinement rather than in the spreadsheet, splitting anything that routinely takes more than two weeks before it reaches the board you are counting from.

If the sources do not answer it, a call will.

Talk it through
18 questions

How to deliver a project on time

Answered on How to deliver a project on time, and rendered here in the same words.

Read the page these answers live on →

We have no clean history to forecast from. Where do we start?

Start counting this week and forecast anyway. Four weekly throughput samples give a crude range that beats an invented date, and you widen the gap between p50 and p85 to reflect how thin the data is. The numbers have to come from this team's own flow, so do not borrow another team's velocity or an industry benchmark. Until the samples build up, lean on gate dates as the primary signal, because they are observable from day one and need no history to mean something.

The business will not accept a range. They want one date.

Give them the p85 as their one date. That is what the range is for. You plan the team against the p50, you commit externally to the p85, and you keep the p50 inside the team because outside it the earlier number is heard as the date. Say the p85 is a date you expect to beat five times in six, based on the last three quarters of this team's throughput and an item count you publish alongside it. That answer survives week nine, which a confident single date does not. Tenhaw gives its own clients p85 dates for exactly this reason, and publishes the method that produces them.

The date is fixed externally, by a regulator or a contract. What changes?

The date stops being the variable and scope becomes the variable, so run the simulation backwards. Ask how many items this team finishes by the fixed date at p85, compare that with the item count in the epic, and the difference is scope you cut now rather than in the final fortnight. Take it out explicitly, restate the epic's planned currency value at the reduced scope, and have that accepted by name. Tenhaw works to hard windows of its own, and a proof of concept for a London specialty insurance business took PDFs through to business intelligence on Azure inside two weeks, ground it had circled for roughly a year. A fixed date with unfixed scope is not a commitment, it is a countdown.

How large a forecast movement is worth escalating?

Any movement that puts the p85 past the committed date on the table, however small, and any gate date that moves at all. Everything else stays inside the team. The accountable person then hears from you rarely, and when they do it always means a decision is needed, which is what keeps escalation cheap and credible. Escalating every wobble in the p50 trains people to ignore you, which is how the week-eleven surprise reaches teams that were technically reporting all along.

Why do delivery slips only show up in the last few weeks?

Because most teams track percentage complete, which is self-reported, converges on ninety per cent and sits there until the final fortnight makes it unignorable. Ship dates slip because approval gates slip first, weeks ahead of the deadline, so the slip itself was there much earlier and in plain view. Tenhaw installs that early warning on the client programmes it runs. Show days-to-gate on every epic, review it weekly, and treat any gate date that moves as a ship date that has already moved at least as far. Add a fortnightly re-forecast from your own throughput and no slip needs to reach the accountable person later than the fortnight in which the numbers first showed it.

Can we get a late project back on time by pushing the team harder?

No. You cannot make a late epic early by pushing, which is why delivering on time is a detection problem rather than an effort problem. The teams that land their quarters are the ones that see the slip in week four instead of week eleven, while cutting scope, moving an epic or reallocating people are still real choices. That takes four habits: commit to dates derived from your own throughput, watch approval gates as the early warning, re-forecast every fortnight, and turn every slip into a priced decision with a named owner. Tenhaw runs those four habits with teams of two or three senior people, James Rooney on every engagement, rather than a surge at the end.

What are our options when an epic is going to miss its date?

Four, and the job is to arrive with all of them costed rather than with a status update. Tenhaw's delivery leads cost the same four for clients before a slip reaches a sponsor. Cut scope inside the epic, naming which stories or user journeys come out and what the planned value drops to. Move the epic to next quarter and move its currency share with it, so the outcome gap shows in the plan. Pull people off a named lower-value epic and state what that epic loses. Or accept the later date and say what it costs in months of value monitoring. One named person picks, the decision and its date go in the RAID log, and the roadmap is edited to match the choice.

Should we forecast delivery from team capacity or from throughput?

From throughput, every time. Counting available developer days and dividing assumes nobody is interrupted, blocked, ill or on holiday, and historical throughput already has all of that baked in. Export the last two or three quarters of finished work from your tracker and count completed items per team per week, stories for an AI-augmented team and outcome tickets for an AI-native one. Keep the weekly samples raw, bad weeks, holidays and incident weeks included, because those recur. Aim for at least twelve samples, record a start and a done date for every item so you get cycle time as well, then simulate against the remaining item count and read the distribution rather than averaging it.

Is it OK to move a committed date when the forecast slips?

Moving the date can be the right decision; moving it quietly never is. Re-baselining the commitment to match the current forecast makes every quarter look successful and destroys the calibration data the next forecast needs, so if the date moves, record that it moved, when, and why. The honest route is to raise the slip the same day the fortnightly re-forecast shows the p85 crossing the committed date, put the choice to the accountable person with the value at risk attached, and edit the roadmap to match whatever they decide. At quarter close, count how many committed epics actually landed, so the next plan inherits your record rather than your optimism.

Can we count work as done when the AI says it is finished?

No. An outcome ticket counts as done only when its test requirements pass and its key user journeys are demonstrated working, never when the model reports it has finished. Count the model's word as done and your throughput inflates, the forecast built on it tightens, and the slip you should have seen in week four surfaces in value monitoring instead. Tenhaw holds that line on its own client builds, against an open-source standard of 72 rules enforced by an agent. Forecasting in outcome tickets also needs patience. An AI-native team may finish two or three a week rather than nine stories, so the samples are fewer and fatter and the gap between p50 and p85 is wider for the same confidence.

Who should own a delivery date, the delivery lead or the sponsor?

Both, at different points, and the split is what makes the date mean anything. Tenhaw staffs the delivery lead's half of that split on client programmes it runs. Every committed date on the quarter's table carries the name of the person who accepted it, and that person owns the decision when the date comes under threat. The delivery lead owns detection: tracking days-to-gate, re-forecasting every fortnight, and putting the slip in front of the accountable person the day the numbers show it, with the options costed and the value at risk attached. What a delivery lead must not do is choose quietly on the sponsor's behalf, because a date moved without a named decision destroys the record the next forecast is built on.

How many epics should one team have in flight at once?

Two. A third converts into cycle time rather than output, so cap epics in flight per team and stagger start dates instead. What makes the cap real is a portfolio view: lay every epic in the quarter on one timeline, mark the named people or teams each one needs, and find the weeks where two epics want the same person, because capacity is shared even when boards are not. Move start dates until every epic clears its p85 inside the quarter, then redo the arithmetic. If the moved epics no longer cover their outcomes' currency targets, that gap gets a named owner before the quarter opens. One safe epic and three sitting at p50 is not a schedule.

What does on time actually mean for a delivery team?

It means the whole commitment table landed, not that one epic landed. Before the quarter starts, put every epic on one table and give each row four things: the date it must clear Ready for Dev, the date it must ship and be in value monitoring, its planned share of its outcome's currency target, and the name of the person who accepted that date. The standing Tech Debt and Bug Budget epics sit on it too, because they consume the same capacity. That table is the commitment, it lives where the business can read it without asking, and on time is a property of all of it rather than of the epic being asked about loudest.

Why does the quarter still miss after we rescue the escalated epic?

Because on time was always a property of the whole roadmap rather than of the epic with the most senior sponsor. The rescue takes people from somewhere, three other epics drift unwatched, and the arithmetic that mattered was never redone. If people move, name the lower-value epic they come off, state what it loses and re-forecast it, because its p85 moves too. Keep days-to-gate visible on every epic in the quarter rather than on the escalated one alone, and let the fortnightly re-forecast cover all of them. Then reallocation is a priced trade with a named owner, and the epics nobody rescued stop being a surprise in week eleven.

We plan more value than we deliver every quarter. What should we do?

Measure the ratio and carry it into the next plan instead of promising the full number again. Tenhaw reports a month that delivers no measurable value as a failed month for the same reason. At quarter close, once outcome validation has caught up, compute validated currency value over planned currency value. Plan four million, validate two point eight, and every forecast you publish afterwards carries seventy per cent. Compute the landed hit rate alongside it, committed epics that shipped over committed epics. Do both before you open the next roadmap, which otherwise inherits last quarter's overrun. That ratio puts the shortfall on the table in week one, where a sponsor can add an epic or accept a lower target, rather than in October.

Someone assumed their project was committed. How do we handle it?

Anything not on the quarter's table is not committed, and you say so the first day the assumption surfaces. That is blunt, and it is far cheaper than a business planning around a date nobody ever accepted. Then treat the request as what it is, a change to the commitment rather than a favour. Putting it on the table means a named person accepts its dates, and it means something else moves, so arrive with the options costed: cut scope inside a named epic, move one to next quarter, or accept a later date and say what that costs in months of value monitoring. One person decides, the decision goes in the RAID log, and the roadmap is edited to match.

What does catching a slip in week four actually look like?

Take an invented retailer and invented numbers. A 600k guest checkout epic holds 46 items, inflated to 55 for historical scope growth, so the p50 lands on 5 September and the p85 on 12 September, and 12 September becomes the commitment. In week four the daily lookahead flags days-to-gate going negative, because engineering approval is stuck behind payment sandbox access, and the gate moves two weeks. At the next refinement the count is 58 and the p85 is 3 October. The sponsor cuts the saved-card journey, dropping planned value to 380k, and moves one engineer off a 500k epic, which slips nine days. Found in week eleven, the only surviving option is 3 October.

Is a rising bug count an early warning that a date will slip?

It is, and it is worth reading weekly rather than at the end. The Bug Budget epic sits on the same commitment table as everything else, so time spent over its budget is time taken from committed work. The daily lookahead compares its burn rate with the same week last quarter, which beats arguing about whether things feel noisier than usual, and a burn running ahead of that comparison is capacity quietly leaving the plan. It will surface soon enough in the fortnightly re-forecast as a p85 drifting past a committed date. Raise it the same day, exactly as you would a gate that has moved, and name the epic it is costing.

All how-to guides

If the sources do not answer it, a call will.

Talk it through
book a call

Still have a question?

A 30-minute discovery call with James Rooney. Bring the question this page did not answer. You'll leave with a rough scope whether you engage us or not.

most start with a fixed-price AI Readiness Audit · £44,000 · 4 weeks · working prototypes

// pick a slot · cal.com/tenhaw/professional-servicesLIVE CALENDAR

Calendar not loading? Open it on cal.com or email hello@tenhaw.com.