Tips to Write Good User Stories

Agile Methodology has been widely accepted in many industries where the Scrum Framework is one of the most implemented frameworks among organizations. The implementation of Scrum by industries makes it a necessary factor for professionals to learn about the Scrum values and principles along with the Scrum Artifacts, tools, and techniques of Scrum. User Stories are one of the crucial tools that are used by the Developers to approach a particular Product Increment or update. User Stories help the Developers to understand the product from the perspective of the customer and aid them in the product development process. A well-written User Story makes the task of the Developer easier and makes the Agile process smooth. A User Story can affect all other aspects of the product during the software development cycle. Poorly written User Stories create chaos in the team and also become time-consuming for the Developers to work on. User Stories that are long to finish can create a bad perception in the team and also disrupt the team dynamics. Hence, writing great User Stories is a priority in the Agile process and everyone who wants to add value to the product must learn to write a good User Story. 

How to write a Good User Story?

A User Story must always have an appropriate title so that the Developers understand the root of the story by reading the title. The title should accurately fit the description because when the title and the content do not match, it creates uncertainty and ambiguity. One of the best ways to proceed with this title labeling is by giving the title of the User Story at the end of the description. When a proper description is given, the title should comprise a single sentence that manages to describe the content. Every time a User Story has to be written, the writer should ask “who, what, and why” of the User Story. This makes it clear for the writer what the story is trying to accomplish. This gives the Developer enough to start with and can, later on, implement a solution as the development goes along.

Any great User Story should have these three things and should not contain just partial details of the information. When a story has a reason to be developed, it becomes easier to justify to other members about the presence of the story during the refining sessions. This could also be implemented in cases of a bug, where one has to answer what is the problem created, what is it breaking, and what is the bug affecting the most? Taking the time to answer these questions would give great content for writing the next User Stories which would solve the present bugs. An amazing way of writing the User Story is by writing a single sentence summary where the User Story explains in a sentence what the story intends to accomplish. The idea of having a single story is that if a particular story could not be explained in a sentence, then it is either big or unclear for the team to understand. Hence, clarity becomes the main factor that helps in the success of the User Story. Let us learn more about how to write User Stories that would give a clear idea to the Developers about the increment. 

Tips to Write Good User Stories

1. Keep the User Story Concise and Clear

This is one of the most obvious points that most people ignore. It is highly recommended to keep the User Story simple and clear which is easily understood by the Developers. Do not use heavy and technical jargon, confusing and ambiguous terms, and always use active voice while writing the User Story. This could be done while focusing on what is important and what could be left out. You can use the user or customer as the first person and have them list out their requirements in a sentence. This becomes a customer modeled User Story where the user is a persona into the story and makes the benefit explicit. However, you can also use various ways to write the User Story but make sure to make it clear and concise for the developers and everyone else involved in the project. 

Template: 

As <persona>

I want <what?>

So that <why>

 This is one the simplest template which you could use when you are beginning to write User Stories and want to make it simple and clear. 

2. Know Your Users

This becomes a crucial point for any team to know before writing a User Story. It is always best to know your users who are employing the product as the User Stories are written from the customer’s perspective. User Stories help to understand a particular functionality that is needed by the user such as booking a ticket or searching for a product. When you know about your customers and why they want to use the product, most of your work becomes much easier as you have a clear idea for the User Story. Knowing your users requires you to research first by either observing or interviewing customers. If the research is not done, there are chances that the User Stories are written purely based on the beliefs and ideas and not on relevant knowledge. 

3. Collaborate to create stories

User Stories should be seen as a tool for collaboration and not for specification. Stories should not be framed alone and then later handed to the Developers as it was done in the traditional methodology. In Agile, Scrum allows the team members to discuss the importance of the User Story and how it can add value to the product. Writing the User Story should be formed into a conversation where the Product Owner should discuss the User Stories with the team. This ensures that a minimum amount of information is captured, and there is accelerated delivery. This could be taken further where the team could write User Stories collaboratively during the Product Backlog Refinement sessions. Here the team members can make use of each other’s knowledge and yield a better User Story. 

4. Discover the right User Stories using Personas

A Persona is a fictional character that is based on the first-hand knowledge of the target group. These characters consist of a name and a picture and have the related behavior, goal, and attitude of the target audience. The goal here refers to the benefit which the character has to achieve from the product or the problem which they want to be fixed. This goal helps the Developers to understand the functionality that they have to work on so that the desired persona goal is achieved. When you ask yourself about how you can help the persona to achieve their goal, you can write a clear and concise User Story. Also, this solves the ambiguity of any sort that may have arisen within the Developers and helps them develop the correct product needed by the users. 

5. Starting with Epics

An epic is defined as a coarse-grained, big, and sketchy story that could be separated into several smaller User Stories over a period with the help of user feedback on the earlier product increments and prototypes. This could be thought of as a placeholder or a headline that contains various User Stories in detail. Starting with epics helps the Developers to have a rough idea about the Product Increment that has been worked on without getting caught with the details of each User Story. It gives a bigger picture of the Product Increment that needs to be developed where Developers can discover new ways to approach as they move along the process. Also, the feedback from the users and other members on the earlier prototype helps the Developers to improve with every Sprint. Writing an epic would also save time as several separate User Stories in the Product Backlog cannot be evaluated individually, but when they are related, collective feedback can be taken. 

6. Story Refinement Until it’s ready

Epics must be broken down into User Stories and must be refined until it is ready to be taken into the Sprint Backlog. Every User Story must be clear, testable, and feasible. This means that everyone on the team should understand the meaning of the User Story and the story should not be longer with more work to be done. These stories should comfortably fit in Sprints and should not exceed a length of a Sprint. When User Stories are refined, the process of work becomes clear for the Developers and the work could be delivered as promised. 

7. Acceptance Criteria should be Added

An acceptance criterion is the set of conditions that have to be completed for the User Story to be valid. These criteria are present to enrich the User Story and filter those stories that would increase the value of the product. The criteria ensure that all the stories are written can be demonstrated and released to the stakeholders and the users. It is advisable to use at least three to five acceptance criteria for detailed stories. Always be clear about the goals of acceptance criteria which are:

  • Clarifying what the team has to build before the work begins
  • Ensuring that all the developers have understood the need/problem of the user
  • Helping the team know when the User Story is completed
  • Helping them to verify the story through automated tests.

8. Making Use of Paper Cards for User Stories

The user of paper cards may seem a little old-fashioned but it works wonders while writing User Stories. Paper cards are cheap and easy to use where everyone can grab one and start writing the User Story. This promotes collaboration among the team members and everyone is free to give their idea about the User Story. These cards could be collected and arranged on a wall or a table to look for completeness, consistency, and visual dependencies. It is fine to use paper cards even if your User Stories are stored electronically.

9. User Stories Should be Transparent

A rule of thumb is to always keep the User Stories accessible and visible for all the team members to look at. It is not necessary to hide them on a network drive or in a licensed tool. Instead, put them on a wall to facilitate collaboration and create transparency among the Developers and other members of the team. This method also lets you know if you are adding too many User Stories as you are occupying most of the wall. Following this method, you could also know about other team member’s User Stories which could give you more ideas in writing your own. 

10. Do not rely on User Stories completely

User Stories are a part of a bigger picture as they can only let you know about a specific product functionality that has to be implemented. But how will you know about the user journeys or the visual design through User Stories? You have to use other techniques such as workflow diagrams, sketches, storyboards, and mockups to have additional details about the product. If you need to come up with a technical requirement such as service or component then writing a technical story and using a modeling language such as UML would help the developers to go about the process. 

Conclusion

Agile projects use User Stories to document requirements which the Developers use to accelerate the speed of development and delivery of a product. User Stories are owned and approved by the Product Owners. They are made in collaboration with the self-motivated development team who work towards a common business goal. User Stories are powerful tools that help the team to ignite conversations that lead to the best designs. When a User Story is written in a manner that is clear and concise, it keeps the communication between the Developers simple and accelerates the delivery time of the Product Increment. User Stories were written while developing software can be reused, however, if a mockup or throw away is created to validate an idea, writing a User Story may not be necessary. Hence, User Stories are not only about recording requirements, it is about making the team Agile and helping them develop software as quickly as possible.

This entry was posted in Blog and tagged .
Open chat