How to break an epic into stories
- steps
- 9
- named failure modes
- 5
- definition-of-done criteria
- 6
How to break an epic into stories, in one paragraph
Breaking an epic into stories is where a priced piece of a business outcome becomes work a team can start on Monday. A story is the smallest piece of user-visible value you can ship: small enough to build inside a sprint, specific enough to test, traceable to one epic and one outcome. Good looks like four to eight stories that between them cover every journey step the epic changes, each releasable on its own, each sized against your own flow data, with at least one product-approved so the epic can leave Ready for Dev.
That is the procedure. The call is where it meets your delivery structure.
Talk it throughWhat these are. The delivery operating model our engagements install alongside client teams: the method underneath the agentic work rather than the agentic work itself, published in full and free to use. It is written for the person running a quarter, not for a buyer, so if you are evaluating us, read the five priced engagements or the case studies instead.
Do this once an epic has a parent outcome, a planned currency contribution and a quarter on the roadmap, and before it can leave Ready for Dev. If your team runs AI-native, skip it: the epic-level outcome ticket is the unit of work.
- Time to run it once
- About half a day, plus a refinement session
- What you need
- A whiteboard or shared document for the journey map
- Your team's flow data, for the size ceiling
- The delivery tracker
If you do not have those in place, the call is a good place to work out what comes first.
Talk it throughOn this page
Step by step
Each step is deep-linkable, so you can send a colleague the one that is in dispute.
- 1
Check the epic is fit to split
Open the epic and confirm four things before you write a single story: it links to exactly one outcome, it carries a planned currency contribution to that outcome's target, it belongs to one quarter's roadmap, and it has been through research and design rather than sitting in idea. Fix anything missing now. Splitting an epic with no number attached produces stories nobody can prioritise, and splitting one with no quarter produces work that quietly rolls forward. Write the epic's planned contribution at the top of whatever you are splitting on. Everything you produce gets checked back against that figure at the gate.
- 2
Map the journey before you slice
Write the user journey the epic touches, from the trigger to the moment value is realised, as a numbered line of plain-language steps.
Six to twelve steps is normal. Do it with the designer and one engineer, on a whiteboard or in a shared doc, in under an hour. Mark which steps exist today and which this epic introduces or changes. Keep the numbers, because every story should name the steps it covers, and that is what turns coverage into something you can check rather than something you feel. A step nobody can name is a step nobody has designed.
- 3
Draft with AI, then cut it hard
Paste the outcome, the epic, its currency contribution and the numbered journey into a model, and ask for candidate stories with acceptance criteria and the journey steps each one covers. Ask for more than you need, ten or so, because editing a draft beats staring at an empty backlog. Then cut. Models duplicate slices, write one story per screen rather than per journey step, and produce criteria that restate the title. Delete anything that does not change what a user can do, merge anything that cannot ship alone, and rewrite every criterion in your own words. Expect to keep about half.
- 4
Slice vertically, never by layer
Every story crosses the whole stack for a narrow piece of journey: data, logic, interface, and whatever the user sees.
Refuse stories called build the API, add the database table or wire up the front end. Those are chapters, and they belong to a developer inside one story rather than on your board. The test is blunt: could you release this alone, and describe the difference to a customer in one sentence without mentioning another story? If not, you have sliced by layer or by team, and the epic will sit at ninety per cent complete for weeks with nothing shippable.
- 5
Size against your flow data, split above ceiling
Take each candidate to the two-weekly refinement session and size it.
Set the ceiling from your flow data rather than from opinion: look at the stories your team finished last quarter, find the size at which cycle times start to scatter, and split anything at or above it. Five splits are worth knowing: by journey step, by business rule, by data variation, by interface, and happy path first with the exceptions following. Prefer happy path first. Record the sizes rather than arguing about them, because that record feeds your p50 and p85 forecasts. A story nobody can size is discovery, and it goes back to research.
- 6
Sequence so the first slice ships alone
Order the set so the first story is a thin path through the whole journey that a real user could complete, even if it handles one case for one segment. It has to build without any other story in the set, and it should touch the measure the outcome is judged on, so live monitoring gets a signal early. Everything after it thickens the path. While you sequence, write a rough value share against each story, marked as not tracked: the model prices epics, not stories, and these numbers exist to say what gets built first and what a slip would cost.
- 7
Write acceptance criteria you can fail
Each story needs criteria specific enough that a tester, or a model, could disprove them without asking you a question.
Write observable behaviour: given this state, when the user does this, then this happens. Three to seven per story is normal. If you need more than ten, you are describing two stories, so go back and split. Include the negative cases you care about and name the ones you have decided to ignore, because an unnamed exclusion turns into a defect argument later. State the assumptions the story carries. If a criterion contains intuitive, robust or seamless, it is a hope, not a criterion.
- 8
Clear the approval gate deliberately
The epic cannot leave Ready for Dev without product approval, engineering approval and at least one product-approved story attached.
Run it as a forty-five minute working session with the whole set on screen, not a signature. Product confirms the stories cover every journey step the epic changes, sums the rough value shares against the epic's planned contribution, and agrees the first story is the right first one. Engineering confirms each slice is buildable as written and flags any that hides a dependency on another team. Stage the rest of the set if you like: until the epic is product-approved, none of its stories can start.
- 9
Route everything that is not a story
A split always throws off work that is not user-visible value, and each kind has a home.
Work a developer discovers mid-build becomes a chapter under the story it belongs to. Defects in something already shipped go to the quarter's Bug Budget epic and never into this epic's list, or the epic's burn-down quietly swallows your quality signal. Refactoring and platform work this epic depends on goes to the Tech Debt epic and gets sequenced against it. If a piece of work fits none of those, it belongs to a different outcome, and the honest move is to raise it there.
Bring a real piece of work to the call and we will walk it through these.
Talk it throughWorked example: a £400k epic under a £1.2m outcome
Northgate Home is an invented mid-market online retailer. Its outcome is reduce checkout abandonment on mobile, target £1.2m of recovered annual revenue, spanning two quarters. One epic under it is guest checkout without account creation, planned contribution £400k, sitting in Q3. The journey line runs seven steps: land on basket, choose checkout, enter delivery address, choose delivery option, pay, confirm, receive confirmation email. Steps three to five are what this epic changes. The split produces five stories. One, a guest completes a card payment on standard delivery to a UK address, sized 8. Two, a guest chooses express delivery, sized 3. Three, a guest pays with either of the two wallet methods, sized 5. Four, a guest receives an order confirmation and tracking email without an account, sized 3. Five, a guest is offered account creation after payment rather than before, sized 5. Story one is the thin path: it goes live in week two and produces a real abandonment signal three weeks before the epic finishes. The rough value shares are £150k on story one, £30k on two, £110k on three, £60k on four and £50k on five, summing to the epic's £400k. They are a sequencing tool rather than commitments, because the model prices epics and not stories. They say story one carries most of the money and gets built first, and that if stories three and five slip out of Q3 the visible gap is £160k against a £400k epic. That is a conversation at the next monthly outcome validation rather than a surprise at roadmap close.
Yours will look different. Thirty minutes is enough to see how.
Talk it throughWhere this goes wrong
- 01
Stories sliced by layer or by team.
It happens because the slices mirror the org chart and because layer-sized estimates feel easier to give. The result is an epic stuck at ninety per cent for a month with nothing released, because the value only appears when the last layer lands.
- 02
Scope leaking out during the split.
The expensive slice gets deferred to next quarter, nobody restates the epic's planned contribution, and the epic ships at a third of its number while the outcome still shows the full target. Sum the shares at the approval gate, not at value monitoring.
- 03
One giant first story with a queue of tidy-up behind it.
Usually a sign the team wanted to start rather than to slice. It defeats forecasting, because most of the epic's risk sits in one lump nobody could size honestly.
- 04
Acceptance criteria written after the code.
They describe what was built rather than what was needed, and product approval at release becomes a formality. Write them before the story leaves the backlog.
- 05
Splitting an AI-native team's epic into stories out of habit.
It strips out the surrounding context the model needed and pre-empts judgement the model can exercise itself, so you pay the decomposition cost and get slower delivery for it. Put the journeys and the test requirements in the outcome ticket instead.
Done means
- Every numbered journey step the epic changes is covered by at least one story, and every story names the steps it covers.
- Every story is a vertical slice you could release on its own and describe to a customer in one sentence.
- Every story is sized, and nothing sits at or above the ceiling your flow data sets.
- Every story has acceptance criteria written as observable behaviour, with the negative cases you care about named and the ones you are ignoring stated.
- The rough value shares sum to the epic's planned contribution, or the difference is written down and the epic's number restated.
- The epic has product approval, engineering approval and at least one product-approved story, and the team agrees which story is built first.
If you recognise one of those already happening, that is a good call to have.
Talk it throughFor an AI-augmented team this guide runs as written, with the model producing the first-draft split and a human cutting it back. An AI-native team does not do it at all: the epic-level outcome ticket is the unit of work, and decomposing below it strips out the context the model needed. The thinking does not disappear though, it moves up a level. The journey line becomes the key user journeys section of the outcome ticket, and the acceptance criteria become its test requirements, which is what has to pass before the ticket is done.
The two delivery modes, side by side →Which mode your team is actually in is the first thing we establish on a call.
Talk it throughWhere this sits in a programme
The procedure is the same whatever you are building. These cover what it runs into when the thing being built is agentic.
If you want this run inside a programme rather than read, that is the conversation.
Talk it throughMore on setting up the work
These guides are written to be read in order.
05How to run product discovery research
Discovery is how a hypothesis stops being a hunch. Keep the evidence linked to the work, not buried in an archive.
How to define and price a business outcome
An outcome is a business result with a price tag. If you cannot price it, it is not an outcome, it is a wish.
How to build a quarterly product roadmap
A roadmap is one quarter, twelve to thirteen weeks. Outcomes can span quarters; epics cannot.
How to write an epic that carries a value target
An epic is your unit of value contribution to an outcome. If it does not carry a number, it is a feature wishlist.
Or skip ahead and ask which of these your team needs first.
Talk it throughWant help installing this?
These guides are free and you owe us nothing for using them. If you would rather have operators install the operating model alongside your teams and stay until it sticks, that is what our engagements do.
most start with a fixed-price AI Readiness Audit · £44,000 · 4 weeks · working prototypes
Calendar not loading? Open it on cal.com or email hello@tenhaw.com.
Questions
How many stories should an epic have?
There is no fixed number, but four to eight is the usual landing point for an epic that fits one quarter. One story means either a small epic, which is fine, or that you have not sliced. More than about twelve usually means the epic was two epics wearing one number, and the honest fix is to split the epic and divide its planned contribution rather than carry a backlog nobody can hold in their head.
Do stories carry a currency value?
No. Epics carry the planned contribution to the outcome's target, and that is the number reported and validated. Tenhaw's founder co-led the design of the governance and reporting layer of a target operating model for 500 teams at HSBC Global Payment Solutions, piloted and due for global rollout in 2026. Rough per-story shares are still worth writing during sequencing, because they tell you what to build first and what a slip costs, but they are not tracked, not reported and not something anyone is held to. If per-story figures start appearing in status reports, you have created a second set of numbers that will disagree with the first.
What do I do with a story nobody can size?
Treat it as discovery, not as a story. If refinement cannot size it because the team does not understand the problem, the shape of the data or what the user needs, send it back to the research phase with a specific question attached and a date you need the answer by. Sizing it anyway produces a number with no information in it, and that number then pollutes the p50 and p85 forecasts everyone is planning against.
Can I write stories before the epic is approved?
Yes, and staging the whole set in advance is often the point of the working session. What you cannot do is start them. A story cannot leave the backlog until its parent epic is product-approved, and the epic cannot leave Ready for Dev without product approval, engineering approval and at least one product-approved story attached. So the set can exist, sized and sequenced, waiting on the gate.
What is a vertical slice, and why not split stories by layer?
A vertical slice crosses the whole stack for one narrow piece of the user journey: data, logic, interface and whatever the user sees, releasable on its own. Stories called build the API or wire up the front end are really chapters, and a chapter belongs to a developer inside one story rather than on the board. The blunt test is whether you could release this alone and describe the difference to a customer in one sentence without mentioning another story. Split by layer and the value only appears when the last layer lands, which is why layer-sliced epics sit at ninety per cent complete for weeks with nothing shippable.
How do you know when a user story is too big?
Set the ceiling from your own flow data rather than from opinion. Look at the stories your team finished last quarter, find the size at which cycle times start to scatter, and split anything at or above that size at the refinement session. A story should be small enough to build inside a sprint and specific enough to test, and a giant story defeats forecasting because most of its risk sits in one lump nobody can size honestly. Five splits are worth knowing: by journey step, by business rule, by data variation, by interface, and happy path first with the exceptions following. Prefer happy path first, and record the sizes, because that history feeds your p50 and p85 forecasts.
Can AI write the story breakdown for us?
It writes a good first draft and a poor final one. Paste the outcome, the epic, its currency contribution and the numbered journey into a model, and ask for candidate stories with acceptance criteria and the journey steps each one covers. Ask for ten or so, because editing a draft beats an empty backlog. Then cut hard. Models duplicate slices, write one story per screen rather than per journey step, and produce criteria that restate the title. Delete anything that does not change what a user can do, merge anything that cannot ship alone, rewrite every criterion yourself, and expect to keep about half. Tenhaw checks model-written code the same way, against 72 handbook rules published on GitHub and enforced by an agent.
Which story should the team build first?
The thinnest path through the whole journey that a real user could complete, even if it handles one case for one segment. It has to build without any other story in the set, and it should touch the measure the outcome is judged on, so live monitoring gets a signal early. Everything after it thickens the path. Rough value shares, written during sequencing and marked as not tracked, keep the choice honest, because they exist to say what gets built first and what a slip would cost. In the guide's worked example the thin first slice goes live in week two and produces a real signal three weeks before the epic finishes.
What makes good acceptance criteria for a user story?
Criteria a tester, or a model, could disprove without asking you a question. Write observable behaviour. Given this state, when the user does this, then this happens. Three to seven per story is normal, and more than ten means you are describing two stories, so go back and split. Include the negative cases you care about and name the ones you have decided to ignore, because an unnamed exclusion turns into a defect argument later, and state the assumptions the story carries. If a criterion contains intuitive, robust or seamless, it is a hope rather than a criterion, and nobody can fail it.
Do AI-native teams still need user stories?
No. In an AI-native team the epic-level outcome ticket is the unit of work, and splitting it into stories out of habit strips out context the model needed and pre-empts judgement it can exercise itself, so you pay the decomposition cost and get slower delivery. The journey line becomes the key user journeys section of the outcome ticket, and the acceptance criteria become its test requirements, which must pass before the ticket is done. The thinking moves up a level rather than vanishing. Tenhaw's own two-week proof of concept for a London specialty insurance business ran on that footing, paired throughout with one of the client's engineers. Story splitting is for AI-augmented teams, where a developer writes the code and the model assists.
How long does it take to break an epic into stories?
About half a day, plus the next two-weekly refinement session where the stories actually get sized. Inside that half day the journey map takes under an hour with the designer and one engineer, the rest goes on the AI-assisted first draft, the cutting, the sequencing and the acceptance criteria, and the approval gate runs as a forty-five minute working session with the whole set on screen. Sizing is the part you cannot do from a desk, because the ceiling comes from the team's own flow data rather than from opinion. Tenhaw publishes the whole method in full, so a team can run that half day itself without hiring anyone.
What should we check before splitting an epic into stories?
Four things, and fix any that are missing before you write a single story: the epic links to exactly one outcome, it carries a planned currency contribution to that outcome's target, it belongs to one quarter's roadmap, and it has been through research and design rather than sitting in idea. Splitting an epic with no number attached produces stories nobody can prioritise, and splitting one with no quarter produces work that quietly rolls forward. Write the planned contribution at the top of whatever you are splitting on, because everything you produce gets checked back against that figure at the gate.
Do we need a user journey map before slicing an epic?
Yes, and it should take under an hour. Write the journey the epic touches, from the trigger to the moment value is realised, as a numbered line of plain-language steps, and six to twelve steps is normal. Do it with the designer and one engineer, on a whiteboard or in a shared doc, and mark which steps exist today and which this epic introduces or changes. That marking is what tells you where the work really is, because the steps the epic changes are the ones your stories have to account for. A step nobody can name is a step nobody has designed.
Who needs to be in the room to approve a story breakdown?
Product and engineering together, for forty-five minutes, with the whole set on screen. Run it as a working session rather than a signature. James Rooney chairs the first few of these gates on a Tenhaw engagement, then steps out once the team runs them itself. Product sums the rough value shares against the epic's planned contribution and agrees the first story is the right first one. Engineering confirms each slice is buildable as written and flags any that hides a dependency on another team. The epic cannot leave Ready for Dev without both approvals and at least one product-approved story attached, and until it is approved none of its stories can start.
What does a real epic-to-story breakdown look like?
Tenhaw publishes one worked end to end. Northgate Home is an invented mid-market online retailer whose outcome is reducing mobile checkout abandonment, targeting £1.2m of recovered annual revenue across two quarters. One epic under it, guest checkout without account creation, carries a planned £400k and sits in Q3. The journey runs seven numbered steps and the epic changes steps three to five, which yields five stories: a guest pays by card on standard delivery, a guest chooses express delivery, a guest pays with either wallet method, a guest gets a confirmation and tracking email, and a guest is offered an account after payment rather than before.
What does it cost when a story slips out of the quarter?
You can say the number on the day it happens, which is why rough value shares get written at sequencing. In a worked £400k guest checkout epic the shares are £150k, £30k, £110k, £60k and £50k, so if the wallet story and the account-creation story slip out of Q3, the visible gap is £160k against a £400k epic. It surfaces at the next monthly outcome validation rather than as a surprise at roadmap close. Tenhaw holds itself to the same test of measurable value every month, and a month that delivers none is reported as a failed month. The trap is deferring the expensive slice and leaving the epic's planned contribution untouched, so it ships at a third of its number.
How do we make sure the stories cover the whole epic?
Give every story the numbers of the journey steps it covers, then read the set back against the numbered line rather than against your memory. The split is not finished until every step the epic changes has at least one story standing against it, and product runs exactly that check at the approval gate with the whole set on screen. It works only when the journey line is numbered and each story names its steps in writing. Without both, coverage becomes a show of hands. It is also the first line of the definition of done for a split, ahead of sizes and acceptance criteria.
Where do bugs and refactoring found during the split go?
Anywhere but this epic. A split always throws off work that is not user-visible value, and each kind has a home. Work a developer discovers mid-build becomes a chapter under the story it belongs to. Defects in something already shipped go to the quarter's Bug Budget epic and never into this epic's list, or the epic's burn-down quietly swallows your quality signal. Refactoring and platform work this epic depends on goes to the Tech Debt epic and gets sequenced against it. If a piece of work fits none of those, it belongs to a different outcome, and the honest move is to raise it there.