Skip to main content
Back to blog

How to write user stories

Björn Rutholm

Written by

Björn Rutholm

Process8 min read

TLDR; Checklists at the end of the article.

A User Story is a representation of the steps a user takes to achieve a specific goal when interacting with a product or service. It illustrates the user's experience from start to finish, including all interactions, decisions, and emotions that arise along the way.


Components of a user story

  • Persona: A fictional representation of a typical user, based on user research.
  • Goals: What the user is trying to achieve at each step.
  • Steps: The specific activities and interactions the user performs to reach their goal.
  • Touch points: The different points of contact where the user interacts with the product or service.
  • Emotions: The user's emotional state at each step (for example frustration, joy, confusion).
  • Pain points: The problems or obstacles the user encounters.
  • Opportunities: Potential improvements to the user experience.

User stories

Components of a User Story

  • Persona: A fictional representation of a typical user. Helps you understand their needs, goals and problems.
  • Goals: What the user is trying to achieve at each step.
  • Steps: The specific activities and interactions the user performs to reach their goal.
  • Touch points: The different points of contact where the user interacts with the product or service.
  • Emotions: The user's emotional state at each step (for example frustration, joy, confusion, etc).
  • Pain points: The problems or obstacles the user encounters.
  • Opportunities: Potential improvements to the user experience.

Why it is important to create user stories

Understand the user

Helps the entire organization gain a deeper understanding of the user's needs, goals, and problems. This leads to better decision-making in both design and development.

Identify pain points

By mapping the entire user journey, we can identify specific problem areas users encounter. This makes it possible to focus on improving those parts of the experience.

Improve the user experience

User stories help create a more cohesive and positive user experience by ensuring that all interactions and touchpoints work smoothly and efficiently together.

Communicate and collaborate

They serve as a powerful communication tool within the team and with stakeholders, helping to visualize and discuss the user experience in a concrete way.

Prioritize features

By understanding which steps and touchpoints are most important to the user, the team can prioritize the development of features that have the greatest impact on the experience.

Measurable results

User stories can be used to define measurable goals and key performance indicators (KPI) to monitor and improve the user experience over time.

Innovation

By seeing the entire journey, the team can discover new opportunities to improve or create services that better meet user needs.


User story: Book a hotel room

Persona: Lisa, 35, business traveler. Lisa is a business traveler who frequently books hotel rooms online. She values speed and simplicity in the booking process.

Search for available hotel rooms

  • Goal: Find a hotel room in Stockholm for a business trip.
  • Action: Lisa goes to the booking page, enters Stockholm as the destination, selects check-in date 2026-06-15 and check-out date 2026-06-18, and sets the number of guests to 1.
  • Expected result: Lisa sees a list of available hotel rooms matching her criteria.

Select hotel room

  • Goal: Choose a hotel room that meets her needs.
  • Action: Lisa browses through the list and clicks on a room to view more detailed information such as price, amenities, and images.
  • Expected result: Lisa sees detailed information about the room and decides to book it.

Fill out the booking form

  • Goal: Provide the necessary information to complete the booking.
  • Action: Lisa fills in her name, email address, phone number, and any special requests in the booking form.
  • Expected result: The form is validated and all required fields are correctly filled out.

Select payment method and pay

  • Goal: Pay for the hotel room.
  • Action: Lisa selects to pay with her credit card, enters her credit card details, and clicks "Pay."
  • Expected result: The payment is processed and Lisa sees a confirmation page with booking details and a booking number.

Receive booking confirmation

  • Goal: Receive confirmation of the booking.
  • Action: Lisa opens her email and finds the confirmation message with all booking details and the booking number.
  • Expected result: Lisa feels confident that her booking was successful and has all the information she needs for her trip.

User story: Cancel a hotel room

Persona: Johan, 42, vacation traveler. Johan books a hotel room for a family vacation but needs to cancel due to a change of plans.

Log in to account

  • Goal: Access his booking information.
  • Action: Johan logs in to his user account on the booking site.
  • Expected result: Johan sees an overview of his bookings.

Select booking to cancel

  • Goal: Find the specific booking to cancel.
  • Action: Johan clicks on the booking number for the reservation he wants to cancel.
  • Expected result: Johan sees detailed information about the booking.

Confirm cancellation

  • Goal: Confirm that he wants to cancel the booking.
  • Action: Johan clicks "Cancel" and confirms his cancellation by clicking "Yes, cancel."
  • Expected result: Johan sees a confirmation page stating that the booking has been canceled and receives an email confirming the cancellation.

User story: Edit booking information

Persona: Emma, 59, mom of 2 grown up kids. Emma books a hotel room for a vacation but realizes she needs to update the number of guests when one of her children wants to come with them.

Log in to account

  • Goal: Access her booking information.
  • Action: Emma logs in to her user account on the booking site.
  • Expected result: Emma sees an overview of her bookings.

Select booking to edit

  • Goal: Find the specific booking to edit.
  • Action: Emma clicks on the booking number for the reservation she wants to edit.
  • Expected result: Emma sees detailed information about the booking.

Update number of guests

  • Goal: Change the number of guests in the booking.
  • Action: Emma updates the number of guests from 2 to 3 and clicks "Save changes."
  • Expected result: Emma sees a confirmation message stating that the number of guests has been updated.

Select payment method and pay

  • Goal: Pay for the change.
  • Action: Emma chooses to pay with the same credit card as before and accept the additional costs.
  • Expected result: The payment is processed and Emma sees a confirmation page with the updated booking details.

Pain points and emotions in a user story

Scenario: Booking a hotel room online

  • Goal: Find and book a hotel room for a business trip.
  • Emotions: Anticipation, frustration, satisfaction.

Search for hotels

  • Touchpoint: Visits the booking site and searches for hotels in Stockholm.
  • Emotions: Anticipation.
  • Pain points: If the search is slow or if the results are not relevant.
  • Opportunities: Improve the search function for faster and more relevant results.

Select hotel

  • Touchpoint: Click on a hotel to see more information.
  • Emotions: Interest.
  • Pain points: If the information is unclear or incomplete.
  • Opportunities: Improve the information with clear and comprehensive descriptions and images.

Book room

  • Touchpoint: Fills out the booking form.
  • Emotions: Frustration (if the form is complicated), satisfaction (if it is simple).
  • Pain points: If fields are unclear or validation does not work well.
  • Opportunities: Make the form user-friendly and intuitive.

Pay

  • Touchpoint: Enters payment information and completes payment.
  • Emotions: Uncertainty (if the payment process is complicated), relief (if it is quick and easy).
  • Pain points: If payment fails or the page loads slowly.
  • Opportunities: Ensure a smooth and secure payment process.

Confirmation

  • Touchpoint: Receives an email confirmation.
  • Emotions: Satisfaction.
  • Pain points: If the confirmation is delayed or unclear.
  • Opportunities: Send a clear and immediate confirmation with all booking details.

Keeping personas alive

Personas are not meant to sit in a slide deck collecting dust. Their goals, steps, pain points, and emotions will evolve as your product or service changes, and your personas should evolve with them. Make it a habit to revisit them regularly. A great approach is to schedule team sessions where you review each persona together and discuss them as if they were real people.

When you do this, something powerful happens: your team naturally starts thinking with the user in mind. You find yourself asking questions like, "How would Emma react to this? Would she like it? What pain points might she encounter?" This mindset is exactly what personas are meant to inspire.

Keeping personas alive in this way ensures that every decision you make moves the experience in the right direction - towards a product that truly works for the people it is meant to serve.

Persona maintenance checklist

Print and keep at your desk

  • Review regularly: Schedule a persona review session at least once per quarter or after every major release.
  • Validate with data: Compare persona assumptions with recent user research, analytics, or support tickets.
  • Update goals and pain points: Adjust based on new insights, user priorities change over time.
  • Add new personas if needed: If you discover a new user segment, create a persona for them.
  • Archive outdated personas: Retire personas that no longer represent real users.
  • Bring them into discussions: Use personas in planning meetings and design reviews to guide decisions.