Have a look at our latest client success stories 👉
View case studies
Home/Blog/How To Write User Stories In Software Development
User stories in software development
August 17, 202015 Min Read

How to write user stories in software development

What are user stories in software development?  

What do user stories look like? 

The structure of the user story is as follows

Let's break it down:

User: For whom are we developing the software? Who will need specific functionality that we are creating? It can be a visitor, customer, user, or a system admin. Based on the software, you might have more specific user persona, such as project manager, team leader, teacher, driver, passenger, and more.  

Want to: What does the user want to achieve? Here we describe the intent of the user persona, not the functionality of the software.  

So that: What is the benefit that the user wants to receive? What is the problem of the user that we want to solve with new functionality? This part answers these questions and helps us see the new feature in a bigger picture, to deliver the value that the user wants to get.  

Example of a user story in real life: 

As a student, I want to be able to check mistakes in my test so that I can prepare for the next exam better.  

Example of a user story in software development: 

As a user, I want to save items in a wish list so that I can purchase them later. 

Different types of user stories in software development 

Who - What - Why statemen

One of the most commonly used types is what "who - what - why" statement. Let's take a look at the example to understand it better. 

User - Goal - Reason statement 
 

This statement is very similar to the previous one with its structure. It also shows who the user persona is, what does she or he wants to achieve and what is the reason behind it.  

 

Given - When - Then statement 

This statement is different from the other two. While it still has a user persona in the heart of it, it describes the function more.  

User story vs use case: What is the difference? 

However, user stories and use case have differences, because of which both of them are used independently from each other.  

What are these differences? 

Both user stories and use cases are helpful tools. When writing user stories in software development, you need to keep these differences in mind and separate them from use cases. 

Characteristics of user stories 

When you write a user story, you should take into account some characteristics of it, to ensure that it meets the needs of the development team. 

These are the two main characteristics of a user story:

  1. It should describe the shortest user interaction.
  2. It should include acceptance criteria for functional and non-functional requirements.

To apply more specific characteristics and criteria to your user stories, you can use the INVEST acronym while writing it. It includes the concepts that make up a user story the development team can use easily.

INVEST acronym:

• Independent

• Negotiable

• Valuable

• Estimable

• Small

• Testable

Let us take a look at each one. 

Independent

A user story should be self-contained and as independent as possible. Developers should be able to work on the user stories in any order. It will allow them to prioritize and work on the most valuable user stories without having to complete the less valuable ones first. In other words, there should not be any dependencies between the user stories.

Negotiable 
Valuable 

Every user story should create value for the users. The development team should be able to work on the most valuable user stories first.

Estimable  

When you write a user story, you should ensure that developers will be able to understand it and get an idea of how to implement it in a system.

Small  

While user stories need to be short, they also need to be small. As a user story needs to describe the shortest user interaction, the implementation should not take more than 3-4 days on average. This time should include all the work that is required to mark the story as done.  

Testable  

The Three C’s of User Stories   

If you are just getting familiar with the user stories in software development, you need to understand the Three C's of user stories.  

Good user stories consist of three key elements: Card, Conversations, and Confirmations. 
 

Cards

Conversations  

Confirmation  

Who can write user stories?  

Now you know what user story is and what are the types and characteristics of it, but who can write user stories in software development?  

It depends, and the answer is not the same for every company. In bigger companies, usually, the product owner writes them. In smaller companies and new start-ups, it can be even CEO or CTO.  

However, generally, every member of the team should be able to write user stories. It can be a product owner, project manager, or anyone from the team who has a communication with the client about the project. 

How to write user stories in agile software development  

Here is the five-step process that will help you write great user stories.  

Step one: Define users

The main part of the user stories is the user. Before you start writing, define who are the real users that will be using the software. Create as many different user personas as needed.  

Step two: Assign personas to stories  

Different users of the system will have different desires and goals. To cover all of them, assign personas to each user story.  

Step three: Collaborate on stories and expand with details  

Add details to your stories. It will help you see the bigger picture and reveal the new points you have not thought of yet. 

Step four: Decompose to smaller implementable stories.   

Step five: Add conditions of satisfaction 

The finals stage is to add conditions of satisfaction. With it, the team will know what are the criteria for completing a story. 
 

Tips for writing a good user story

The following tips will help you in the process:  

1. Do not write user stories as tasks

You should always keep in mind that user stories are for definition. While the development team will use them for defining the tasks in the future, you should not write stories as tasks. Moreover, one user story might need a series of work for complete implementation. If you try to keep all the tasks in mind when writing the user story, it will not serve its purpose.

2. Decide what done user story looks like 

User stories show the needs of end-users. Thus, keep in mind the end state of the user story when you write it. This way, the development team will know when can they mark the work as complete and move on other cards.

3. Stay precise 

Remember, a good story is solid, small and accurate. Do not try to include all the information or all the users' goals on one card. Even when they seem similar. Write one user story for each user. It will help you get the full picture from the perspective of every user persona.  

4. Understand the user and think like one 

5. Make success your goal 

While all user stories should have acceptance criteria, do not set yourself up for the acceptance. Set up your user stories for success. "It works as intended" should not be enough for you. Think about the metrics that directly link to user feedback. Capture how happy, satisfied and engaged your users are with the new functionality.

6. Use tags and metadata 

Usually, complex projects tend to have hundreds of user stories. To administrate them better, tag user stories. Do not change stories descriptions drastically after initial drafting, as it might confuse the team. Use metadata to track the status of user stories and monitor them easily.

7. Create stories for a single sprint 

Why companies started using stories rather than feature requirements  

How do companies use user stories in the software development process?  

We talked about the importance of the user stories in software development and went through the process of writing it. But how do companies use them in the development process?  

Here are some areas where the development team might use user stories: 

Product design stage: Together with user journeys and interaction (process flows), user stories create a solid foundation for good UX and UI design.  

Development team planning and estimation process: Companies use user stories for team planning and estimation process.  As they are implementable and timely, the project manager can determine the needed developers for the project and create estimates.  

Cration of development tasks: Project managers create and assign tasks based on user stories. From a good user story, the manager can clearly understand what tasks should be completed to mark the story done.  

Creation of test cases: Every user case has acceptance criteria. Project managers use them for creating different test cases to ensure the successful completion of tasks.

Communication: User stories provide easy to apply the method for communication requirements, which makes the work of the Project manager and development team more efficient. 
 

Can user stories replace documentation?


Have Questions?

Whether it's about this article or your next project, our experts are here to help.