Writing Agile User Stories
Part of the Business Analyst Roadmap
In short
A story that takes three sprints isn't a story, it's a mini project. Agile stories must be small enough to finish in one sprint and clear enough that 'done' is never a debate.
Applying Phase 3's user story format specifically within a sprint-based workflow — small enough to complete within one sprint, with acceptance criteria clear enough that 'done' isn't debatable.

Think of it like this
Slicing a layered cake
Cut a layered cake top to bottom and every slice has sponge, cream and icing. Cut it sideways and someone gets only icing. Good stories are vertical slices: each one delivers a little screen, logic and data that users can actually try.
Watch it happen
Splitting an epic into sprint-sized stories
1/4'Pay fees online' is an epic. Too big for one sprint, so we split it.
The big ideas
What you need to know
Slice vertically
Split by user path, rule or data type, not by layer. 'Build the database' alone isn't a story.
INVEST check
Independent, Negotiable, Valuable, Estimable, Small, Testable. A quick test for any story.
Criteria define done
Two to five acceptance criteria, written as checkable outcomes. Given/When/Then format works well.
A story is a reminder
The card starts a conversation with the team. Add details from that conversation back to the story.
See it in code
Walk through the code
1Story: As a student, I want to pay my fees by UPI2 so that I don't have to stand in the fee queue.3 4Scenario: Payment succeeds5 Given I owe ₹42,000 for this semester6 When I approve the UPI request in my app7 Then I see "Payment successful"8 And my dues show ₹0 within 1 minute9 10Scenario: Payment fails11 Given I owe ₹42,000 for this semester12 When the UPI request is declined13 Then I see "Payment failed" and a Retry button14 And my dues still show ₹42,0001/3The story: who, what, and why. Short enough to read in five seconds.
One small story, two scenarios. A tester can check each line as pass or fail, which is exactly the point.
Save yourself the pain
Common mistakes
Oops
Splitting by technical layer: 'backend for refunds', 'frontend for refunds'.
Do this instead
Split by user outcome, so each story delivers something a user can test.
Oops
Acceptance criteria like 'should be fast and easy'.
Do this instead
Make them checkable: 'loads in under 2 seconds on 4G', 'completes in 3 taps or fewer'.
Your mission
Split an epic
Quick check
Which is the best sprint-sized story?
Go deeper
- 1Break a larger feature idea into 3-5 sprint-sized user stories.
- 2Practice sizing: which of your stories could realistically fit in a single 2-week sprint?
- 3Learn the INVEST criteria (Independent, Negotiable, Valuable, Estimable, Small, Testable) for good stories.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.