User Stories In Agile: Examples, Template, And Practical Writing Tips
KEY TAKEAWAYS:
- A user story connects a user need with the value the team intends to deliver; the familiar template is a useful format, not a rule for every Agile team. See how it fits into Agile software development.
- Acceptance criteria describe observable behavior for one story, while the Definition of Done sets the team’s shared quality bar.
- A useful example covers a normal path and an important exception, so the team can agree on what to test before choosing implementation tasks.
- Refine stories with the people doing the work, and split an item when it contains separate user outcomes rather than only separate technical layers.
Suppose a conference attendee’s saved session changes rooms. A team might write: “As an attendee, I want to see the new room on my saved agenda so that I can reach the session on time.” That sentence captures an outcome, but the team still needs to decide what happens if the session is canceled or the attendee is offline. The examples of user stories in Agile below show how to make the need clear, add testable criteria, and refine the work without confusing user outcomes with implementation tasks.
What Are Agile User Stories?
A user story is a brief, user-centered description of a need and the value behind it. Agile teams use stories as a starting point for discussion, planning, and learning, rather than as complete specifications. Agile Alliance’s user-story guidance describes the story as a reminder that prompts a conversation about what a user needs.
A common template is:
As a [type of user], I want [goal], so that [benefit].
For example: “As a returning shopper, I want to reorder a past purchase so that I can buy familiar items without searching again.” The role gives context, the goal names an action, and the benefit explains why it matters. Teams can use plain language or another format when it communicates the need more clearly. Agile Alliance’s template guidance treats the familiar wording as a common aid, not a mandatory Agile rule.
A story is not the same as a development task. “Let shoppers reorder” describes a user outcome; “add a button to the order page” describes one possible implementation task. The team can agree on tasks after discussing the story, and may choose a different solution that meets the same need.
Related reading:
- What Is An Agile Framework? Definition, Types And Examples
- What Is SCRUM And How Does It Work?
- Agile Vs Scrum: Key Differences And When To Use Each Approach

Why User Stories Help Agile Teams
User stories help when a team uses them to connect a product decision to a real user need. A story does not guarantee a better product or remove uncertainty; it gives people a shared starting point for checking the value and scope of proposed work.
- Keep discussion tied to user value. A clear role and goal help product, design, engineering, and test colleagues ask whether the proposed change solves the stated problem. Teams can compare that need with their product goals and Agile principles and values.
- Make broad requests easier to refine. “Improve checkout” hides several possible needs. A story about ordering as a guest gives the team a smaller question to discuss, while still leaving room to discover payment, delivery, or accessibility constraints.
- Support shared planning. A story gives the team a common item to order, estimate, or revisit. Those activities still need evidence and team judgment; a story is not automatically small or ready just because it follows a template.
Explore related Agile practices:
- What Is an Agile Team? Structure, Roles, and How to Build One
- Agile And Lean: Differences, Similarities And When To Use Each

Key Components of a User Story
The common template has three parts: a role, a goal, and a benefit. Acceptance criteria add story-specific checks. Read each part as a prompt for team discussion, not as a form that must be completed word for word.
Role: “As a [user]”
The role identifies who has the need and gives the team enough context to understand it. “As a user” may be too broad when first-time and returning customers follow different paths. A more useful role could be “a returning shopper” or “a store administrator,” if that difference changes the problem or expected result.
Use a role that reflects a real user group rather than an internal job title by default. A developer or administrator can still be the user when the story addresses a genuine need, such as checking a deployment or managing access. The role should help the team make a product decision, not add detail for its own sake.
Goal or Action: “I want [goal]”
The goal names what the person wants to do or achieve. It should describe an outcome, not only the feature the team has already chosen to build. “I want to reorder a past purchase” describes an action; “I want an order-history feature” names a possible solution without saying what the shopper needs from it.
One story should usually focus on one main outcome. If the sentence asks for several actions with different reasons, separate them during refinement and check whether each part can be understood and tested on its own.
Benefit: “So that [benefit]”
The benefit explains why the goal matters to the user or business. “So that I can buy familiar items without searching again” gives the team a reason to consider reorder behavior. “So that the app has a new screen” describes output, not value.
A benefit need not promise a measured result. It should explain the expected value. If the reason is unknown, record the question and learn instead of inventing one.
Acceptance Criteria
Acceptance criteria are observable conditions that describe how one story should behave. They help the team and stakeholders check whether the agreed outcome works, including an important boundary or failure path. Teams can write them as a short checklist or use a Given/When/Then scenario when a trigger and result need to be explicit.
For a password reset, one check could read: “Given a member has a valid reset link, when they open it, then the product lets them set a new password.” The team can add policy-specific rules after confirming them. These story-level checks differ from the Definition of Done, which sets the shared quality bar for completed work. See this guide to Agile acceptance criteria for more examples.

How to Write and Refine User Stories in Agile
Once the parts are clear, the team can use a short workflow to turn a request into a useful backlog item. The process is collaborative: a product role may start the draft, but the team should clarify assumptions, constraints, and tests together.
A Five-Step Story-Writing Workflow
Move from the user’s problem to an outcome the team can discuss, check, and refine.
- Name the user and situation. Describe who encounters the problem and when it occurs. “A shopper” may be enough for a broad need; “a first-time shopper who does not want to create a profile” gives context when guest checkout is the question.
- Write one action or outcome. Say what the person needs to do. Avoid starting with a screen, API, or database choice unless that choice is a real constraint the team must honor.
- Explain why it matters. Add the user or business value behind the action. If the reason is unclear, ask the requester rather than adding a broad claim such as “improve engagement.”
- Agree on observable checks. Cover the expected path and the most important exception. Keep each check clear enough that two people can tell whether it passed, and leave unrelated implementation tasks outside the story.
- Refine and split when needed. Review open questions, dependencies, and size with the people doing the work. Split a story when it hides separate outcomes; avoid splitting it only into technical layers that cannot deliver value alone. Teams can revisit the item during an Agile sprint cycle.
For guest checkout, the team can ask what information is required, when the shopper reviews the total, and how a declined payment appears. Keep technical choices out of acceptance criteria unless they affect the agreed outcome or a real constraint.
Use the 3 Cs to Keep Refinement Collaborative
The 3 Cs describe how teams work with a story, not three required fields in the template. Agile Alliance’s 3 Cs guidance names them as Card, Conversation, and Confirmation.
- Card: A short record or reminder of the need. It should be easy to find and discuss.
- Conversation: The discussion where users, product partners, designers, developers, and testers clarify the goal, assumptions, and boundaries.
- Confirmation: The checks or tests the team uses to see whether the agreed behavior is present.
The written card is not expected to hold every detail. The conversation adds context, and confirmation gives the team a way to check the result. If the discussion changes the story, update the backlog so the next person sees the current agreement.
Best Practices for Effective User Stories
Use these practices as review prompts, not rigid rules. A good story gives the team enough context to discuss value and test the outcome while leaving room to choose an appropriate solution.
- Make the user outcome clear. Replace vague requests such as “improve the dashboard” with the action a person needs and the reason it matters.
- Use INVEST as a conversation aid. The INVEST checklist asks whether a story is independent, negotiable, valuable, estimable, small, and testable. A concern is a signal to discuss the story, not an automatic reason to reject it.
- Keep the story small enough to learn from. If it includes separate user goals, split it around outcomes the team can review. Avoid dividing work into frontend and backend stories when neither part can be checked as useful on its own.
- Keep solution details in the right place. A story usually explains what the user needs, while implementation tasks explain work the team may choose to do. Keep a technical constraint in the story or criteria when it affects the outcome, security, accessibility, or support needs.
- Allow technical and enabler work when it has a clear purpose. A system or developer story can be useful when it names the risk or capability it addresses. For example, improving event logs may support an operations team’s ability to investigate failed orders. The team should still connect the work to a real need.
- Refine as the team learns. Do not try to predict every edge case before a conversation. Clarify enough for the next decision, then update the story when feedback, testing, or new information changes the scope.
For related planning guidance:
- Story Points in Agile and How to Estimate Them Effectively
- Agile Methodology Sample: A Practical Project Plan

Examples of User Stories in Agile Development
The following examples are illustrative, not reports of measured project results. Each one names a user need and includes checks a team could discuss. The exact policy, field rules, and thresholds should come from the product and its users.
- Guest checkout: a worked example
User story: As a first-time shopper, I want to place an order without creating an account so that I can buy without setting up a profile.
Acceptance criteria:
- Review before payment: Given a shopper has entered the required checkout information, when they reach the review step, then the page shows the items, delivery details, and current total before the order is submitted.
- Successful payment: Given the payment provider approves the payment, when the order is submitted, then the page shows a confirmation and order reference.
- Declined payment: Given the payment provider declines the payment, when the shopper returns to checkout, then the page explains that the order is not confirmed and offers a way to retry or choose another available method.
These checks describe what the shopper can observe without deciding which payment service or page layout the team must use. The team should test retry behavior with its payment flow so a repeated submission does not create an unintended duplicate order.
- Appointment booking: selecting an available time
User story: As a client, I want to choose an open appointment time so that I can book a visit that fits my schedule.
Acceptance criteria: The client can see available times for the selected service and date. After the client confirms a time, the booking appears in the confirmation view. If another client takes the slot first, the system marks it unavailable and lets the client choose from the updated options.
The exception matters because availability can change while a person is deciding. The team should agree how long a slot is held, if at all, rather than assume that a displayed time stays reserved.
- Report export: finding the right records
User story: As an operations manager, I want to filter a report by date and status so that I can review only the orders relevant to my check.
Acceptance criteria: The report shows the selected date range and status. The exported file contains the same filtered records shown on screen. If the filters return no records, the page explains that no matching orders were found instead of presenting an unexplained blank result.
This story focuses on the manager’s review task. The team still needs to agree on date boundaries, time zone, and which statuses are included before calling the export ready.
- Account recovery: regaining access
User story: As a member, I want to request a password reset so that I can regain access if I forget my password.
Acceptance criteria: A valid reset request sends instructions through the channel the product supports. A reset link can be used only under the product’s agreed expiry and reuse rules. If the product must avoid revealing whether an email address has an account, the response should follow the same approved security policy for both cases.
The last condition is a product security decision, not a universal rule for every service. The team should confirm its policy with the people responsible for account security before turning it into a test.
In each example, the story states a user outcome and the criteria make selected behavior checkable. The team may then create implementation tasks, design notes, or test cases as needed. Those artifacts support the story; they do not change its user goal.
User Stories vs. Tasks and Use Cases
User stories, tasks, and use cases describe related work at different levels of detail. The distinction helps a team keep a backlog item focused on a user outcome without losing the implementation work needed to deliver it.
| Work item | What it describes | Example |
|---|---|---|
| User story | A user need and the value of meeting it. | As a manager, I want to filter orders by status so I can focus on items that need action. |
| Task | A piece of work the team plans to complete. | Add a status filter to the order report. |
| Use case | A more detailed description of an actor’s interaction with a system, often including alternate paths. | A manager opens a report, selects filters, views matching orders, and exports the result; an empty-result path is also described. |
A user story and use case can support the same product work, but they are not interchangeable formats. A story is usually a brief prompt for discussion; a use case records more of the interaction flow. Teams can use either or both when each helps them make a clear decision.
Tools for Managing User Stories
A shared document or spreadsheet may be enough when the team can keep items current and easy to find. As the backlog or number of collaborators grows, compare tools by how well the team can search, order, discuss, and connect a story to its acceptance criteria and delivery work. Teams reviewing Jira and Agile can use the same checks before choosing a workflow.
Do not choose a tool only for its feature count. A tool can make decisions visible, but it cannot replace a conversation about who needs the change, what outcome matters, or which exception the team will test.
FAQs About User Stories in Agile
These follow-up questions cover ownership, timing, and decisions that often come up after a team drafts its first story.
Who Writes User Stories?
Teams often draft stories collaboratively, although the person who starts a draft varies by organization. In Scrum, the Product Owner is accountable for effective Product Backlog management. The Scrum Guide does not require that person to write every story or require every backlog item to use the user-story format.
When Are User Stories Written?
A story can be drafted when a user need becomes clear and refined as the team learns more. In Scrum, Product Backlog refinement is ongoing. Sprint Planning selects items that are ready for the Sprint and creates the plan; teams do not have to wait until planning to write every story.
How Detailed Should Acceptance Criteria Be?
Acceptance criteria should cover the behavior the team needs to agree and check, including important boundaries or failure paths. They do not need to list every possible interaction or repeat the team’s Definition of Done. If an edge case changes scope, risk, or user value, discuss whether it needs its own criterion or story.
How Do User Stories Connect to Epics?
An epic is a broader product goal that a team may break into smaller, related stories. Teams can group stories under an epic in Agile when that helps planning and tracking, but a story can also stand alone. The relationship depends on the product and the team’s backlog structure.
Conclusion
A useful Agile user story names a real user need, a clear outcome, and the value behind it. Add acceptance criteria that make the important behavior checkable, then refine the story with the team and split it when it hides separate outcomes. The template is a conversation aid, not a substitute for judgment or a complete specification.
If your team is planning a product, this same focus on user goals can help frame custom software development work. Learn more about Designveloper’s software development services.
Related Articles

