User story

Definition
A user story is a short, plain-language description of a feature from the person using it: who wants it, what they want to do, and the result that proves it worked.

Why it matters

Most wasted building starts with a vague task such as "add an export feature". Nobody can say when that is done, so the argument about whether it works happens after the work. A story forces three decisions up front: who it is for, what they do, and what proof counts. The "see a result" clause is the important part, because it turns an opinion into something that can be checked on the live product.

For people building with AI, a story is also the best instruction to give a coding agent. It carries the purpose, so the agent builds the right thing rather than the literal thing.

How to apply it

  • Name a specific type of user, not "the user" in the abstract. A bookkeeper and a sales rep want different things.
  • State the action in plain words and leave out the implementation.
  • Write the result as something observable: a file, a screen, an email, a changed number.
  • Keep each story small enough to build and check in one sitting. If it has two results, it is two stories.
  • Keep the finished stories. Together they are a list of provable capabilities and a ready-made test plan.

What it is

A user story names a type of person, an action and an outcome. The classic shape is: "As a finance lead, I can export last month's invoices and see a file whose totals match the dashboard." It says nothing about databases, buttons or code. It describes what a real person can do once the work is finished, and how anyone can tell.

Common mistakes

  • Writing a technical task and calling it a story, for example "add an index to the invoices table".
  • Leaving out the result, so nobody knows when to stop.
  • Bundling five outcomes into one story, which makes it impossible to say which part failed.
Worked example

Suppose a seven-person product team at a small invoicing company is planning a feature. The backlog says only "add an export feature", and nobody can say when it is done. The product owner rewrites it as a story: as a bookkeeper, I can export last month's invoices and see a file whose totals match the dashboard. The result can be observed, so the team can test it on the live product. The story is split in two because it has two results. The stories are kept in ClickUp, where tasks and documents sit in one workspace. In this example, the argument about whether the feature works now takes minutes rather than a sprint.

Tools in the example

Some links are affiliate links: we may earn a commission at no cost to you. It never decides a ranking. How we work with partners

  1. Article

    Spec-driven development

    The wider discipline a user story sits inside.

  2. Article

    Prototype

    A quick way to test a story before it is fully built.

  3. Article

    Prioritisation

    How to decide which stories go first.

  4. Article

    Regression

    What later tests guard against once a story is done.