💡 Explainer

User Stories in Agile: Examples, Best Practices & How to Write Them

User stories are short descriptions of features from the user's perspective. Learn the format, acceptance criteria, and how to write them so your team actually builds the right thing.

GM Giora Morein, CST
· Updated May 20, 2026 · 6 min read · 7 sections
📖 In plain English

User stories are short descriptions of features from the user's perspective. Learn the format, acceptance criteria, and how to write them so your team actually builds the right thing.

ThinkLouder's 2-day Certified ScrumMaster class breaks this down with live exercises.

In this article (7)
User Stories in Agile: Examples, Best Practices & How to Write Them

A user story is a short, plain-language description of a feature or capability from the perspective of the person who'll use it. It's not a requirements document. It's not a ticket. It's a promise of a conversation.

The standard format looks like this: "As a [role], I want [capability] so that [outcome]." That structure matters because it forces you to think about who benefits and why. Without the why, you're just listing tasks.

Where user stories come from

User stories emerged in Extreme Programming (XP) in the late 1990s as a reaction to bloated requirement specs that nobody read and nobody used. Kent Beck and his team needed something lightweight that kept the conversation between developers and stakeholders alive instead of locked in a 200-page document.

Scrum adopted them because they fit. A Scrum Product Owner doesn't write a backlog of tasks. They write a backlog of outcomes. The team figures out the tasks during Sprint Planning.

The mental model is simple: stories are placeholders for conversation. The card (or Jira ticket) is just a reminder that a conversation needs to happen. The real value lives in the discussion, not the artifact.

What a real user story looks like

Here's an example from an e-commerce team:

"As a logged-in customer, I want to save items to a wishlist so that I can find them easily later without buying immediately."

That's concrete. You know who it's for. You know why it matters. You know roughly what "done" looks like.

Compare that to a task-style backlog item: "Build wishlist feature." That tells you nothing. Who needs it? Why? What does success look like? You're left guessing.

Here's another one from a healthcare SaaS team:

"As a clinic administrator, I want to bulk-upload patient records from our legacy system so that we don't have to enter them manually."

Again, the role is clear (clinic admin, not "user"). The capability is specific (bulk upload, not "import data"). The benefit is concrete (saves manual entry time).

Bad user stories look like this:

"As a user, I want the system to work better so that I can do my job."

That's too vague. "User" could be anyone. "Work better" means nothing. "Do my job" is abstract. A team can't build that.

How user stories fit into Scrum

In Scrum, the Product Owner owns the backlog. That backlog is a prioritized list of user stories (and sometimes bugs, spikes, or other work items). During backlog refinement, the team and Product Owner talk through stories, ask questions, and estimate them.

Then in Sprint Planning, the team pulls stories from the top of the backlog and commits to finishing them in the sprint. The stories provide context. The team breaks them into tasks during the meeting.

During the sprint, stories stay visible on the board. They move from "To Do" to "In Progress" to "Done." At the Sprint Review, the team demos the completed stories to stakeholders.

Without clear user stories, this whole flow breaks down. You get ambiguity, rework, and arguments about what "done" means.

Acceptance criteria: the guardrail

A user story alone isn't enough. You need acceptance criteria. These are the specific conditions that have to be true for the story to be done.

For the wishlist example, acceptance criteria might be:

  • Customer can add items to a wishlist from the product detail page
  • Customer can view their wishlist from their account menu
  • Customer can remove items from their wishlist
  • Wishlist persists if the customer logs out and logs back in
  • Wishlist is private (other customers can't see it)

Those criteria are testable. A developer can build to them. A QA person can verify them. A Product Owner can confirm they match the original intent.

Without acceptance criteria, you get this conversation at Sprint Review: "Wait, I thought we were supposed to email the customer when they add to the wishlist?" Too late. The story is done. Now you're in the next sprint arguing about scope.

Common mistakes when writing user stories

First mistake: writing stories that are too big. "As a user, I want a complete e-commerce platform" isn't a story. It's an epic. It's 50 stories. Break it down. A good story fits in one sprint.

Second mistake: writing stories without talking to the people who'll use them. You're guessing. You'll get it wrong. Involve your actual users, customers, or customer-facing team members when you're writing stories. That's where backlog refinement happens.

Third mistake: treating stories like requirements. They're not. A story is an invitation to think together, not a contract. If you're writing 500 words of acceptance criteria, you're doing it wrong. That's a spec. Keep stories lean. The conversation fills in the details.

Fourth mistake: forgetting the "so that." Teams sometimes skip the benefit. "As a user, I want to download my invoice." Why? "So that I can file it for taxes" changes how you design it. Maybe you batch them. Maybe you add date filters. The why matters.

How to write user stories that actually work

Start with the person. Not "user." Be specific. "Customer." "Support agent." "Warehouse manager." If you can't name a specific role, you haven't thought it through.

Second, make the capability concrete. Not "improve performance." Say "load the dashboard in under 2 seconds." Not "better search." Say "search by customer phone number."

Third, include the outcome. Why does this matter? What problem does it solve? If you can't answer that, the story probably isn't worth doing.

Then write acceptance criteria that are testable. Can you verify it? Can you demo it? If it's vague, rewrite it.

Finally, involve the team. Bring stories to backlog refinement before Sprint Planning. Let developers ask questions. Let QA think about edge cases. Let the Product Owner clarify intent. That's where the conversation happens.

If you're writing stories alone in a room, you're doing it wrong. Stories are a collaboration tool, not a writing exercise.

Why this matters on Monday morning

Clear user stories save time. They reduce rework. They align the team on what "done" means before anyone starts coding. They keep the Product Owner and the team from arguing about scope halfway through the sprint.

Teams that write vague stories spend their sprints arguing about what they're supposed to be building. Teams that write clear user stories spend their sprints actually building.

If you're running a Certified Scrum Master team or working as a Product Owner, user stories are your primary tool for communicating intent. Get them right, and the whole framework works. Get them wrong, and you're fighting against the system.

Our trainers have worked with 55,000+ practitioners across 60+ countries. The teams that improve fastest are the ones that nail their user stories and refinement process first. Everything else flows from that.

Get the practitioner newsletter

One short email, every other Friday. Real-world Scrum lessons, no fluff. Unsubscribe anytime.

Ready to put this into practice?

Reading is one thing. Working through it with a CST in a live class is another.