Why (and how to) write User Stories?
Tags: agile, development, devlife, projects
Published: 2021-02-19 13:15:16

*(this article was originally [posted on my blog](https://raffaelepizzari.com/why-and-how-to-write-user-stories/))*

Most of my posts are just personal notes I take to reflect on my daily work or  to prepare for a meeting.

Sometimes I think they could be food for thought for someone else and as it happened today, here I am writing these lines. 

I asked myself 3 simple questions:
1. **Why do we write User Stories?**
2. **How should we write User Stories?**
3. **What are acceptance criteria used for?**

Just to give you some context, I’m talking about *user stories* as **units of work in an agile framework**.
I know there is an immense literature on this subject and I don’t want to reinvent the wheel but I took the time to think and respond with concise and clear answers. 

<hr />

## Why do we write User Stories?

### 1. To focus on users
Stories focus on users and their needs and are aimed at solving real problems and to add real value to the project.
 
### 2. To encourage critical and creative conversations 
Stories empower critical and creative discussions about the product in the development team and create conversations between the development team and the external stakeholders.

### 3. To deliver a product that the client really needs
With each passing story the development team enjoys a small challenges and a small win, driving momentum.  


## How should we write User Stories?
In order to describe a functionality from a user’s perspective, we use a simple structured template:

> **“As a *User Persona*, I *want to* …, *so that* …”**  



#### a) as a *User Persona*
Who is the user? Who are we building this for?

#### b) I want to
What is the *User* trying to achieve? 
What does the User want/need to do?
I personally find very useful what Max Rehkopf [wrote here]([User Stories | Examples and Template | Atlassian](https://www.atlassian.com/agile/project-management/user-stories):   <<This statement **should be implementation free** — **if you’re describing any part of the UI and not what the user goal is you’re missing the point**.>>

#### c) So that
What is the problem that needs a solution?

<hr />

## What are acceptance criteria used for?

### To define the scope
It’s very important  to set some boundaries from technical and design perspective.

### To know when the story is done
When acceptance criteria are met, the story can be considered done. 

### Align expectations
The development team and the customer must have the same expectations about the outcome of the story.

### To improve the planning
Well defined acceptance criteria could generate clear subtasks.

<hr />
I would be delighted to know your opinion on user stories, how you would have answered the 3 questions, what tips and tricks you use in your work. 

<hr />

*Image by <a href="https://pixabay.com/users/startupstockphotos-690514/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=593343">StartupStockPhotos</a> from <a href="https://pixabay.com/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=593343">Pixabay</a>*