profile

The Weekly Gist

Are Jira Stories Holding You Back?


Helping you learn practical, straightforward methods to boost your soft skills and enhance your career as a software engineer.


Weekly Newsletter

April , 2024

How to Write Better User Stories

Agile now drives 70% of software development teams, and a critical part of Agile is user stories and acceptance criteria.

However, most software engineers struggle with creating effective stories. Storywriting & grooming are seen as unnecessary processes keeping you from writing code.

This week, you will learn:

  • The anatomy of a User Story.
  • How clear acceptance criteria can save you time.
  • When to reach out to others to test your assumptions.

Good user stories help streamline development and clarify objectives, substantially speeding up project timelines.

Conversely, poorly crafted stories slow progress, necessitating frequent revisions and stifling team growth.

Today, I will show you how to write and groom user stories that are easy to understand and deliver value for your customers.

The Anatomy of a User Story

A user story generally includes a title, description, and acceptance criteria (AC). These three components clearly explain what will be delivered to the customer, whether internal or external.

  • Title: A concise and descriptive heading that provides a clear overview of what the story will accomplish.
  • Description: A concise narrative providing enough detail to understand the context and the problem without being overly technical.
  • Acceptance Criteria: A checklist that defines when a story is completed and meets the required standards.

Here is an example using the popular Connextra format:

Title:
Implement Date Range Filter for User Search Results
Description:
As a customer success rep,
I want to filter user search results by a specific date range
so that I can more efficiently find users that have signed up within a specified period.
Acceptance Criteria:
1. Include 'Start Date' and 'End Date' filters on the search page.
2. Use the calendar pop-up component to select dates.
3. Prevent setting an 'End Date' earlier than the 'Start Date' and show an error if attempted.
4. Only show results within the chosen date range after applying the filter.
5. Display "No results found for the selected date range" if no matches are found.

As you can see, this story clearly communicates what needs to be done and the value it provides to the user. This story will be easy for the team to accurately estimate and complete.

Comparing a Good & Bad User Story

The best way to see the value of well-written user stories is by comparing good and bad examples. Let's take our previous example and compare it to this:

Title:
Add Date Filter to Search
Description:
We need to add a date filter so we can find user signups.
Acceptance Criteria:
1. Date filters are on search page.
2. Use a date picker.
3. Dates should make sense.
4. Tell the user if nothing shows up.

The well-written example clearly explains what users will use this feature and why they need it. Conversely, the poorly written example lacks context.

This lack of context continues into the acceptance criteria. Little differences in the AC can make a big difference when estimating & implementing the feature.

The first example communicates that a common date-picker component should be used. Knowing that information will allow the developer working on the story to avoid finding & implementing a date-picker library that already exists, saving time and rework down the road.

Vague or incomplete stories can lead to confusion and misinterpretation. In contrast, detailed and clear stories align the team's understanding and expectations.

How to Write Better User Stories

There are a few simple ways to write better user stories:

  • Understand the User's Perspective: Think from the user's viewpoint to address real needs and deliver value.
  • Be Concise but Comprehensive: Balance brevity with necessary details to avoid ambiguity.
  • Collaborate with Others: Talk with product owners, testers, and other team members to refine stories & ensure your assumptions are correct.

While user stories are generally seen as a necessary evil, it's important to remember that they serve a key purpose in an Agile team: To provide alignment and clarity on the work being completed.

If done well, user stories can actually help improve efficiency and quality. How do you approach story writing and grooming? And how can you use the story writing process to become a leader within your team?

Let me know by replying to this email. And, as always, that you for reading.

David Ziemann

Founder of MoreThanCoders.com
david@morethancoders.com

Related Articles

5 Tips to Improve Your Communication

3 Easy Critical Thinking Exercises


Follow MoreThanCoders

Was this forwarded to you? Sign up here.


113 Cherry St #92768, Seattle, WA 98104-2205

You're receiving this email because you signed up for the MoreThanCoders Newsletter. If you prefer to not receive these messages anymore, feel free to unsubscribe or update your preferences.

The Weekly Gist

Learn practical, straightforward methods to boost your soft skills and enhance your career as a software engineer because you are so much more than a developer.

Share this page