The standard user story template is: As a [type of user], I want to [do something] so that [benefit]. Acceptance criteria are usually written as Given [context], when [action], then [outcome]. Below are both templates plus more than fifty worked examples across ecommerce, SaaS, mobile, banking, healthcare, travel, learning platforms and internal tools, written so you can adapt them directly.
Key Highlights
- The three part template exists to force a user, an action and a reason. A story missing the reason is a task.
- Acceptance criteria in Given, When, Then format make a story testable, which is what turns it from a description into something finishable.
- User stories are a placeholder for a conversation rather than a specification. The card is the smallest part of the practice.
- Examples are more useful than rules. Most teams write better stories after seeing twenty than after reading a definition.
- The most common mistake is writing the solution into the story, which removes the team's ability to propose a better one.
- Technical work and defects can use the same format, and forcing it produces awkward stories, so alternative templates are given below.
The Standard Template
Three parts, each doing a specific job.
As a [type of user] names who benefits. Be specific. As a returning customer is more useful than as a user, because it tells the team something about context and expectations.
I want to [do something] names the capability, not the implementation. Filter search results is a capability. Add a dropdown with six options is an implementation, and writing it that way removes the team's ability to propose something better.
So that [benefit] names why it matters. This is the part most often dropped and the most valuable. If nobody can complete it, the item may not be worth building, and discovering that before development is cheap.
A worked example:
As a returning customer, I want to reorder a previous purchase in one step so that I do not have to search for the same items again.
That is the whole card. The three Cs of user stories, named by Ron Jeffries in 2001, describe why it stays short: the Card is a placeholder, the Conversation is where the detail lives, and the Confirmation is how you know it is done. Teams that try to make the card carry all three end up with specifications.
If you are working through the framework this sits inside, our free CSM practice test covers it quickly.
Acceptance Criteria Template
The story says what and why. Acceptance criteria say how you will know it is finished.
Given [the starting context], when [the action happens], then [the expected outcome].
For the reorder story above:
Given I am signed in and have a completed order in the last twelve months, when I select reorder on that order, then all available items are added to my basket.
Given an item from that order is no longer available, when I select reorder, then the available items are added and I am told which were not.
Given I am not signed in, when I view a past order, then I am prompted to sign in before reordering.
Three criteria, each testable, each covering a different path. That last one matters: most stories need a criterion for the unhappy path, and stories that only describe success are the ones that come back.
Acceptance criteria are also where the Definition of Done and the story meet. The Definition of Done applies to every item; acceptance criteria are specific to this one.
Ecommerce Examples
| Story |
| As a shopper, I want to filter products by price range so that I can find items within my budget. |
| As a returning customer, I want my delivery address saved so that I do not retype it each time. |
| As a shopper, I want to see delivery cost before checkout so that I am not surprised at the final step. |
| As a customer, I want to track my order so that I know when to expect it. |
| As a shopper, I want to save items to a wishlist so that I can buy them later. |
| As a customer, I want to return an item from my order history so that I do not have to contact support. |
| As a mobile shopper, I want to pay with a stored card in one tap so that checkout is faster on my phone. |
| As a shopper, I want to see whether an item is in stock in my local store so that I can collect it today. |
SaaS and B2B Examples
| Story |
| As an account admin, I want to invite team members by email so that I do not have to create accounts manually. |
| As an admin, I want to set permissions by role so that people only see what is relevant to them. |
| As a user, I want to export my report as CSV so that I can share it with people outside the tool. |
| As a manager, I want to see my team's activity in one view so that I do not have to check each person. |
| As an admin, I want to see who changed a setting and when so that I can investigate unexpected behaviour. |
| As a user, I want to schedule a report to send weekly so that I do not have to remember to run it. |
| As a new user, I want a guided setup on first login so that I can get value before deciding to pay. |
| As a billing admin, I want to download past invoices so that I can pass them to finance. |
Mobile App Examples
| Story |
| As a user, I want to sign in with my existing account so that I do not create another password. |
| As a commuter, I want the app to work offline so that I can use it without a signal. |
| As a user, I want to receive a notification when my delivery is nearby so that I am ready for it. |
| As a user, I want to switch to dark mode so that the app is comfortable to use at night. |
| As a new user, I want to skip the tutorial so that I can start using the app immediately. |
| As a user, I want my place saved when I close the app so that I can resume where I left off. |
Banking and Fintech Examples
| Story |
| As an account holder, I want to freeze my card instantly so that I can stop transactions if it is lost. |
| As a customer, I want to see pending transactions so that I know my true available balance. |
| As a customer, I want to set a spending alert so that I am notified before I exceed my budget. |
| As an account holder, I want to move money between my accounts so that I can manage my balances myself. |
| As a customer, I want to categorise my spending so that I can see where my money goes. |
| As a joint account holder, I want to see who made each transaction so that we can track shared spending. |
Healthcare Examples
| Story |
| As a patient, I want to book an appointment online so that I do not have to phone during working hours. |
| As a patient, I want to see my upcoming appointments so that I do not miss one. |
| As a clinician, I want to see a patient's allergies prominently so that I do not prescribe something unsafe. |
| As a patient, I want to request a repeat prescription so that I do not need an appointment for it. |
| As a receptionist, I want to see which clinicians are running late so that I can inform waiting patients. |
Internal Tools and Admin Examples
| Story |
| As a support agent, I want to see a customer's recent orders on the ticket so that I do not have to look them up. |
| As a content editor, I want to preview a page before publishing so that I can check it looks right. |
| As an operations manager, I want to bulk update statuses so that I do not process them one at a time. |
| As a support agent, I want to escalate a ticket with one action so that urgent issues reach the right team. |
| As a finance user, I want to reconcile payments automatically so that I spend less time matching records. |
Travel and Booking Examples
| Story |
| As a traveller, I want to filter flights by total journey time so that I avoid long layovers. |
| As a traveller, I want to hold a booking for an hour so that I can check with the people I am travelling with. |
| As a guest, I want to see the full price including fees so that I can compare properties fairly. |
| As a traveller, I want to add a bag after booking so that I do not have to cancel and rebook. |
| As a guest, I want to message the host before booking so that I can ask about access. |
Learning Platform Examples
| Story |
| As a learner, I want to resume a course where I left off so that I do not lose my place. |
| As a learner, I want to download a lesson so that I can study without a connection. |
| As an instructor, I want to see where learners drop out so that I can improve that section. |
| As a learner, I want a certificate on completion so that I can show it to my employer. |
| As an administrator, I want to assign a course to a team so that I do not enrol people individually. |
Splitting a Story That Is Too Big
The most useful skill after writing them, shown with a worked example.
Take this story: as a customer, I want to manage my subscription so that I can change my plan when my needs change.
That is an epic wearing a story's clothing. Manage covers upgrading, downgrading, pausing, cancelling, changing payment method and changing billing date. It will not finish in a Sprint and nobody can estimate it.
Split by user action, which is usually the most productive axis:
| Split story | Relative size |
| As a customer, I want to upgrade my plan so that I get more capacity immediately. | Small |
| As a customer, I want to cancel my subscription so that I stop being charged. | Small |
| As a customer, I want to downgrade at the end of my billing period so that I do not lose what I paid for. | Medium |
| As a customer, I want to pause my subscription so that I can return later without losing my data. | Medium |
| As a customer, I want to update my payment card so that my subscription does not lapse. | Small |
Five stories, each finishable, each independently valuable. Note what the split reveals: upgrading is small and directly increases revenue, while pausing is medium and mostly retention. Those belong in different places in the backlog, which the original single story concealed entirely.
That is the point people miss about splitting. It is a prioritisation activity as much as a sizing one, and it frequently shows that the valuable part of a large item is small and the rest can wait. How that ordering then works is covered in our guide to prioritising user stories.
Other axes worth trying when user action does not work: by data type, by happy path first with edge cases later, by platform, or by a simple version now and a configurable version later.
Templates for Work That Does Not Fit
Forcing every item into the user story format produces awkward results. Three alternatives worth using.
Technical enabler. In order to [outcome], we need to [technical work].
In order to support the catalogue expansion, we need to migrate the search index to the new cluster.
Defect. Given [context], when [action], then [wrong outcome] instead of [expected outcome].
Given I have items in my basket, when I sign in, then the basket is emptied instead of being preserved.
Spike. Question: [what we need to know]. Timebox: [duration]. An answer looks like: [what you will produce].
Question: can our current search index return results for two million records within four hundred milliseconds. Timebox: two days. An answer looks like a benchmark against representative data plus a recommendation.
The general principle is that the user story format exists to keep the user in view. Where there is genuinely no user facing outcome, using a format that fits is better than inventing a fictional user. Writing as a developer, I want to refactor the payment module fools nobody.
What Makes a Story Good
Six qualities, usually remembered as INVEST.
Independent. Can be built without waiting on another story where possible.
Negotiable. Describes what and why, leaving how open for discussion.
Valuable. Delivers something someone notices. If nobody would miss it, question it.
Estimable. The team can size it. If they cannot, it needs splitting or a spike.
Small. Finishable comfortably within a Sprint, ideally a few days.
Testable. Has acceptance criteria that give a clear yes or no.
The two that catch most stories are small and testable. An item that takes most of a Sprint carries more risk and surfaces problems later, and approaches to splitting are covered in our guide to product backlog breakdown strategies. An item without testable criteria will produce disagreement about whether it is finished.
Common Mistakes
Writing the solution instead of the need. Add a dropdown filter rather than filter results. Removes the team's ability to propose something better.
Dropping the so that. Leaves nobody able to judge whether the item is worth building or how to reduce it if needed.
Using as a user for everything. Says nothing. Which user, and what do they know or expect?
Stories that are really epics. Anything spanning several Sprints belongs in the epic category and needs breaking down, and the distinction between the levels is covered in our guide to epic, feature and user story.
Acceptance criteria that only describe success. Real systems fail. A story without an unhappy path criterion usually returns.
Treating the card as a specification. The card is a placeholder for a conversation. Detail that belongs in the conversation should not be crammed into three lines, and this is the mistake that turns refinement into documentation review, as discussed in our guide to backlog refinement.
Writing them alone. A Product Owner producing stories in isolation gets stories that miss technical constraints. The conversation is the point.
Where Stories Come From
Worth a note, because a page of templates can imply stories are authored rather than discovered.
The best stories come out of refinement, where the Product Owner brings an intent and the Developers ask questions that reshape it. A story written at a desk and presented as finished skips the step where it improves.
That has a practical consequence for anyone facilitating. The measure of a good refinement session is not how many items were documented but how many changed as a result of the discussion. A session where every item survived unaltered usually means the conversation did not happen.
For anyone running those sessions, CSM Certification Training covers refinement and the facilitation that makes it produce better items rather than tidier ones.
Closing Thoughts
The template is the easy part. Most teams learn the three part format in an afternoon and then spend a year writing stories that are too large, describe solutions, or lack a testable definition of finished.
The two habits worth building are keeping the so that clause honest, since it is what tells you whether an item deserves to exist, and writing acceptance criteria that cover a failure path, since that is where the disagreements about done actually come from.
Beyond that, treat the card as the start of a conversation rather than the deliverable. The format exists to make sure the right conversation happens, and a beautifully written story that nobody discussed is worth less than a rough one that produced ten minutes of useful disagreement in refinement.
If you are the person facilitating those conversations, CSM Certification Training covers the framework and the refinement practices that turn a backlog of items into something a team can actually work from. Request the curriculum to see the agenda and upcoming dates, or start with the free CSM practice test to check your grounding first.


























