What are user stories?
The complete guide to writing SAFe user stories in 2022
“User stories are short descriptions of a small piece of desired functionality, written in the user’s language.“
– scaledagileframework.com/story
What you will learn
Here’s a checklist of what we will discover in this article
Section #1. What are user stories?
Talking about the different story types and giving real world user story examples. We will look at how sub-tasks are such an integral part to resolving user stories and how to write great sub-tasks
Section #2. Questions about User Stories
Who is responsible to write user stories? When do we write user stories? Let’s find out together in section 2.
Section #3. Planning User Stories
How do we plan user stories to get the best value result? What is story mapping and how can it help us plan priorities better?
Section #4. The relevance shift
Talking about the shift in priority relevance. A priority can lose its relevance without losing its priority level
Section #5. Why User Stories?
Why would you need to work with user stories? How can user stories help you be more efficient in achieving sprint goals
Section #6. Resources & FAQs
Download here the document for SEO measurements taken to improve ranking of this article. FAQs about user stories.
Want a quick brief about user stories? Watch the video.
What are user stories?
User stories, as the name implies, are pieces of information that indicate a user centred requirement that when put together, will form a new system behaviour of the end product. A user story is an integral part of the product backlog, team backlog and the sprint board.
Simply put, companies need to make money, and for that to happen, business analysts, sales and many other stakeholders need to communicate the requirements to the scrum teams.
Companies make use of known communication systems to effectively communicate requirements and secure timely delivery in adherence with the original request.
The ideation of user stories comes from the need to create a more informal communication that is actionable in an estimable amount of time. Basically, what worked in the past has no place in the ever changing, ever growing present. Depending on the type of venture or enterprise, business requirements and KPIs can change in such a way that would require companies to be flexible and adaptive to create the best competitive advantage in their industries.
What makes a user story great?
As Bill Wake puts it, a great user story follows the INVEST model
- Independent – The sequence for building a user story and its updates does not effect another.
- Negotiable – The scrum team decide how to implement the user story. No preset way of doing so.
- Valuable – Delivers value to the end user.
- Estimable – The scrum team can estimate the time to deliver the story relative to estimation metrics.
- Small – Achievable in one sprint.
- Testable – No user story should be committed to without acceptance criteria
What are the different user story types?
Different user story types are available to represent the correct type of information. Not all stories need to be user focused, or at least not directly relating to the end user. Communication starts with choosing the correct type depending on what you need to communicate:
Conversational
The point of a user story is to get team members to talk about functionality and discuss it, as opposed to burying functionality under complex documentation.
This user story type is a few sentences story, typically focusing on the end user of the product. The user story outcome is the expected new system behaviour or a complimentary outcome which when puzzled together with the outcomes of the story map, produce the end result.
A real, commercial example of a user story will comprise of 3 essential elements, namely:
#1
The type of user that will benefit from the new feature.
#2
The end goal that the user needs to achieve
#3
The monetising reason for the user to achieve the goal
User Stories Examples
Real world scenarios
Let’s take a look at the user story example below which is taken from my personal previous experience working on a social trading platform (tradeor.com) at a B2B/B2C business support company.
We used JIRA software to collaborate with different teams and stakeholders on building projects and delivering features. In the JIRA example above, you can see that the title, ‘Custom Market Movers‘ is subjective and relative to what the story is about. Some teams use the user story format directly in the title, this is accepted and you can adapt it according to your needs, after all, agile is about adaptation.
Each one of our user stories had its acceptance criteria. The acceptance criteria help teams define the DoD (definition of ready). The definition of ready help teams to move a user story to the right most column of the sprint board.
Let’s break down this user story!
‘As a user…‘ The story starts with these words. Here, the team had decided to use the ‘user’ term only to refer to the end user. The user could also be an administrator or a developer or a stakeholder such as marketing or sales.
Identifying the right user would allow the team to develop the requested functionality and create user tests. This user story meets the DoR (definition of ready), because it follows a format that ensures complete information for converting the story into technical requirements.
‘I want…‘. These next words indicate to the team what the user wants to be able to achieve, and here is where the team looks for a specific goal that the user wants to be able to achieve which would complement the overall user experience. In the example provided, the user would like to be able to set custom market movers parameters so that they can have a personalised watchlist of the trade-able instruments that are causing change in markets.
‘So that…’. This is an integral part of the conversational user story format as it indicates the monetising reason to satisfy the user needs. What will the user get from achieving their goal? What does it mean for the business?
It gives an immediate understanding of why building the feature part of the user story is profitable for the user and the business. In the example above, the user wants to be able to take advantage of short term trading (A.K.A swing or day trading). Market movers filters can help the user do this by eliminating missed opportunities on trending markets.
The above mentioned user story format aids the scrum team to convert stories into technical requirements. Technical requirements need to be specific for the team to understand what exactly they need to build. The above user story structure ensures information is correct and complete, however you may notice that the user story is not technical and specific enough to be able to create a proper technical requirement.
The user story asks for custom movers for the users of the app, so that they can create a list of instruments that fall under their interested trends. However, user stories are not technical. This means that sometimes, teams need to break down a user story into sub-tasks.
How do you build subtasks?
Well subtasks are usually more technical pieces of information than a user story. They are the breakdown of user stories that represent the amount of effort a team will take to achieve the parent user story.
Through the many years working as a product owner, I’ve seen many scrum teams struggle writing qualitative subtasks.
Well here’s how we made our subtasks great!
#1
A subtask should resolve one or more acceptance criteria defined in the user story. If it’s not resolving at least one acceptance criteria, there’s a high chance your sub-task is irrelevant to its mapping. Keep building subtasks until you have a subtask for each acceptance criteria, you don’t need more, and you must not have less.
#2
We wrote test scenarios for each user story.
Test scenarios, allow the scrum team to test their work from a user perspective.
That’s all there is to your subtasks and you can use any format for them.
Below is how we broke down the subtasks for the example above. Notice how we always looked for ways to improve visual communication. We used square brackets at the beginning of each subtask so that the scrum team members can quickly visualise their responsibilities:
From the screenshot above, you can see that for this particular user story, we had a subtask for each acceptance criteria and an extra subtask to request the designs from the design team. The scrum team measures user story achievement through subtasks. When all the subtasks are ready, so is the parent user story.
What makes a sub-task great?
As we have seen above, a subtask that resolves one of the acceptance criteria of the parent story, is a quality subtask. This is because it gets the scrum team a step closer to resolving the whole requirement.
Download 20 user stories from real companies
Enabler Stories
Unlike user stories, enabler stories are information representation of system enablement. Enablers pave the path for the architectural runway. Written either in technical terms, enabler stories focus on investigation, configuration of systems, technical debt and other. There are different types of enabler stories and we take a look at some of the types below:
Spikes
A spike story is a user story that creates no new system behaviour, but identifies the unknown in uncommitted tasks.
An Agile culture requires all members within the company to work in a scrum manner, and through such practice, product owners, together with their managers and the different stakeholders, create requirements using proven techniques to ensure all requirements are correct and complete. Gathered requirements may be ambiguous at first attempt, therefore the scrum team could not commit to them. Scrum members utilise SMART goals or OKRS to deliver qualitative and ambitious goals.
Scrum teams evaluate yet do not commit to unclearly defined objectives. The team does not commit to complete or work on these tasks before more information is provided. In certain cases, product owners and stakeholders refer to the team to do some research to get knowledgeable about what and how to achieve an objective. This research requires time and outcomes, which is why agile teams create SPIKE stories to incorporate into their sprints.
A spike story is a story that creates no new system behaviour, but identifies the unknown in uncommitted tasks. Scrum teams create spike tasks to conduct research and increase knowledge value that will help to achieve the objective in question. At the end of a spike story, team members will document their findings and propose a solution to complete uncommitted tasks.
Refactors
Refactors are stories for the improvement of current systems and technical challenges.
Everyone can speak about agile culture and development from a theoretic perspective, however in the practical real world enterprise, things happen a little different. Companies go through roles terminations and new on-boardings, promotions and transfers of human resources, migrations and integrations of new systems. All these changes in a company cause current and new system behaviour to be altered and defected.
While documentation is a key factor to maintaining system health through times and updates, the need to refactor will always arise due to aforementioned changes. Being prompt and planning refactors is as essential as it is to deliver new value to the business, why? Because like every other debt, technical debt has to be paid at some point. Refactors are a way to solve technical debt.
Enabler Stories Real World Examples
Here we take a look at an example from my experience of product ownership. In this example, we see the possibility to integrate two complimentary products offered from the company; the social trading product and the crypto wallet. The trading solution offered trading capabilities using crypto currency, while the crypto wallet offered clients the possibility to bank crypto currencies from Ether to Bitcoin. With the integration of both products, the company could now offer its users the ability to move crypto funds from wallet to their trading account easily and efficiently with higher security provided.
Let’s take a look at how epics can generate enablers! Take a look at the epic screenshot below of the two product’s integration.
As you may already know, epics in agile can span across multiple agile iterations, therefore we need to extract smaller functionality into achievable stories.
Let’s do this by first extracting a feature!
Feature: Enable Multi-access user account.
Value Hypothesis: Clients can make use of both products with a single sign in account.
Acceptance Criteria:
- Both products have access to the same database master.
- User went through the account verification process in at least one of the products.
- Both products are under the same licensing requirements.
- Both products process data in-line with DPA.
After we had extracted the above information from the epic, the below enabler story became apparent:
Enabler Story: Set a shared DB master accessible between the 2 products for user verification.
Incidents
An incident ticket is not a story in itself. It is used by scrum teams to report defects. Incidents are worth mentioning for several reasons:
#1. Happen everywhere
No matter how well organised a team is and how harmonised the SDLC is, system defects will always happen at some point. This means that incident tickets are an integral part of planning and sprints. After all, completed user stories are among the main reasons for defects in the system.
#2. Urgent
While we plan our stories and we story map to deliver a piece of new system behaviour, agile requires adaptation to change, for such reasons, some defects arising before, during and after a sprint plan may have precedence over other tickets due to their level of urgency. Incidents are reports of some level of user experience impairment and some may even disrupt the user in such a way that they wouldn’t be able to reach their end goal.
#3 Disruptive
Writing user stories to break down product requirements into technical requirements is a great way to achieve the desired result. Backlogs could get inundated with defects happening anytime, therefore need agile planning. Because defects can occur for multiple reasons, backlogs could get inundated with defects. Unless a good plan to resolve defects is laid out, scrum teams could spend sprints resolving due defects. The below figure shows how defects can be planned. A tested plan is to resolve only defects and enablers that are needed for the current sprint.
Who writes user stories?
Who writes, and when do we write user stories?
A question you may have already asked yourself.
Many scrum teams have wondered who really should be taking care of writing user stories, and is it a one person’s responsibility?
In this section we will answer the questions:
Who writes user stories?
When do we write user stories?
Who writes user stories?
Think of it this way! The agile team is responsible to resolve user stories and deliver new functionality promised within that user story. This means that anyone within the agile team can write user stories. However, it is essential that a product owner is assigned to ensure continuity.
Continuity? In what sense? Well, agile teams usually include two important roles, the product owner, known as the PO, and the scrum master. The product owner ensures that the requirements are delivered to the team with the DoR. The scrum master then collaborates with the team to create technical requirements and plan them for the next iteration. Without the correct roles to guard this process, the flow would be compromised.
When do we write user stories?
Writing user stories is not a necessary task, yet writing a good user story could make or break the success story of your product. Requirements for a product need to be investigated, collected, discussed and documented. The product requirements will reflect the business goals and KPIs, and for that reason, roles like product owners become important to bridge the gap between business and development. This is where user stories come at hand!
Handing a large document of several requirements drowning in business jargon to the development team has proven to be ineffective in the past. However powerful user stories are, they should not replace the official product requirement gathering during requirement discovery stage, nor should they replace planning events.
User stories are a powerful tool to extract just the right amount of information scrum teams need and gives it focus and context from the official documentation. User stories promote collaboration and conversation between team members and drives timely implementation of user focused new system behaviour.
Planning User Stories
User stories need a plan of resolution
Sprint planning, is the scrum event in which scrum teams plan the next iteration, typically 2 or 4 weeks long. During a sprint plan event, the scrum team reviews the team backlog to commit to a number of user stories to deliver. There are certain measures that can be taken to ensure user stories are achievable and value is delivered in time. Let’s take a look at these!
#1 User story mapping
User story mapping is the outlining of the relationship between user stories. Remember, user stories are small pieces of user focused functionality and not the entire feature. A feature can have multiple user stories and each story may have its own dependencies. Before jumping into committing to developing user stories, scrum teams need a sprint goal. A sprint goal is everything that the scrum team intends to attempt to achieve in one iteration.
Writing a good sprint goal is not an easy task. I had adapted my teams to a simple strategy which helped them write effective and achievable goals every time, story mapping!
My teams would hold a time-boxed event of around 30 minutes and map the stories out. We played with user stories like they were puzzles pieces to hook up in order to their epic.
Yes, the epic or feature in your scrum board is what maps your stories out, as these are the tickets to business, customer and knowledge value. If a story resolves a piece of the feature, then it belongs to that feature, if a bug originated from the completion of one of the stories mapped to that feature, then the bug belongs to that feature and we sub-bug it to that feature. This not only helped us know what to work on and what to work on first, but also how much work we need to do to deliver the immediate business and customer value.
User Story Mapping Real World Example
Let’s take a look at the story mapping example below!
This time we are taking a real world example from one of my experiences working at an online casino affiliate. The feature required that users would be able to view and play new slots that come in demo version.
The real world is far more complicated than the scrum process explained in theory by authentic and official sites like at SAFe. Priorities flow into the team’s board at any time of the life cycle, defects pop out from anywhere at anytime, teams change suddenly and many more factors make the real world a challenge even for the well trained and experienced.
Let’s say that during sprint planning the scrum team extracted the below user stories:
Story #1: As a user I want to view a page dedicated to the free slots catalog, so that I can select a game to play for free from the catalog.
Story #2: As a user I want to filter slots by date released so that I can view only new slots.
Perfect! We have features and stories at planning stage and we can evaluate them and add to our sprint.
Let’s say that somewhere in our quarter, a stakeholder comes with a new requirement and asks for a filter for slots offering a jackpot win. Let’s also say that the development team has discovered that the theme of the current product is not easily scalable to add a new template page for the free slots catalog and its review. So now we have these two orphan tickets:
New story: As a user, I want to be able to filter the demo slots catalog for demo slots with a jackpot win so that I can quickly select and try jackpot slots.
Defect: Current theme was not coded to scale with new template page for demo slot.
Now obviously this seems like a very simple situation. But in real life, products have product backlogs, and scrum teams have team backlogs. You can have multiple cross-functional teams working towards the same goal and priorities that have been set with an estimated time of delivery before defects and new requirements arise. In these real world situations, I have seen the most experienced lose track and focus. I had managers looking confused when faced with priority queries.
With story mapping, scrum teams can eliminate orphan tickets being born after planning stage by reviewing the backlog and map orphan tickets at the backlog grooming event and before sprint planning. With story mapping, new requirements align with parent’s priority and sprint goals are written with a focus on the feature to be delivered rather than solving orphan tickets.
The story mapping example below clearly show the benefit of mapping user stories. Here we can see that with a complex backlog, story mapping help us work on priorities.
Relevance
Work can lose its relevance without losing priority
You probably hear a lot about priorities, but what i taught my teams to take into account when planning their commitments is relevant priority. Now this is a concept that I got grasp of through work experience. We mentioned before that the real world is far from theoretical. When you work inside scrum teams in a company with owners, clients, investors, directors and managers to satisfy, understanding and measuring relevance is crucial to your success and business health.
Relevance is the measure of how far in the timeline or roadmap a priority can go without it becoming irrelevant on par to another priority. It does not deprioritise a priority, rather it gives teams a shift in perspective, equipping them not with the highest priority, but with the most relevant priority amongst a pool of equal priorities of the teams’ responsibilities.
In a real agile company scenario you find challenges. The teams work on gathering requirements, prioritise them, document them, convert them into technical requirements and assign them to the scrum teams in the form of user stories in the backlog. In the ideal world, you would have collected all the requirements for the quarter and have no new priorities pop up for the whole quarter. You would have unlimited resources and all the infrastructure readily set to accommodate team dependencies. You would also have a cross-functional team per feature to ensure parallel delivery in the agile train.
In the real world you have priority features sitting unresolved for iterations and sometimes even quarters. They pile up because teams have multiple priorities to tackle and each feature can have dependencies and defects arising that take up the space of the next iteration. When this happens, relevant priority comes to play.
Is the priority discussed with stakeholders two quarters ago still relevant to the business, as opposed to the new priority? Is the question agile stakeholders, agile product owners and agile teams should ask themselves to answer the question; Is it relevant?
The Relevance Shift
A real world problem of relevant priority
We had just launched our minimum viable product (MVP) of the social trading application and celebrations were in order, Yay!
Our sales and marketing team, along with one of the owners, had prioritised the need for multiple promotional banners to promote the application and exclusive offers and competitions involving trading. Using technologies such as Elastic, we load tested the MVP on a a higher request scale that would accommodate the estimated traffic caused by the planned campaigns. The test results showed broken functionalities, with some defects being highly critical as they effected the user’s portfolio. Unfortunately, during development of the MVP, the team changed significantly, and this effected the technology integrated and the overall infrastructure of the project.
The beginning of the priority extension
The team had by then realised that some technical debt had not been paid. Part of the current architecture had to be revisited and code refactored. With other priorities in line for the team to work on, resolving technical debt took the team 5 sprints. Almost the whole quarter. Such incident delayed any promotions and campaigns of the product by 2 quarters.
The business change
As the team worked on resolving technical debt, owners adapted to new business priorities. The introduction of white-labelling the product itself to prospective clients that wanted to enter the industry of trading.
Change in priority relevance
Without proper load balancing and communication channels, there would be no promotion of the app. After all, no one business would want to see their app break down during a hot campaign due to high volume traffic.
The problem, however, was that the business had shifted towards white-labelling the product and the deadline was only two iterations. The need of a fully functioning application still maintained its highest priority because we had no control over how far the white-label client would go with promotion. However, due to the shift in business, without a white-label to offer there would have been no white-label client and therefore the high priority load balancing stories lost there relevance without losing their priority. For the business that had now shifted its focus on white-labelling the product, handling a large number of requests on the app became irrelevant given that there is no white-label product to scale test.
Tackling priority relevance
That was how we tackled priorities that otherwise would create longer discussion, confusion and disruption to teams. In order to understand priority, scrum teams can work independently from the rest. Yet, to understand and measure relevance, all involved parties have to be addressed. In the above scenario, the owners communicated the business shift, which caused the shift in relevance of priorities. Similar scenarios happen often in mid to large companies.
Why User Stories?
Why work with user stories at all?
There are multiple reasons to work with user stories in scrum teams.
In this section, we shall explore the below:
- User Focused
- Continuous Delivery
#1 User Focused
The business success is a measure of user’s satisfaction and user’s action favourable to the business. it is important for the entire Agile team to keep their efforts user focused and user stories help teams do just that.
#2 Continuous Delivery
Because user stories are small pieces from a feature, the effort involved is always achievable within one iteration. This promotes an un interrupted delivery of new system behaviour
Final Words
Writing user stories is an art that requires practice and experience. A good user story is one that describes the piece of functionality required, meets all its acceptance criteria, can be achieved in one iteration and resolves partially or completely one of the relevant priorities.
Let’s now hear it from you. What’s your user story? Drop a comment below!
SEO Measures
Download the list of on page SEO measures taken to rank this article.
Frequently Asked Questions
User stories are short pieces of content denoting a functional need from the user’s voice. The usual agile format for user stories is the As a___, I want___, So that___ format.
You can find multiple user story examples downloading this PDF.
While user stories and use cases share several similarities, these are not the same. A use case can be much more detailed and complex than a user story. Use cases include scenarios of an entire user journey, while user stories are much more specific. A use case can generate multiple user stories.
Use case example: Trade Crypto
What is a good user story format? SAFe recommends the below format:
As a ___, I want ___, So that___
This format ensures that the requirements delivered to the team are user focused and have value to the end user therefore the business.
User stories are best written once the requirements are collected and product owners have aligned with all stakeholders. At planning stage of the quarter, the product owner, together with scrum teams should ensure that user stories are written for sprint planning.
Agile recommends using user stories. User stories are the foundation of work in iteration, the essence of agile and the difference from a waterfall approach.
Start by extracting a piece of requirement, then look at that requirement from the user perspective and what they want to achieve and why they want to achieve it. Construct your user story with this format:
As a___, I want ___, so that___
You can read more about it here
Anyone within the scrum team can write user stories. It is common for the product owner to write the user stories at planning stage after OKRs have been written.
Author
Omar Zawia Abela
Omar is a PSPO certified product owner with over 4 years of experience working in various industries including: online casino, sports, affiliate, social trading and online security. View Omar’s Linked in here