Agile & Kanban

How to Write User Stories Developers Love

By the LivexFlow team · 3 min read · 6 October 2026

Developer reading well-written user stories with clear acceptance criteria on a laptop screen

User stories are short descriptions of a feature told from the point of view of the person who wants it. The classic format is "As a [type of user], I want [goal] so that [reason]". A good story explains who benefits and why, leaving the team room to decide how. A bad one is a vague title that triggers three chat threads and a meeting.

The difference is rarely talent. It is a handful of habits.

The format, and why it works

"As a returning customer, I want to reorder a previous order in one click so that I don't have to search for the same items again."

Each part does a job:

  • Who tells the developer which user to design for. A first-time visitor and an admin need different screens.
  • What describes the capability, not the implementation. "Reorder in one click", not "add a button to the orders table".
  • Why is the most skipped and most valuable part. It lets developers make sensible trade-offs without asking.

The template is a starting point. If a story reads more clearly as a plain sentence, write the plain sentence, but keep the who and the why.

Acceptance criteria: the part developers really read

Acceptance criteria define when the story is done. Write them as testable statements:

  1. Each past order shows a "Reorder" button.
  2. Clicking it adds all in-stock items to the basket at current prices.
  3. Out-of-stock items are listed in a message and skipped.
  4. The customer lands on the basket page.

Some teams use the Given / When / Then style. Either works if a tester could check each line and say pass or fail. That is also what turns a story into a test case later.

Running sprints right now? See how Flow handles boards, sprints and burndown together. Get started with Flow →

Check it with INVEST

INVEST is a quick quality check for any story:

  • Independent: it can be built without waiting on another story.
  • Negotiable: details can change through conversation.
  • Valuable: a user or the business gets something from it.
  • Estimable: the team understands it well enough to size it.
  • Small: it fits comfortably in a sprint.
  • Testable: you can prove it works.

If a story fails "Small", split it. Our guide to epics, stories and tasks covers the splitting patterns.

Before and after

Before: "Reports page." No user, no reason, no criteria. Expect questions.

After: "As an account manager, I want to export the monthly activity report to Excel so that I can share it with clients who don't log in." Plus four acceptance criteria covering the date range, columns, file name and empty months.

The second version takes five extra minutes to write and saves hours of back-and-forth. Pair it with a shared definition of done and developers rarely need to ask what "finished" means.

Jira, Shortcut and where stories live

Jira is where most teams write stories, with flexible fields and templates to standardise them. Shortcut is built around stories as its core unit and is known for a clean, developer-friendly experience. Both handle the writing well.

What matters is what happens next: whether the acceptance criteria become tests, and whether a client can confirm the story does what they asked.

How Flow helps

  • Rich tickets. Description, assignee, tester, estimate, priority, issue type, labels, images and comments with images, so the story and its context live together.
  • Testing tied to the story. Test runs record pass or fail per ticket, failures keep a history, and issues can be logged with attachments.
  • Client visibility on your terms. Tickets are internal by default; share selected stories on the client board so clients can comment and review.
  • Sign-off. In Livex Flow, clients formally approve or reject delivered work, closing the loop on the story's "why".

Frequently asked questions

Who writes user stories?

Usually the Product Owner or product manager, but the best stories are refined with developers and testers. Anyone can propose one; the Product Owner decides priority.

How many acceptance criteria should a story have?

Typically three to six. If you need many more, the story is probably too big and should be split.

Are user stories the same as requirements?

They are a lightweight form of requirement. They focus on user value and invite conversation, rather than specifying every detail upfront.

Product and company names mentioned (including Jira, Trello, Confluence, Asana, Monday.com, ClickUp, Linear, Basecamp, Notion, Azure DevOps and TestRail) are trademarks of their respective owners. They’re used only to identify those products. Livex is not affiliated with, sponsored by or endorsed by them.