Skip to content

Free template

User story template

A user story says who wants what, and why. Acceptance criteria say how you will know it is done. Copy the template, then read the example below it.

The template

Title: <a short summary, verb first>

As a <specific role>,
I want <one thing they can do>,
so that <the outcome they care about>.

Acceptance criteria
1. Given <context>, when <action>, then <observable result>.
2. Given <context>, when <action>, then <observable result>.
3. Given <an error or edge case>, when <action>, then <what the user sees>.

Notes
- Out of scope: <what this story does not cover>
- Dependencies: <other teams, services or stories>
- Source: <the request or requirement this came from>

A worked example

Title: Keep a returning buyer's cart

As a returning buyer,
I want my cart kept for 30 days,
so that I can finish my order on another device.

Acceptance criteria
1. Given I have items in my cart, when I sign in on another device, then I see the same items and quantities.
2. Given my cart is more than 30 days old, when I sign in, then the cart is empty and a note says it expired.
3. Given an item in my saved cart has sold out, when I open the cart, then the item is marked unavailable and left out of the total.

Notes
- Out of scope: sharing a cart with someone else
- Dependencies: the stock service, for availability
- Source: REQ-214, checkout drop-off review

How to use it

  • Name a real role. “As a user” hides who the story is for; “as a returning buyer” tells the team what they know and need.
  • One want per story. If the want joins two things with “and”, it is usually two stories.
  • Keep the reason. “So that” lets the team suggest a smaller way to meet the same need.
  • Make every criterion testable. Replace “fast” or “easy” with something you can check: “within 2 seconds”, “in two steps”.
  • Cover what goes wrong. At least one criterion should say what happens with an error, an empty state or invalid input.

Questions

What is the format of a user story?

As a [role], I want [goal], so that [reason]. The role is a specific kind of user, the goal is one thing they can do, and the reason is the outcome they care about. Acceptance criteria follow, usually written as Given, When, Then.

How many acceptance criteria should a user story have?

Usually three to six. One is rarely enough, because it leaves out what happens when something goes wrong. More than eight usually means the story is too big to finish in a sprint and should be split.

Do this on your real delivery.

SyncupHUB checks requests as they arrive, reads status and risk from the work, and keeps the evidence for every release, with AI that proposes and people who approve. Cloud is free for the first month.