Reading Time 9 minutes

storytelling user story
  • LinkedIn
  • Twitter
  • Google+
  • reddit
  • Facebook

Why care for writing good User Stories?

Good User Stories are easy to understand and implement. Crafting valuable and small user stories could in most cases solve the biggest challenge of Scrum Teams – delivering shippable product increment every Sprint.

Mastering the art of crafting good user stories isn’t easy.

When crafted well, good User Stories form the building blocks of a successful product envisioned by the Product Owner and desired by the customer.

In traditional product development environment, the Product Owner / Business Team would write a requirement they want to be implemented and the team would simply implement it, to the extent they understand it. The User Story challenges this rationale. 

It requires identifying who (a user) exactly will use the feature being asked to develop and specifies what benefit the user will get. This helps remove ambiguity and offers clarity in understanding the User’s story.

As discussed in my article becoming user centric with User Stories – A User Story is a promise to further communication that should happen between the Product Owner and the team to create a shared understanding of the story of a user. A user story card may outline “why” – the benefit, “who” – the user and “what” – the feature or action.

A user story card may outline “why” – the benefit, “who” – the user and “what” – the feature or action.

What makes a good User Story?

In order to understand what makes a good User Story, it is important to understand what the User story means for everyone involved in creating and implementing it.

Product Owner: For the Product Owner, User Stories are a way of putting user’s needs, wish list items, hypothesis and everything else required of the product on a set of cards. The Product Owner collaborates with the development team to refine user stories. The PO orders these user story cards in order of the customer value, business priorities and risk for the development team to work on. User Stories also help the PO initiates the conversations with the Development team to create shared understanding about why, what needs to be implemented, who will benefit from it and how.

Development Team: User Stories open avenues for the Development team to get closer to the user’s need, who will benefit from it and formulate how they would implement it to achieve the desired outcome. User stories also help with tracking the progress of the development within a sprint and create transparency within the Scrum Team. It helps plan the sprint.

Scrum Master: The Scrum Master ensures that the User Stories are transparent and that the team members and the Product Owner have a shared understanding of the User stories. If the Product Owner and the development team are bound in written contracts called requirements documents or the User Stories and are not collaborating, the ScrumMaster can facilitate communication and collaboration. Scrum Master would take responsibility to help everyone understand the importance of keeping the user stories small, being flexible and allow for the most relevant user needs to emerge while discovery and development.

Most novice ScrumMasters end up doing just the opposite. They start helping the Scrum Team to write detailed user stories (kind of mini requirements documents), police around to ensure the electronic tool is filled with all 16 types of user story fields, detailed descriptions are written and every possible acceptance criteria are listed.

Writing detailed user stories is 1st step to stifle collaboration within the Scrum Team.

Traditional mindset, lack of trust in the work environment, geographical distance between the PO and the DevTeam, and client-vendor setup, all such factors encourage writing detailed requirements.

The Scrum Master should be able to pick up early smells and help the Scrum Team avoid falling into such trap.

User Stories encourages the Product Owner and the development team to collaborate with the User and to stay close to what the User needs. Scrum encourages collaboration by face-to-face communication. This makes User Stories a logical fit (as a practice) with the Scrum framework.

A simple User Story template, widely used by Scrum practitioners involves these three elements:

As a <<USER>>,

I want <<FEATURE>>,

So that <<VALUE>>.

This simple template narrates the value for the User. The primary focus of the User Story written using this template should be the Business Value that the Product Owner is trying to achieve by having the User Story implemented.

How to write a good User Story?

 

Here are three characteristics that help craft a good User Story.

1. Identify the Business Value:

To make a product successful, the Product Owner tries to maximize the business value being delivered by the User Story. In order to maximize the business value, its important to first identify whats the Business Value that the team is trying to achieve by implementing a User Story and all the effort that goes around it. Understanding the Business value also helps the Product Owner to prioritize User Stories and have the User Stories with the highest Business Value at the top of the Product Backlog.

Example: For a new e-commerce website to launch, the highest Business Value will be when a new user is able to buy an item from the website. Let’s take a closer look. Traditionally, the line of thought for the sequential functionality being made available would have been in the below sequence:

1a. New user can register on the website

User Story Example 1:

As a First time visitor to the website,

   I want to be able to register on the website,

   So that I can browse and buy listed products from the website.

 

1b. Registered User can Browse items listed

User Story Example 2:

   As a Registered Website User,

   I want to be able to browse listed products from the website,

   So that I can make my choice and buy a listed product from the website.

 

1c. Registered User can add items to the cart

User Story Example 3:

   As a Registered Website User,

   I want to be able to add items to the cart,

   So that I can buy a listed product from the website.

 

1d. Registered User can make payment for the items added to the cart.

User Story Example 4:

   As a Registered Website User,

   I want to be able to buy listed products,

   So that I can use the product I buy.

 

Looking closely at the User Stories above tells us that the website visitor would not be able to make a purchase on the e-commerce website till the time User Story 4 is implemented and made available at the website.

The Human brain thinks sequentially, step-by-step and the above User Stories are evidence that the Product Owner writing the above user stories is looking at the website from the perspective of the end user and trying to depict his/her sequential line of thought.

Now if you wear the hat of a Product Owner, you must think about how can the highest Business Value be delivered early?

That requires prioritizing user stories in a way that the highest Business Value User Story finds its place at the top of the Product Backlog.

If you thinking out of the box and not sequentially as the human brain is trained to think, here is an alternate option to craft the User Story:

User Story Example 5:

   As a First-time visitor to the e-commerce website,

   I want to be able to buy listed product,

   So that I can use the product I buy.

 

This means that the First-time visitor to the e-commerce website should be able to make the payment as a guest user without having to register – User Story Example 1.

Does buying the product has more value than Browsing products – User Story Example 2? Sure, any day.

Adding chosen products to the cart – User Story Example 3 is a nice to have and allows the user to buy multiple items at the same time. However, being able to buy the product – User Story Example 5 without registering, browsing or adding the products to the cart has the highest Business Value.

2. Identify the “who”:

It’s important and imperative to identify the Customer being served before you craft a User Story. One of the most common mistakes done by novice Scrum Teams is to generalize the User segment being served by a User Story.

Identifying a narrow and specific User segment being served by the User Story, helps reduce the size of the User Story.

The User Story becomes specific and clear as to who is being targeted. Many Scrum teams use User Personas for their product and specify a particular persona for each user story.

Example: I had once worked on a capability that was available for all Credit Card users on the desktop. Our team was developing the set of features to make the capability available on an App for Tablet and Mobile users.

The team started with this format:

   As an App user,

   I want <<FEATURE>>,

   So that <<VALUE>>.

Now we had an option to split as a “Mobile App User” and “Tablet App User”. The Product Owner prioritized the “Mobile App User” over the “Tablet App User” since that User Segment had higher volume and more business value. So, the PO chose to go with:

   As a Mobile App user,

   I want <<FEATURE>>,

   So that <<VALUE>>

Then, we had an option to split the user story as an “Andriod Mobile App user” or “iOS Mobile App user”. The Product Owner prioritized the “iOS Mobile App user” over the “Android Mobile App user” since that was a User Segment with even more business value. So, we chose to go with:

   As an iOS Mobile App user,

   I want <<FEATURE>>,

   So that <<VALUE>>.

In addition to this, we had Silver, Gold and Platinum Credit Card, holders. The Product Owner prioritized the “Platinum Credit Card holder” since that was a User Segment with highest business value. Our user story looked like:

   As an iOS Mobile App user holding a Platinum Credit Card,

   I want <<FEATURE>>,

   So that <<VALUE>>.

This is the level where the Scrum team was clear as to who was served by implementing the User Story.

Identifying a very specific user segment provides clarity, creates shared understanding, reduces risk and results in improved ROI for the efforts.

 

3. Understand the “what”:

Communicating clearly “what” will be delivered as a part of the User Story is crucial too. This is the part of the User Story where the customer has an avenue to communicate his/her perspective of what s/he needs – feature, enhancement, etc.

Example: In another implementation that I had a chance to work on, we were implementing the approval system of a large Custodian bank. Can you believe they were dealing with Billions of Dollars yet the process was pretty much manual?

Anyways, using this Business Process Management tool, various departments involved would review and approve the application from a Sub-custodian bank to become a registered Sub-custodian to the Custodian based in the United States. The end goal was to create an automated system where:

  1. The interested Sub-custodian would apply online with all the details and documentation required by the Custodian, once that is done
  2. The Custodian would do multiple levels of review within the departments that existed in the Custodian bank.
  3. The application would then be sent to the regulatory body for their approval.
  4. Once approved by the regulatory body, the Custodian Bank would revert to the Sub-custodian requesting additional documentation required to formalize and close the registration process with the Custodian Bank.

As it appears, this was a huge task by itself. The team decided to break it down into bite-sized features. Although the team was going to use an off the shelf product with most of the functionalities required, yet there was a lot of customization required at each step.

With the array of features required to be implemented, we chose to first target the internal audience with the Custodian bank and the various departments within the bank whose approval was required as part of the registration process. We narrowed down the User to one department within the whole approval flow. We then decided to drop off the option of being able to attach the documents to the approval flow. Now the User Stories looked like:

   As a Registration team member,

   I want to be able to review the Sub-custodian application,

   So that <<VALUE>>.

 

   As a Registration team member,

   I want to be able to approve the Sub-custodian application,

   So that <<VALUE>>.

 

   As a Registration team member,

   I want to be able to reject the Sub-custodian application,

   So that <<VALUE>>.

 

These were easier to understand and also gave the Scrum Team a perspective into what’s being sought. Each User Story was crafted in a way that it could be implemented within a Sprint. Breaking it down to the specifics removed ambiguity.

In summary, nailing the “who”, “what” and “why” of the User Stories, making them transparent, valuable and small makes them viable survivable experiments for the Scrum team. It allows the Scrum Team to learn fast and inspect and adapt, resulting in reduced risk and better alignment with customer needs.

 

Do you have a story to share that your team crafted well and delighted the customer?

Subscribe To Our Newsletter

Join our mailing list to receive the latest news and updates from our team.

Awesome. You've successfully subscribed.

Share This