The-Product-Space

Tutorials on Product management -by Arpi Narula


Techniques to split user stories

Working from a prioritized backlog of small user stories allows a team to get value and high-quality feedback on frequent intervals. Many teams struggle to split large user stories and features into good, small stories. Instead of ending up with small vertical slices through their architecture, they get stories that look more like tasks or architectural components and fail to experience the value or feedback small stories should provide.

Fortunately, story splitting is a skill that can be learned in a relatively short time. We’ve seen teams go from struggling to fluently splitting stories with just a couple hours of practice and some simple tools.

Here are a 10 techniques on how to split user stories to get inspired by:

  1. Split the user stories by roles (e.g. buyer, admin, seller). This technique of splitting user stories might be one of the easiest ways to break down your stories into smaller ones. When you are dividing the user stories by roles, you’ll see that most of the effort goes into one user story and the others will have only small adaptations. This is perfectly fine.

    First User Story:
    As a cook helper, I want to manage messages.
    Split User Story:
    As a cook helper, I want to reply to message
    As a cook helper, I want to mark the messages to be answered by the cook
  2. Break down the user stories by workflows — I recommend you define first what are the workflows from your product and the actors of each workflow. For example, the cooks can upload images, but the users can visualize them and can have their cooking notebook.

    Big Story
    As an eater, I want to manage my account
    Split Story
    As an eater, I want to upgrade my account
    As an eater, I want to change my profile picture
    As an eater, I want to change my address
  3. Divide the user stories by data types. CooLab is an international application, but the currency and the units of measure are as per the user location. That means that the users from the US will see pints and USD and the users in France will see litres and EUR for the same recipes.

    Initial Story:
    As an eater, I want to load the ingredients of my recipes with the right qualities
    Broken Stories:
    As an eater, I want to see the quantities of the ingredients in the metric system
    As an eater, I want to see the amounts of the ingredients in the English system
  4. Split the user stories by data entry. In the category of data entry, you can consider any parameter inserted by the user.

    Initial User Story:
    As an eater, I want to be able to filter the recipes based on time, ingredients, the price for the benefit of finding easier the recipe that meets my criteria
    Split:
    As an eater, I want to be able to filter the recipes based on time
    As an eater, I want to be able to filter the recipes based on ingredients so I can use what I have in the fridge
    As an eater, I want to be able to filter the recipes based on price so I can spend as much money as I have
  5. Split user stories in Agile by Cutting the user stories by complexity. A simple way to use this method is by defining the manual way of achieving functionality versus the automated mode.

    Initial User Story:
    As a user, I want to subscribe automatically to CooLab
    Split User Story:
    As a user, I want to subscribe manually to CooLab
    As a user, I want to receive an email with all the information about my subscription to CooLab
  6. Split user stories by Breaking down the user stories by browser/platform
    In the category of the platform, you can include operating systems (Mac, Windows), device types (phone, tablet, desktop), browsers ( Internet Explorer, Chrome, Opera), or anything else that applies to your project.

    Initial User Story:
    As a cook, I want to upload the images of my recipe so that my starving fans can have a real picture of how the recipe looks like
    Split User Story:
    As a cook, I want to upload the images of my recipe using a laptop
    As a cook, I want to upload the pictures of my recipe from my phone
    As a cook, I want to upload the photos of my recipe using IE
    As a cook, I want to upload the pictures of my recipe using Chrome
  7. Split the user stories by business rules (e.g. the card must be issued in the same country as the seller, the investment amount must be more significant than X)
    Business rules are criteria or the logic of linking the parameters between themselves.

    Initial User Story
    As a user, I can subscribe to the premium version of the application/CooLab
    Split User Story:
    As a user, I can subscribe to the premium version of the application/CooLab using only a credit card issues in the same country I am using the application form
    As a user, I can subscribe to the premium version of the application/CooLab only ones for each credit card
    As a user, I can subscribe to the premium version of the application/CooLab only ones for each email address
  8. Divide the user stories by CRUD type of operations
    CRUD stands for:
    C = create
    R = read
    U = update
    D = delete
    They are standard operations the users can do.

    Big user story before using CRUD split
    As a cook, I want to manage my recipes for the benefit of sharing them with the entire world
    Split User Story
    As a cook, I want to create a recipe
    As a cook, I want to read the recipe that I just created a recipe
    As a cook, I want to update my recipes
    As a cook, I want to delete my recipes
  9. Split user stories by acceptance criteria
    As a cook, I want to upload an image to my recipe for the benefit of making my recipes look delicious
    Add the acceptance criteria in the following format:
    GIVEN scenario
    WHEN action
    THEN result
    Then you’ll realize that you have three acceptance criteria for your user story:
    – one for just uploading the image
    – one for editing the image after being uploaded
    – one for the error message the user must receive in case the picture is massive.
    All these three acceptance criteria can be split into three user stories with one acceptance criteria per user story
    Broken User Stories:
    As a cook, I want to upload a small image to my recipes
    GIVEN I want to upload the picture of my recipe
    WHEN I select the picture
    THEN it uploads it to the application
    As a cook, I want to edit the image I uploaded to my recipes
    GIVEN I uploaded the image of my recipe
    WHEN I open it
    THEN I edit it
    As a cook, I want to receive an error message when I upload a big picture to my recipe
    GIVEN I’m uploading an image bigger than 25mb to my recipe
    WHEN I select the picture
    THEN I receive an error message
  10. Mix them all! The moment you start to mix up the techniques of splitting user stories that I gave you above, you know that you rock it! The success is in combining the methods that work for a particular case: team, product, project, user story.

References/Other good articles-

https://ancaonuta.medium.com/how-to-split-user-stories-b55f20ea0a4e

https://blog.jbrains.ca/permalink/how-youll-probably-learn-to-split-features



Leave a comment

About Me

Hi, I am Arpi Narula. I am an experienced professional with over 13+ years experience which includes Product management,Quality management, execution and delivery of software products and projects. I am a continuous learner and with this site I intend to share some insights to help you grow and become wiser individuals in the product arena. Please head over to the About section to learn more about me. Hope you enjoy the articles. Product Management is a wide domain and it’s great you are learning.

One-Time
Monthly
Yearly

Like our content? . Boost us up with donation

Make a monthly donation

Make a yearly donation

Choose an amount

NZ$5.00
NZ$15.00
NZ$100.00
NZ$5.00
NZ$15.00
NZ$100.00
NZ$5.00
NZ$15.00
NZ$100.00

Or enter a custom amount

NZ$

Your contribution is appreciated.

Your contribution is appreciated.

Your contribution is appreciated.

DonateDonate monthlyDonate yearly

Newsletter