User Stories: What Are They & Why Should You Use Them?
We all know stories, they are part of our life and always have been. Human history has a long record of stories and storytelling.
But user stories, what are they?
What is a User Story?
A user story in Agile is a brief, informal, and plain-language description of what a user would like to do within a software product to achieve something valuable.
The role-feature-benefit template (or template) is the most common way to tell user stories.
- As a [type] of user,
- I want [an action]
- So that [a value/ benefit]
User stories are the smallest unit work in an Agile environment and are a key tool for incremental development.
![Kyle-Hand-Executive-Coach-Coaching-Empowerment-Byron-Bay-NSW-Sydney-Australia-Master-Coach-Facilitator-Trainer-User-Stories](https://www.kylebhand.com/wp-content/uploads/2022/10/BANNER-Blog-11-768x432.png)
Why use User Stories and what are their benefits?
User stories allow you to put the user at the centre of any discussion about what to change or add to a software product. User stories are a way of working which embody the first principle behind the agile manifesto.
User stories allow you to give the context and why to a team of developers. This helps them to understand how they are adding value to the business, and keeps the customer/ user top of mind.
Within user stories are the essential ingredients which are needed to understand how to best prioritise each item.
Until you are ready to implement them, there is no need to add any unnecessary details. These conditions for satisfaction, which allow users to expand on and explain concepts. As you move closer to the implementation of the story, you will add more details.
This allows you to make quick decisions and not waste too much effort. This is the second principle in the Agile Manifesto.
“Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.”
User stories are concise and user-focused, which helps to distinguish who deals each one.
Finally, user stories are small, self-sustaining units of work that you can complete one after another. This is great for building momentum.
Common Mistakes – How to Not Benefit from User Stories
These are some of the most common and classic errors in user stories:
1. Vague Stories
You might be asking yourself “But wait, these user stories are all made up. Aren’t they all faceless?”
It’s not true. The user stories don’t really have to be based on real people. However, they should be based upon actual people’s needs and roles.
Your development team will find it difficult to understand the motivations of your user if you call them “the user”. Each user story should have more to it than a user. You want to avoid creating a user story just to add an unneeded feature.
How can you avoid making this mistake?
To avoid vague users in user stories, you can create a list of personas You will likely have several types of end-users. Before you begin creating your user stories, create background information for each one. When you begin writing user stories, it will be easier to identify who each one is and whether or not they are necessary.
3. Attract new opportunities
You will find opportunities in situations where others see obstacles if you have a growth mindset. This does not mean you ignore the challenges, but that you can consider all factors that could make or break the challenge. If you are fixed-minded, you will be more likely to give up than consider other options.
2. Conveying the”how” rather than the “why”.
Product managers often have a problem when writing user stories. The story can become too simple to describe a feature that you want, rather than an explanation of a user’s requirements.
This results in a user story that’s too technical and focuses on details, more like a description than a story. You’re not writing user stories correctly if you try to convert a list of software features into story format.
How can you avoid making this mistake?
This mistake can be avoided by simply critiquing and being open-minded about your stories. After writing your user stories, read them and see if you are too specific. Seek feedback and be open to criticisms from your team.
3. Creating stories that are too long
Although “story” is mentioned in the name, it is not a workshop for writers. You want to focus on the basics. Each users story should be an exercise in minimalism, striking a balance between not too much and not to little.
Your team must know the “who”, the “what” and the “why” behind your story. That’s it! In most stories, you should only have one of these things.
How can you avoid making this mistake?
If your story is too long, you can tell by getting bored. If you have a lengthy user story to tell, it is advisable to start breaking it down.
Split the story into multiple stories, rather than throwing away pieces (unless they are truly useless). This will help you and your team clarify the goals and make it easier to manage each story during development.
A user story map is a great way to ensure you are getting the right amount of detail and planning in the correct order.
This technique was created byJeff Paton and maps out the users experiences and how they interact to your product. This allows you to think of features as tasks the user completes.
4. Poor context in the user story
After you have written the first fifty user stories, this mistake can start to set in. Your stories start to look and sound alike, and you begin to panic about writing the fiftieth user story. You will end up with a story such as this:
This technically conforms to the correct template for a user-story, but it doesn’t tell developers anything except that you really need the software to include a text editor.
How can you avoid making this mistake?
Your stories should be concise and clear, but not boring. You should be focusing on the user and what they want. Your user story shouldn’t be divided into the what and why.
If you feel like your brain is shutting down after writing user stories for more hours than a few, take a break. Then come back with a fresh perspective.
5. Assigning a story without discussing it
Let’s not get bogged down in the story-writing process. Instead, let’s look at how your team will actually receive their story assignments. This is as important as writing the stories, if not more so, as your team will be interpreting them during the development process.
Because they are not the ones writing the stories themselves, your team should use their interpretations of each story. If you don’t go over the stories with your team members, they could be misinterpreted and end up looking very different.
How can you avoid making this mistake?
This mistake can be avoided easily. When assigning stories, please make sure you have discussed them with your team. Before work starts, have a meeting. Present the stories to your team, listen to feedback and ensure everyone is on the same page.
6. Not involving the team in story-creating
Continue with the team-meeting theme, it’s easy for story-assigning to be just that: a story-assigning procedure. You’ll end up with a very poor product if all you do is explain your intentions and story.
It is important to create user stories to ensure that your team doesn’t focus solely on what you ask. Instead, a united focus should be on the needs of the end user. You will most likely have a bored team and a disconnected project if you exclude your team from the story-creation process.
How can you avoid making this mistake?
It is important to be open-minded when you present your user stories. This will help avoid making this mistake. Encourage a culture of teamwork that welcomes criticism and feedback. Instead of seeing team meetings as assignments being given, consider them as a collaborative session between your original ideas and the team’s perspective.
7. The Wrong Acceptance criteria
You want to allow enough freedom for each user story so that team members can come up with their own solutions, but you need to remember some important things about the final product that must be implemented.
Your acceptance criteria must contain all the information that the customer/ end user requires from the software being created. Without any acceptance criteria, there is no way to know when the project is complete or what the client wants.
How can you avoid making this mistake?
User stories should not replace your acceptance criteria, but inform how you achieve these criteria. Before you allow your team to begin working, make sure that a final criterion is established and agreed upon. You can then create user stories that will guide your creative process.
Your acceptance criteria (end goal) and your user story (way to get there) are the two most important things for your team.
8. Blocking creativity
Last but not least, user stories shouldn’t take away creativity from your project. In fact, this is exactly why we use user story to begin with.
These stories are meant to encourage creativity and outside-of-the-box thinking among your team. You could save time by creating a list of the things you want your stories to accomplish.
How can you avoid making this mistake?
Keep the stories open-ended and involve your team if you want to keep the process creative. Be open to suggestions, changes, insights, and other perspectives.
A team provides you with not only a workforce that can accomplish the project’s goals but also unique and valuable perspectives on what the product should look like. Accept the diversity in your team and let your user stories evolve and adapt with your team’s feedback.
![Kyle-Hand-Executive-Coach-Coaching-Empowerment-Byron-Bay-NSW-Sydney-Australia-Master-Coach-Facilitator-Trainer-User-Stories](https://www.kylebhand.com/wp-content/uploads/2022/10/BANNER-Blog-12-768x432.png)
What is a good user story?
Bill Wake created the INVEST criteria in 2003 to help teams remember the qualities of a good user story.
INVEST stands for:
- Independent.
- Independent. You want your user stories to be independent so that you can move them around in your product backlog when priorities change.
- Negotiable.
- In collaboration with your customer and the team who will implement it, you define the details of the user story. This collaboration involves negotiating the scope of the implementation.
- Valuable.
- Good user stories have value for the customer, which may also be an internal user.
- Estimable.
- It is impossible to estimate the story if you do not understand its scope. Although you don’t necessarily need precise estimates, you need to be able distinguish between high-value stories that require low effort and those that require more effort.
- Small.
- The effort required to create a user story should be minimal. A maximum of a few weeks by one person, though many teams use ‘a couple days’ as their limit. It is easier to estimate smaller stories. It is more difficult to estimate big stories and therefore less negotiable.
- Testable.
- You must be able to test your story. By writing down the acceptance criteria (also known as specification by Example in BDD), before you implement the story, your team will be more productive and avoid rework due to misunderstandings.
The Purpose Of User StoriesIs Not The User Story Itself
It’s the interaction between users, developers, testers, and business professionals that is important. This conversation, the back-and-forth between different perspectives, will bring you better, simpler and more valuable solutions for users’ problems.
You can communicate your user stories and keep the focus on the user and their value during development by writing user stories.
In 4 Easy Steps to Create a User Story
1. The End is the Beginning
Agile development means delivering software that meets customers’ needs.
This is where you start: what the user wants.
It is helpful to see it as a solution to the problem.
2. Reverse Work
You must first understand the user and their end goal. Then you can determine the steps that a user needs to take in order to reach their goal.
It is hard to find the first step to achieve a goal. There are too many choices to make and it is difficult to pick one.
The only way out is to go backwards from your goal.
Let’s assume your goal is to have a strawberry smoothie. You are now ready to enjoy a orange juice.
What are you going to need? You will need a glass, straw, juices and the ability to put them together.
- Get a glass
- Get a straw
- Make the juice
- Pour the juice into a glass
- Stick the straw in the smoothie
If you don’t have straws but have a suitable glass to drink,
- Buy straws
Although you’ve never tried making a juice before, you are aware that you will need one.
- juices:
- a recipe
You must follow a recipe to be able to make it work.
- Find a recipe
- Buy the ingredients listed in the recipe
- etc
3. Small Steps
Large steps can be unwieldy and hide assumptions and details. It’s better to break down steps into smaller pieces if you want to add more details to a step.
Refer to the section on making a juice. If you don’t know how to make the exact juice you want, it is better to break it down into smaller steps.
4.Story Cards
Once you have a clear understanding of the steps and their value in solving the problem, you can start to create the user stories. Each step requires a story.
Write stories on cards one at a time to make them more tangible. Cards can be moved around on a board or table. This is the easiest method to prioritise and schedule.
Software Development Starting from User Stories
ser stories are high-level narratives that lack the detail required by testers and developers.
When a user story is due for implementation, you will need to include the details that will keep everyone on track.
Ron Jeffries created the 3C’s. These are 3 crucial aspects of developing and working with software, starting with user stories.
What are the 3 C’s of User Stories?
1.Card
Your stories are written on cards. These can be used for scheduling, prioritising and estimating. While you can make notes about costs and priorities, other details are left for the developers.
2. Conversation
Open discussions and conversations are held between customers and people involved in the implementation of it. This allows them to identify specific requirements and provides clarity for the implementation.
3. Confirmation
Confirmation is the confirmation test that verifies whether the software meets the acceptance criteria.
Acceptance criteria refers to the conversations. It is preferable to have the acceptance criteria in executable format, since executable examples can save you a lot of time and effort when building acceptance tests.
Key Learning Points:
- Be comprehensive enough to show user value
- Be user-centric
- Start with something epic.
- Keep it short, concise, and simple.
- If necessary, keep supporting documents and documentation.
- It should be comprehensive enough to show value but easy enough to implement in one iteration.
- Based on input from all stakeholders, be written
- Flexibility and negotiation are key to ensuring that other stories and features don’t get lost.
- It’s easy to test.
- Testers should be aware of acceptance criteria (conditions for satisfaction).