Topic 03

User Stories & Acceptance Criteria

Concept

Once a team knows what's needed, it has to write it down in a way developers can build and everyone can agree on. Agile teams do this with user stories — short, plain sentences written from the user's point of view — each paired with acceptance criteria that say exactly when it's done.

The format keeps the focus where it belongs: on a real person trying to achieve something, not on a feature for its own sake. It's deliberately small and conversational — a reminder to have a discussion, not a thick specification document.

Think of a restaurant order ticket: who it's for, what they want, and how the kitchen will know it's right. A user story is that ticket for a piece of software.

The Story Format

User stories follow a simple template: "As a [type of user], I want [some goal], so that [some benefit]." The three parts force you to name who it's for, what they want, and why it matters. That "so that" is the secret weapon — it keeps the team honest about the actual benefit, and sometimes reveals that the requested feature isn't the best way to deliver it.

A user story, with its acceptance criteria
As a user, I want a daily reminder…
…so that I don't forget my habit
✓ The reminder fires at the time I choose
acceptance criterion
✓ Tapping it opens the app
acceptance criterion
✓ Reminders are off until I turn them on
acceptance criterion

Acceptance Criteria

Acceptance criteria are the specific, checkable conditions that define "done" for a story. They turn a friendly sentence into something testable: not just "I want a reminder", but "the reminder fires at the chosen time, tapping it opens the app, and reminders are off by default". When every criterion is met, the story is done — no debate. They're also the seed of the tests that will later verify the feature, tying requirements straight to testing.

INVEST: What Makes a Good Story

Good user stories share a set of traits captured by the word INVEST: Independent (stands on its own), Negotiable (a starting point for discussion, not a contract), Valuable (delivers something a user cares about), Estimable (the team can size it), Small (fits in a sprint), and Testable (you can tell when it's done). You don't need to recite it — just know that a good story is small, valuable, and clearly finishable.

Stories, Tasks, and Epics

Work comes in sizes. A big, vague chunk of value — "users can manage their habits" — is an epic; it's too large to build directly, so it's split into several stories ("create a habit", "edit a habit", "delete a habit"). Each story may then break into developer tasks (the technical steps to build it). Epic splits into stories, stories split into tasks — a simple hierarchy you'll see on every Agile board.

For Cadence, Priya writes: "As a user, I want a daily reminder so I don't forget my habit," with acceptance criteria — fires at the chosen time, tappable to open the app, off by default. Now Lena knows exactly what to build, Nora knows exactly what to test, and Priya knows exactly what "done" looks like. One small sentence aligns the whole team.

Common Confusions
  • "A user story is a detailed technical specification." It's the opposite — a short, deliberately light prompt for a conversation. The details emerge in discussion and acceptance criteria, not in the sentence.
  • "Acceptance criteria are a nice-to-have." They define what "done" means and become the tests. Without them, "done" is just an opinion, and arguments about whether a feature is finished are guaranteed.
  • "Bigger stories are more efficient — fewer to manage." Small stories flow and finish; big ones stall, hide surprises, and are hard to estimate. Splitting is a feature of good practice, not busywork.
Why It Matters
  • User stories are the basic unit of work on nearly every Agile team — you'll read, write, and estimate them constantly, so the format is core vocabulary.
  • Acceptance criteria connect requirements directly to testing: they say what "done" means, and they become the checks that prove it.
  • Keeping the user's goal and benefit front and center is a quiet guard against building features nobody actually needed.

Knowledge Check

What is the standard user story format?

  • "As a [user], I want [goal], so that [benefit]"
  • A numbered list of technical steps for developers to follow
  • A report of which tests passed and failed
  • A description of a defect found in the running software

What are acceptance criteria?

  • The specific, checkable conditions that define when a story is done
  • The short one-line sentence that describes what the user actually wants
  • The order in which stories should be built
  • The actual code that implements the story

Why does the topic say a user story is "deliberately light"?

  • It's a prompt for a conversation, not a full specification document
  • Because user stories don't really matter to the team
  • Because writing more detail is against the rules
  • Because the finer details of a feature genuinely never matter to anyone at all

How do epics, stories, and tasks relate?

  • An epic splits into stories, and stories split into tasks
  • A task splits into stories, and stories split into epics
  • They are three different names for exactly the same thing
  • They are unrelated and never appear together on a board

Why prefer small stories over big ones?

  • Small stories flow, finish, and are easier to estimate
  • Bigger stories are better because there are fewer to track
  • Small stories mean the product ends up with fewer features
  • Splitting stories is just extra paperwork with no benefit

You got correct