What is an agile user story? In this blog post, we will dive into agile user stories. What are they, how to write an agile user story, examples, and tips and tricks on getting the most out of your agile user stories.
An agile user story is a way to write down a requirement from a point of view of the user. Agile user stories are designed to be small enough to fit on a post-it or index card. So they can be placed on a project board. For example a scrum or kanban board.
In 1997 Kent Beck was the first one to use user stories and introduced them to extreme programming (XP). The goal was to create an informal way to write down requirements. This was to bring an alternative to the documentation-heavy way of writing down requirements that were used in most projects back in the day.
They are written from the point of view of the user because they are the ones actually using the product. Agile user stories can help in identifying the user's needs. You are forced to write them from their perspective. This helps you identify the user's needs.
Agile user stories are formatted as follows:
As a (User), I want to (Goal), So I can (Reason)
Agile user story format
The most important part of the agile user story is the user. You want to write the story from their perspective. The focus is on the needs of the user, and not what an internal person thinks the customer needs.
What is the goal of the user? This describes the actual requirement in the agile user story. Note: this is not the actual feature you want to build, but what does the user want to achieve?
The third part of the agile user story is the reason. Why does the user want to reach his goal? You are not just building a random feature, you are actually trying to solve a problem your user is having.
One of the most asked questions on agile user stories is who writes them? There are some folks that have a pretty vocal opinion on the matter. Only the Scrum Master or Product owner can write them. And that the developers on the team are not allowed.
My opinion on the matter is pretty straightforward. Anyone can write them. And anyone should write them. In my ideal world, anyone can create an agile user story. That gets discussed inside the team. And the team decides if they move forward with it.
The most important part of writing an agile user story is to keep the user's perspective in mind. Every story you write needs to be from the eyes of the customer.
Writing an agile user story from the users perspective is key
In my career as a former scrum master, I noticed teams struggling with technical stories. How do you write a user story for something such as "update indexes on production database", or "setup ci/cd for the project".
In 99% of the cases, a technical story can be traced back to something that will impact the customer. The example used above on updating indexes is probably done to make the system faster. That has an impact on the user. There are however some cases that cannot easily be traced back to a customer. In my experience, this is usually at the beginning of a project. Setting up things, making sure the groundwork is done.
If we would look at it technically you could have one big agile user story saying a user needs a system to interact with. But what is the benefit for the user to have an empty system that can be deployed?
A user does not have to be an external customer. Do you have an internal system your coworkers use? that is perfectly valid as well.
If you want to dive deeper into writing agile user stories, read User Stories Applied by Mike Cohn. User stories applied is widely considered to be the go-to resource on writing agile user stories.
Some examples to give you a clearer picture of what is a good agile user story:
- As a user, I want to download my invoice, so I can pay my order.
- As a user, I want to select my delivery address, so I can receive my delivery.
- As a marketeer, I want to be able to create personal discounts, so I can convince customers to order with us.
In my career as a Scrum Master, I have gathered the following tips and tricks on writing an agile user story. Keep in mind, that opinions may differ. These tips and tricks are from my professional experience:
- Write them from the user's perspective. Even the most technical stories have an impact on the customer.
- The user does not have to be an external customer,
- Keep them as small as possible, this helps in delivery.
- The way you write it down is not the most important part. To prevent semantic discussions, if the team knows what to build, it is good enough!
If you are interested in more tips and tricks, check out The 4 lessons I learned as a starting Scrum master.
To summarize agile user stories:
- An agile user story is a way to describe a requirement from a user's perspective. It consists of three parts. The user, the goal, and the reason.
- Keep in mind to write your agile user stories from the user's perspective, keep them as small as possible, and you are good to go!
- Anyone can write an agile user story, but it is a team effort to make sure everyone understands it. And it can be picked up in the next (ideally) iteration.
What are your experiences with agile user stories? Let me know in the comments below!
Do you want to keep up to date with my content? Sign up for the newsletter!