User Stories
What are user stories?
A user story is a short, simple description of a feature from the user's perspective: who wants it, what they want, and why. It's a placeholder for a conversation and for acceptance criteria, not a full specification.
Use it when: you're turning user needs or problem statements into deliverable backlog items that the team can estimate, build, and test.
Copy/paste template
As a [user type], I want [goal/capability] so that [benefit/value].
Example: "As a returning customer, I want to log in quickly so that I can access my account without re-entering my details."
Add acceptance criteria (bulleted, testable) so "done" is clear.
Why user stories matter
- Keep the focus on user value instead of technical tasks.
- Give the team a shared, readable format for requirements.
- Support prioritisation and estimation because each story is a small unit of value.
- Encourage conversation (the "so that" invites questions and refinement).
What a good user story includes
Checklist (INVEST)
- Independent: can be built and shipped without depending on another story.
- Negotiable: detail is discussed, not fixed in stone upfront.
- Valuable: delivers value to a user or the business.
- Estimable: the team can size it.
- Small: completable in one iteration. Slice if too big.
- Testable: acceptance criteria make it clear when it's done.
Common formats
- Standard: As a [user], I want [goal] so that [benefit]. Use this by default.
- Job story: When [situation], I want to [motivation] so I can [outcome]. Use when context matters more than persona (see Jobs to be done).
Examples
Example (the realistic one)
Story: "As a project manager, I want to assign tasks to team members so that work is distributed and everyone knows what they own."
Acceptance criteria: User can select a task and choose an assignee from the team list; assignee is visible on the task and in their view; reassignment is possible.
Common pitfalls
- Too technical: the story describes the implementation, not the user goal. → Do this instead: write from the user's perspective. Move technical detail to acceptance criteria or tasks.
- Too vague: "I want a better experience" could mean anything. → Do this instead: name the specific capability and the benefit.
- Missing "so that": the value is unclear. → Do this instead: always include the benefit. If you can't, question whether the story is needed.
- Too large: the story spans multiple flows or weeks. → Do this instead: split by user outcome or by step in the flow.
- No acceptance criteria: "done" is disputed. → Do this instead: add 2–5 testable criteria before development.
User stories vs. related concepts
- User story vs job story: user story = As a / I want / so that (persona-first). Job story = When / I want to / so I can (context-first). Use job stories for discovery; user stories for the backlog.
- User story vs problem statement: a problem statement describes what's broken for whom. A user story describes a capability you'll deliver. Problem first, then stories that address it.
- User story vs acceptance criteria: the story is the one-liner. Acceptance criteria are the testable conditions for "done".
Related terms
- Problem statement – align on the problem before writing stories that solve it.
- Jobs to be done – job stories as an alternative format when context leads.
- Feature prioritisation – how you order and slice stories.
- User research – evidence for the "so that" and for acceptance criteria.
- Product roadmap – stories feed into roadmap themes and milestones.
- Agile design process – stories as the unit of work in agile.
- Feedback loop – stories get refined from feedback and data.
- Persona – the "as a" in user stories. Keep personas grounded in research.
Next step
Take one problem statement or feature idea and write it as a user story with 2–3 acceptance criteria. If you're unsure who the user is, read Persona or Jobs to be done.
If the story is clear but the team still argues about what to ship, use the free UI Decision Brief to pin down the decision, constraints, and success check before development starts.