User Story Mapping: what it is, how it works
During a recent Agile Tour, I attended a workshop (led by Alain Benoît and Jean-Christophe Lauffer) on how to use the technique of User Story Mapping to visualize the right product for the client. It was a great activity. Here’s an overview of how it works.
User Story Mapping is grounded in real life experience. Have you, like me, ever encountered a situation where all the members of a group seemed to agree on every last detail of a project, only to realize in the end that they had all understood a different basic concept? Well, User Story Mapping helps to avert that kind of situation!
Shared understanding is one of the aims of collaborative work. Illustration: Jeff Patton / Luke Barret – CC BY-NC-SA.
User Story Mapping, or “The Big Picture”
User Story Mapping gets you to see the forest rather than individual trees. By fostering deeper discussions, it builds a common vision of the solution to be developed. More concretely, User Story Mapping allows you to structure the backlog of user stories.
A backlog is basically the list of tasks that need to be accomplished before getting to the desired product.
Flat Backlog (unstructured list) vs 2D backlog (User Story Map). Illustration: Juliana Betancur/Twitter.
User Story Mapping: application
During the workshop, our team was given the task of organizing a trip on a 10,000$ budget.
This was accomplished in five steps:
1. Write out the story, in stages
On Post-It notes, write down the steps you took to organize your last trip – write down everything that comes to mind. One note per step.
Brain-storming style, everyone writes down all the steps they take to organize a trip, without omitting anything. For example, some people included “Clean the house”. Indeed, some people just can’t go on a trip leaving a dirty house behind.
2. Organize the story
Arrange the Post-its in chronological order from left to right, then tell the story by going through the Post-its in sequence. For example, “To prepare, I first did this; then, I did the other; etc.”; if needed, add missing steps.
Since everyone will have their own opinion on the sequence of the tasks, debate this issue until a consensus emerges.
3. Explore alternative stories
In other words, ask “what if” questions:
- What if we went on a trip in Quebec?
- What if we went on a trip in South America?
- What if we went on a romantic trip as a couple?
Write down the new steps necessary under each the new scenario and add them to the story.
What if we had a pet? What if we had children? What if we were travelling with the in-laws? What if we were backpacking? What if we had a shoestring budget? Etc.
4. Extract and build the structure
Group tasks according to goal, while keeping the storyboard intact. Gather each group of tasks under a heading. In other words, at a high level, what must I do?
Add a Post-it at the top of each column summarizing the goal of the activities under this heading.
5. Divide the map according to priorities to reach a specific result
Write down the specific result on a Post-it note and stick it on the left-hand side – this is the minimum viable product. Draw a line across the board and move all non-essential activities below this line.
Now, let’s pretend the departure date has been brought forward, and let’s ask the group to leave tonight. Some activities will immediately drop below the line, due to the time crunch. The real priorities are now easy to identify.
As Jeff Patton, the creator of this method, said:
“We spend lots of time working with our customers. We work hard to understand their goals, their users, and the major parts of the system we could build. Then we finally get down to the details — the pieces of functionality we’d like to build. In my head I see a tree where the trunk is built from the goals or desired benefits that drive the system; big branches are users; the small branches and twigs are the capabilities they need; then finally the leaves are the user stories small enough to place into development iterations.
After all that work, after establishing all that shared understanding I feel like we pull all the leaves off the tree and load them into a leaf bag — then cut down the tree.
That’s what a flat backlog is to me. A bag of context-free mulch.”
Raking up user stories. © iStock.
Prioritize the journey
A User Story Map visually illustrates the client’s journey through the product, including the tasks and activities they accomplish with it. This visualization will help the team to concentrate on development, to put every element in context and to give the customer the desired result.
The User Story Map gives the team a context to work within by answering the following questions:
- Why are we building this product?
- For whom?
- What added value will the solution give the client, and when?
In short, User Story Mapping is useful to:
- Identify and implement features based on the results desired by the client.
- Make the user journey tangible by turning the backlog into a client-centric map.
- Gain a better understanding of the user’s journey based on what that client wants and appreciates.
- Prioritize actions depending on expected value.
- Get better results and reduce waste.
Flat backlog vs story map. © Nicholas Muldoon.
Is User Story Mapping a practice you follow? What tools do you use?