User Story Mapping

What is it?

A user story map is a visual representation of user behaviors intending to show the capabilities needed for a software product. Buckets of functionality are depicted left to right, ideally in a sequence that follows a typical user path through the system. This makes the map easy to explain and easy to understand.

Why is it great?

  • It creates a shared understanding across the company
  • It reduces misunderstandings and helps resolve them quickly by externalizing everyone's ideas or assumptions about the user experience
  • It fills in gaps in knowledge with contributions from every team
  • It helps avoid any missed considerations / dependencies when thinking about or delivering any feature
  • Identify otherwise missed cross-functional opportunities when delivering any new feature
  • Promotes holistic, system thinking
  • It helps prevent duplication of effort when multiple squads are working on problems that touch many parts of the experience
  • It lets you think with no limits because it is an unlimited canvas
  • Helps you turn an endless stream of ideas into deliverable chunks of functional product with Slices.
  • It can involve all teams asynchronously

How does it work?

  1. Brainstorm with your team, all of the things a user can or needs to do to accomplish their goals with your product
  2. Cluster the ideas into related groups and give each Step a name
  3. Order the Steps from beginning to end horizontally, with the cluster of ideas below vertically for each Step

By the end of this, you will have a "Skeleton" structure of your product. Along the top will be each of the Steps in the user's journey, forming the "Backbone". You can further break down the Backbone Steps into high-level tasks, each one becoming a vertebrae, and the supporting tasks that remain form the rib cage. Now, at a glance, anyone from the team (or externally) can have a quick understanding of the full 


  • If you were unable to involve everyone in the initial brainstorm, you can invite them at any time to fill in anything that is missing or re-arrange items they think are in the wrong place
  • You can separate the supporting rib cage steps into what is in the product already, from what is new/potential for dev. Draw a big horizontal line to create that divide
  • You can identify all of the supporting rib cage steps that would be needed to deliver the next most important feature and separate those items from the rest with another horizontal line that goes across the entire map. This becomes a "Delivery Slice"