User Stories

User stories are short, simple descriptions of a feature told from the perspective of the user or customer who desires the new capability.

Purpose

It is very easy to get lost in the details of a feature and lose sight of the user's needs. User stories help teams focus on the user's needs and the value they gain from the feature.

Template

A typical user story format is:

As a <who> <when><where>, I want <some goal> so that <outcome>.

  • Who: The user or customer
  • When: The context or situation
  • Where: On the e-commerce website or app
  • Goal: The action the user wants to perform
  • Outcome: The value the user gains from the action

This format keeps the story centered around the user's needs and the value they gain.

INVEST Criteria

User stories should meet the INVEST criteria to be effective:

  • Independent: The user story should be self-contained, with no inherent dependency on another user story.
  • Negotiable: User stories should serve as conversation starters and not be so detailed that they can't be altered.
  • Valuable: A user story must deliver value to the end-user.
  • Estimable: The team needs to be able to estimate the size of a user story to plan and prioritise effectively.
  • Small: User stories should be small enough to be completed within a sprint and deliver incremental value.
  • Testable: A user story must provide the necessary information to make testing possible.

Bad Stories

"As a user, I want to login so that I can login".

A lot of teams do not have a distinction between user stories and technical tasks. They want to gain the benefits of the user-centricity of user stories with the benefits of breaking down stories into more manageable tasks. The challenge is that by trying to merge the two different levels into a single format, they end up with a format that is not useful for either.

Examples

E-Commerce

  1. As a User browsing the website at home, I want to easily add and remove items from my cart because I often change my mind about what I want to purchase.
  2. As a Vendor updating my product listings on the platform, I want to quickly edit product details because accurate descriptions help in reducing returns and improve customer satisfaction.
  3. As a User looking for a specific item, I want to filter search results by price and rating because it helps me find the best value for my money.

Hospitality

  1. As a Guest planning a vacation, I want to check room availability and prices for specific dates because I need to plan my stay according to my budget and schedule.
  2. As a Guest arriving late at night, I want to check in using a self-service kiosk because I prefer a quick and easy process after a long journey.
  3. As a Host managing multiple bookings, I want to send automated confirmation emails to guests because it ensures they have all the details for their stay.
  1. As a Client needing legal advice, I want to easily schedule a consultation online because I have a pressing legal matter that requires immediate attention.
  2. As a Counsel preparing for a case, I want to securely access case files from anywhere because I need to review documents and prepare arguments outside of the office.
  3. As a Client attending a court hearing, I want to receive reminders about court dates and required documents because it's crucial that I am well-prepared and on time.

Anti-patterns

  • Vague Stories: User stories that are too broad or do not specify the user action and outcome. "So they can work faster" is not a good reason, you should make it more specific "so that they can complete the task in less than 5 minutes".
  • Solution Prescribing: Writing stories that dictate the solution rather than focusing on the user need.
  • Assuming stories: Stories should come directly from the words that users use. Do not assume what the user wants.

Was this page helpful?

Previous
Artifacts
© ZeroBlockers, 2024. All rights reserved.