Prioritisation & planning

User story writing

Turn a need into stories with a user, an intent, a reason and acceptance criteria.

When. A story written alone by the PM gets built as the PM imagined it. Written with the team, it gets built as the user needs it.

Duration
2 h
Participants
PM, design, engineering
Output
Stories that pass INVEST, with acceptance criteria
Stage
Pre-PMF · Post-PMF · Scale-up · Mature
As aI wantSo thatAcceptance criteriaOut of scopeOpen questions
Find the right sequence

In FigJam: File → Duplicate to your drafts, then keep this workshop's section. Get the file on Figma Community

Filled example

As aLéa, technician, 8jobs a day, gloveson, often in abasement with noI wantTo finish logging anintervention evenwhen the app cannotreach the networkSo thatI stop redoing thepaperwork in the vanat 7pmI stop losing what Ityped in thebasementAcceptance criteriaGiven no network,when Léa saves, thenthe intervention isstored locally andGiven the networkreturns, when theapp is in thebackground, thenGiven a sync failsthree times, thenLéa sees whichintervention failedGiven Léa edits apendingintervention, thenthe local version isOut of scopePhoto upload, whichfollows its ownqueueMerging edits madeon two devicesOpen questionsDoes a pendingintervention appearin Marc's day view?What happens if Léais offline for awhole week?

Example data. Fieldnote is a fictional company used to fill every board, so the examples tell one consistent story.

Fieldnote, Karim, Ana and Tom, writing the offline draft story from Léa's van interviews.

What the team took away

The fourth acceptance criterion, that the local version wins, was the decision the refinement session had been stuck on for three weeks. Writing the story forced it out in ten minutes.

How to run it

Preparation

Agenda

  1. 10 min
    Name the user
    Who exactly, from the persona work. 'As a user' is the phrase that makes every story meaningless.
  2. 20 min
    Write the intent, not the screen
    'I want' describes what the person is trying to achieve, never the interface. 'I want a dropdown' is a solution that has skipped the problem.
  3. 15 min
    So that
    The reason. If the team cannot fill it, the story may not be worth building, and finding that out now is the cheapest it will ever be.
  4. 35 min
    Acceptance criteria together
    Write them as observable behaviour: given, when, then. Engineering writes half, product writes half, then swap and challenge.
  5. 20 min
    Cut scope out loud
    Fill the out of scope block deliberately. A story without an explicit boundary grows during the sprint, silently.
  6. 10 min
    INVEST check
    Run the checklist. The letter that fails most often is S: if it cannot be done in a few days, split it before it is estimated.

Pitfalls

Afterwards

Stories go to refinement and sizing. If several stories keep colliding, they belong on a story map before they belong in a sprint.

Source : https://www.agilealliance.org/glossary/invest/

Related workshops

Back to the compassAll workshopsVersion française