An Introduction to User Story Mapping
I think you will agree with me when I tell you…
A product roadmap is essential to explain your product strategy to your stakeholders.
Nevertheless, it is not that easy for product owners to create a product roadmap from scratch.
When I started as a product owner, I had the same problem. First, I didn't understand the value of a roadmap. Second, I wasn't able to create one out of a huge backlog.
In my first year as a PO, I learned how to create a product roadmap from the backlog using story mapping. Since this point I am using story mapping to introduce major features in my software tools and to kick off private side projects, e.g. for an Alexa skill for Amazon Echo.. And I totally love it!
In this blog post, I summarized all basic steps on how to create a user story map for your project, software, product or app.
Each chapter ends with an exercise and shows a story mapping example. This will help you to create your first agile user story map.
P.S.: There are also resources for story mapping examples if you don't want to start with your own project!
1. What's User Story Mapping?
Story Mapping Definition
User Story Mapping is the activity of breaking down big things into small things. A user story map helps to visualize a complex product. If created within a team it, helps to create shared understanding much better than classic requirement documents. Ordering user stories according to their importance and assigning it to specific user interaction with the product helps to discover dependencies and to remove unnecessary features.
The Benefits of User Story Mapping
Story mapping is an effective yet simple technique which helps you to:
- Create a better understanding in your team about your product, project, feature or app.
- Quickly get to your customers defining reasonable product increments.
- Analyze user stories according to their real value proposition.
- Validate assumptions to create the right product for your audience.
- Silence your stakeholders by deducting a feature roadmap
- Use many, many Post-It's 😉
I honestly think that story mapping is one of the most valuable techniques for product prioritization.
Why am I so sure?
Because, it is one of the most effective and comprehensive tools I learned in the last years. It is simple and effective at the same time. I got to know user story mapping in my first year as a PO. Since then, I am creating story maps for everything! Ok, you might think this is exaggerated? Actually, it's not! I am always considering to create a story map if I have to break something down.
Building feature after feature is not enough.
That's the reason I created this blog post on how to create a user story map.
So, whether or not you’ve heard about user story mapping, the story mapping example will help you to apply user story mapping on a real-world problem. Never forget! Putting something into practice is the key to learning. You’ll want to pay attention and do the exercise for each chapter. In case of any questions, don't hesitate to send me your questions.
Just a heads-up though. The lessons are pretty packed with information, so you might want to set aside some time to go through the lessons. Each lesson should take you 10 to 30 minutes to complete.
2. My Favorite Story Mapping Tools
Get Your Supplies!
This is a short introduction into the story mapping tools you need. If you are working for a bigger company, you will probably have your supplies already available. Otherwise, I recommend to order some on the internet right now or go to your local office supplies store to get them.
For story mapping you will need these three things:
- Sticky notes
- A thick marker pen (e.g. Sharpie)
- Free space on the floor, wall or whiteboard
As you see, I am a big fan of creating user story maps in the real world. I didn't use any online tools for story mapping yet.
Nevertheless, here are some story mapping software / websites I know:
Personally, I really like the Realtime Board as I am using it for Retrospectives as well and it is quite flexible.
Some more story mapping tool tips for the real world 😉
Get at least 3 different colors of sticky notes.
It helps you to structure the story map and looks nice.
Size matters! (at least for sticky notes)
Don't pick too small ones. Even if you want to create a user story map on your desk, I recommend you to use at least a size of 15 x 10 cm.
3. Pick Your Story Mapping Topic
Okay, now it is time to create your first user story map. To get started you need to define the topic of your story map. Don't worry about what to pick. You can create story maps for various things.
Most important: Your starting point should be the main user activity you would like to solve with your product, app or service.
The first story map I created was about making a reservation in a restaurant. The challenge was to create a minimal viable product that included the most important features.
You can also pick a bigger feature, epic or app you will start soon to create your personal story mapping example.
In the next chapter, you will learn how to break this user activity into a sequence of user actions similar to a Customer Journey Map.
You don't have a topic to create a user story map?
No problem! You can also start with an story mapping example created by Jeff Paton, the inventor of story mapping. The example is about creating a to-do list app. You can find the download link on his page.
Now it's time to get started!
Your mission for today, is to come up with a topic for creating a user story map.
Create a list of 3-5 topics you are currently working on and pick one to create your first story map.
Once you’ve picked a topic, you can send me your topic to get feedback.
If you are having trouble deciding, send me a few ideas and I’ll pick one for you.
Don't be afraid to pick a topic right now. I guarantee you will get some new insights, no matter which topic you choose.
4. Create Your Personal User Story Map + Example
Ok, are you ready?
Today you are going to create the backbone for your story map. We required two things:
- A sequence of user actions
- User stories / features (as many as possible!)
The result will be a simple user story map that sorts user stories according to their corresponding user actions.
Define User Actions
The starting point of every story map is a user journey, process or a sequence of user actions.
For example, you could differentiate the overall activity of doing laundry into three actions:
- Sorting laundry according to color
- Cleaning the clothes and
- Drying them
Now, start with breaking down your activity into 3 to 5 user actions. These actions will frame the skeleton of your story map. Ideally, the user actions complete the activity in an end-to-end fashion.
If you picked a problem or feature, you need to think about how your users would use your application. Define the 3 to 5 user interactions with your application. Don't bother about different users right now. Pick one example user and use it for creating a story map from this user perspective.
Initially, you might struggle to identify the right activities. This is not a problem as you can add, remove, split or merge activities while creating the story map.
Brainstorm User Stories
In the next step, you need to think about user stories. Brainstorm potential features your user demands. Don't decide if features are important or "nice-to-have". Think about functionality your user needs, to solve the problem end-to-end. Focus on stories that are required to complete the defined user actions.
A simple schema for writing user stories is:
As a blog author, I want a fast editor to write posts quickly.
Personally, I leave out the user group "As a blog author" on sticky notes to save space. Anyway, you should really focus on one user group right now.
Now, brainstorm at least 15 user stories and write them on sticky notes.
Take your user stories and assign them to the user actions.
Put all user actions next to each other (left to right) and sort your user stories according to the user actions they belong to.
For inspiration, you can check out an example I created for an Alexa skill.
Your homework for today's lesson is to send me the user actions you defined. Please, tell me if you experienced any other difficulties doing this lesson. I will be happy to help you.
5. Define Your Next Product Iteration Using Story Mapping
Now, we’ll start prioritizing the user stories in your story map. The goal is to define your first minimal viable product (MVP).
What's an MVP?
"The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort." - Eric Ries (Author of "Lean Startup")
Defining your first MVP gives you the opportunity to validate whether if you are building the right thing. Define a version of your product that provides benefit to its users but requires minimal effort to build.
After building a simple version of your product, you can use it to do a test run. In the end the user decides what's working for him.
In fact, even a single user can give you important feedback about your product. This helps you to fine-tune your product idea.
In general, a minimal viable product can be helpful for multiple scenarios:
- You can test trail your idea with real customers
- It helps you to prioritize features or user stories
- It reduces your time-to-market
- Test if your assumptions about your target customers are valid
- Verify technical feasibility of your product (Only if you validated that there is a market for your idea)
Let's define the 1st increment
For this course, I recommend you to define a "traditional" minimal viable product. Focus on providing an essential benefit for your target user.
Step 1: Effort estimation
First, we need to estimate the effort required to build a user stories. This is important for the ranking later.
A very common way to estimate user stories is to assign a number to each of them. These numbers are so called story points.
The best practice in the Scrum community is to give story points with values from 0.5 to 100.
Story points are no absolute numbers. Pick a reference user story and estimate it with 3 story points. Now you can iterate through all user stories and assign story points. Common values are 0.5, 1, 2, 3, 5, 8, 13, 20, 40, 100.
The increasing distance between the estimates considers that big features can't be estimated precisely.
Hint: Write down the estimate for each user story on the sticky note
Step 2: Ranking user stories
Let's do a short ranking exercise.
Rank all user stories within their user action according to their effort. The fewer the effort the higher you need to rank the user story.
If you would pick the user story with the least effort for each action, would you be able to build a great product?
- Yes? This is great. You are very lucky!
- No? No problem. It is quite unlikely that the smallest features of your product to create a reasonable MVP.
Here are some of my learnings about MVPs:
- User story maps point out easily that a little effort spend at the first and last user actions helps you to achieve a simple but good usability of your product
- Spending the most effort to implement the key benefit of you product is totally fine
Step 3: Define the MVP
In the end, you need to find the trade off between minimal effort and providing benefit to your user.
This is the point were you need to experiment a little.
If you are struggling, it can be helpful to recall what is the core of the problem you want to solve. Don't focus on to much of the surroundings. Keep it as simple as possible on a technical level.
- Update your user story map to visualize your MVP.
Simply, visually separate the user stories you need for the MVP from the others by leaving some vertical distances.
- You can also add another color of sticky notes titled "MVP" and "Rest".
Basically, you have two product increments now. The first one is a small MVP and the other one the full product or feature.
- Take a picture of your story map and send it to me to get feedback about your MVP. You can either send me a mail or send it using Facebook Messenger.
I am also interested what was YOUR motivation to learn about user story mapping or building an MVP? How is your experience with this course?
Markus is a product owner of a distributed Scrum team where he experiences the daily struggles between user needs, software craftsmanship and actually delivering software. He wants to share what makes software development more reliable, efficient, fun and easier to deliver. Read more about his story on the About page.