How to Write Great User Stories

Download PDF
How to Write Great User Stories


What is a User Story?

“User story is an informal, natural language description of one or more features of a software system.”

In modern software development, user stories are one of many steps to a successful implementation of the Agile approach. If you aren’t yet familiar with Agile, read this article beforehand.

In Agile, there are many different terms and principles that need clarification – so today we want to share some insights about what user stories are and how to successfully write them.

  • Agile user stories are short descriptions of user needs that explain why you need to make a particular feature for your digital project.

Now let’s dive into details.

The structure of a User Story

user story

Their structure is:

As a "Who", I want "What" so that "Why".

"Who" here means a person interacting with the product, "what" means an action or a process of interaction and "why" means the end goal of that interaction (why it should happen in the first place).

For example:

"As a Sports Fan, I want to view the score of the latest match so that I knew if my team won".

That's it! Although user stories may look primitive, especially to a seasoned business analyst who’s used to describing everything in detail, their simple structure is the reason they’re so popular and widely-used in Agile software development.

NB: User stories are usually written by product owners. This is one of the roles in this particular software development approach as described here. The Product Owner can be from the developer’s side or the client’s side, or can be a third-party.

They have a vision of the project, collect all the ideas into a wish-list (backlog) and translate it to the developer’s team. One of the ways of effectively explaining the necessities of the future product is to describe it in the format of User Stories.

The idea is that you as a product owner will be able to look at a user story, quickly recall a feature and be able to explain it to developers or stakeholders.

So how do I write a genuinely useful user story for task-setting during development? Though dozens of books have been written about applying user stories, it's not that difficult to start creating the stories for your project just by following the guideline below.

Step-by-step instructions for creating working User Stories

target you audience

First: Find out who your user is

1) Start with the User

A distinctive principle of user stories is "people go first".

A simple structure saves you time on going into unnecessary details.

  • Think of who’s going to use your product, as well as who stands to benefit from it. Often the first person to come to mind isn’t the right one. For example, it isn’t usually the end user that benefits from signing up but the business owner. By adding a sign-up layer the owner ensures the app is working in accordance with privacy policy regulations, as well as getting the chance to collect user data (with their permission, of course).

2) Exclude everything that doesn't help

Dismiss from the feature any actions which add no value.

  • Think of what your end user really needs. Do not develop anything that looks attractive but does not solve the user problem. This is important to remember when you proceed to the next step.

Then: Discover your target feature

client vs developer

1) Think of how you can solve the problem

The "What" is a way to briefly explain how the functionality you're building will actually work.

2) Try to use widely recognisable notions

For example, "catalogue". Everyone imagines more or less the same thing when they hear "catalogue": a list of items with images/names/sometimes descriptions.

  • Try this yourself. Call "a tool that allows for the selection of multiple items during the process of purchase" a "shopping cart". But don't use industry-specific words unless absolutely necessary. You don’t want to explain the concept of a Chiropractor to developers every time, do you?

3) Don't overthink it

User stories are not a stand-alone tool. They are meant to help trigger a conversation with everybody, describing what you mean in detail.

  • Think of them as of internal memos: every one should get a general idea, but you don't have to squeeze the overall complexity of a solution into two or three-word “what”.

Your stories aren’t going to participate in a “Best User Story” competition. Just make sure you’ve explained your idea loud and clear and that the developers get it.

And finally: The "Why"

perfect user story

1) Write down the reason behind the task

The third step is where you finally capture the purpose of building the feature you're working on.

  • Don't limit yourself here – your product doesn't necessarily have to be life-defining for the user. But this section helps you prioritise which parts of your product are solving real, big problems and which are "nice-to-have".

To compare with the "Football Fan" example above, here's an example with the same User but a different "Why":

As a Football Fan, I want to blow a Vuvuzela so I can support my team.

This one also has a "Why", but... Can you see the difference?

2) Make sure the solution meets the problem

Does a Vuvuzela meet the need to support my favourite football team? Perhaps. Maybe there are other ways to support them, like cheering or buying merch?

  • There’s more than one way to solve every problem, but the "What" always stems from the "Why". Understanding the real needs of the User is the key to meeting their needs.

That's everything you need to write productive user stories. Also remember, no matter how professional you as a product owner are, always show your stories to your team and discuss them together. Improve and rewrite them with the help of your colleagues to ensure the highest possible quality. You won’t be able to achieve it alone.

user stories checklist

Final point: add acceptance criteria

Acceptance criteria are a vital component for the assessment of user stories’ potential for successful realisation after the coding is done.

  • I’ve added bullets below user stories (like in description to a Trello Card) explaining what the final product should allow the user to do. This way, developers and testers can check that the functionality is working in accordance with the user’s expectations.

Coming back to the Football Fan example, these would look something like this.

"As a Sports Fan, I want to view the score of the latest match so that I know if my team won"

Acceptance Criteria:

  1. A Sports Fan can check the teams playing in the latest match.
  2. A Sports Fan can view the number of points scored by each team.

In case you prefer a more detailed explanation of user stories, watch this video.

How detailed should a User Story be?

A good user story is a well-balanced description, neither too detailed nor unclear. You should say just enough to fully encompass the value that the given feature needs to deliver. It should be clear, concise and objective.

However, if the case is too complicated, there are two ways to handle it:

  • Divide the story into smaller substories. This will permit you to add more detail.

For example, if you want to enable the user to share content on social networks, do not write “As a user, I want to share content on social networks”. It’s too vague. Write: “As a user, I want to share content on Facebook…”, “As a user, I want to share content on WhatsApp…” and so on.

  • Another way is to leave your user story in peace but add a broader description for the acceptance criteria.

For example, our user story “As a user, I want to share content on social networks” stays the same, but the acceptance criteria are sharing on Facebook and WhatsApp.

How do you choose between the two approaches? If the feature is too big to be realised within one iteration, subdivide it. If not, opt for the second option.

That was our guide on writing user stories for successful apps and software. If you’re willing to learn more about how we work with Agile, stay tuned for new posts.


Chief Product Officer
With a passion for innovation and a keen understanding of market trends, Alexander plays a pivotal role in shaping Magora's product development strategy and ensuring the delivery of cutting-edge solutions to clients.
How to Get Users Engaged: Best First-Hand Strategies How to Improve Your App’s User Experience In Four Steps Using UI Tests to Improve Your App How to Create a User Journey Map
Generational nuances: crafting the user experience in 2024 VisionOS App Development: The Era of Spatial Computing EdTech 2024: Software trends for Teachers, Students and Headmasters The Heartbeat of AI: Ensuring AI Ethics in Education and Healthcare
Everything You Want to Know About Mobile App Development App Development Calculator Infographics: Magora development process Dictionary
News Technologies Design Business Development HealthTech IoT AI/ML PropTech FinTech EdTech Mobile Apps Discovery Transport&Logistics AR/VR Big Data Sustainability Startup Enterprise Security
Logo Magora LTD
Thank you very much.
Magora team

Grab your e-book: Design to attract more buyers

Logo Magora LTD
Get in touch
Open list
Open list
Logo Magora LTD
Thank you very much.

Your registration to the webinar on the 27th of September at 2 p.m. BST was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"Let Smart Bots Speed up your Business"
Date: 27.09.2018 Time: 2 p.m. BST
Do you agree to the personal data processing?

Logo Magora LTD
Download our curated selection of resources for accelerating your software development journey.