User story
Definition
A user story is a brief, informal description of a software feature written from the perspective of the end user, structured around who the user is, what they want to do, and why — used in agile teams to focus development work on user value.
User stories were introduced by Kent Beck as part of Extreme Programming (XP) and became the dominant format for expressing requirements in agile teams. The classic template: As a [type of user], I want [some goal] so that [some reason].
The format forces the team to think about who needs this, what they actually need, and why — before thinking about how to build it. That ordering matters. Teams that skip the "so that" often build technically correct features that don't solve the actual problem.
What makes a good user story:
- Independent: Can be worked on without depending on another unfinished story.
- Negotiable: Not a contract. Details get refined in conversation.
- Valuable: Delivers something meaningful to a user or the business.
- Estimable: The team can roughly size it.
- Small: Completable within a single sprint.
- Testable: You can write acceptance criteria that confirm completion.
This is the INVEST criteria, named for the acronym.
Acceptance criteria are the specific conditions attached to a user story that must be true for the story to be considered done. They're written alongside the story, not separately.
Epics vs. user stories: A user story is sprint-sized. When a feature is too large to fit in a sprint, it becomes an epic — a container story that gets broken down into multiple sprint-sized user stories over time.
User stories are typically the unit of work in the product backlog and the sprint backlog. They're the things the team estimates in story points, demos at sprint review, and marks done per the definition of done.
Examples
- As a registered user, I want to reset my password via email so that I can regain access if I forget my credentials
- As a project manager, I want to see all open tasks in a single dashboard so that I don't have to check multiple tools
- As a mobile user, I want to snap a photo of a whiteboard so that I get a summary without typing any notes
- Epic split into five user stories: each covers one step of the onboarding flow
- Story flagged as too large during refinement (estimated 21 points) and split into three 5-point stories
Snap a user story. Ship its actions.
BoardSnap turns any whiteboard — including this one — into a summary and action plan.