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
Bring one real user need, from research or support, not a feature request from a meeting.
Have the persona or the journey map on the wall so 'as a' means someone specific.
Put INVEST on the wall as a checklist: independent, negotiable, valuable, estimable, small, testable.
Invite an engineer and a designer. A story written by the PM alone is a specification with a costume on.
Agenda
10 min
Name the user Who exactly, from the persona work. 'As a user' is the phrase that makes every story meaningless.
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.
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.
35 min
Acceptance criteria together Write them as observable behaviour: given, when, then. Engineering writes half, product writes half, then swap and challenge.
20 min
Cut scope out loud Fill the out of scope block deliberately. A story without an explicit boundary grows during the sprint, silently.
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
Writing the interface into the story. It locks the solution before the team has thought, and removes the one thing the team is good at.
Acceptance criteria that restate the title. 'The user can export' is not testable. Say what an export contains and when it fails.
One giant story everyone agrees with. Agreement usually means it is too vague to disagree with yet.
Afterwards
Stories go to refinement and sizing. If several stories keep colliding, they belong on a story map before they belong in a sprint.