I’ve worked with many Agile teams over the years, and no matter what phase they are in, I always encounter teams with these common problems:
- How do we prioritise our backlog?
- How do we build our product iteratively?
- How do we decide what to deliver first?
- How do we iterate the functionality?
- How do we define MVP?
- How do we plan incremental releases?
- How do we know how big the product is we are building?
Wouldn't it be great if we could wave a sparkly Agile magic wand to fix all these problems? Well we can...
There’s a simple technique that I’ve been coaching many teams in, and for me it produces an artefact that should be as fundamental as the backlog. It’s called ‘User Story Mapping’, a technique introduced by Jeff Patton and, in his own words –
A user story map arranges user stories into a useful model to help understand the functionality of the system, identify holes and omissions in your backlog, and effectively plan holistic releases that deliver value to users and business with each release.”
(from Jeff Patton's The New User Story Backlog Is a Map)
A User Story Map is really a two-dimensional backlog where you map a user journey from start to finish with each of the activities laid out step by step, and then break these down into prioritised tasks under each activity.
As I mentioned before, I’ve been advocating the benefits of User Story Mapping to teams for quite some time and have been running workshops frequently. The most recent of these was at the NHS, a two-hour workshop to create an initial Story Map for a team that was already in its GDS (Government Digital Service) Beta phase.
During the initial 30 minutes of the workshop, we went through the benefits the team would gain from a story map, the different elements of a story map and some examples. The rest of the workshop was hands-on with the team.
First, we identified the main users within each of the following types – customer, business, system – and set a prioritisation within each type. I then asked them as a team to create an end-to-end sequence of user tasks to create the initial story map skeleton, focused on the highest priority user type. This took a number of iterations, helping them identify gaps and other users that they needed to consider, and we then grouped these into the overarching activities.
Then we moved onto creating the sub-tasks. I guided them through the creation of an initial set of sub-tasks and what to consider. The team then worked across the whole story map generating sub-tasks from end to end, and I was on hand to answer any questions and provide advice. The level of collaboration was quite considerable and although the team was into the Beta phase, it was clear that there were gaps in everyone's knowledge on what they were building and why. The story map was really helping everyone form a much clearer picture.
I then asked the team to slice the map horizontally to demarcate a Minimum Viable Product (MVP), at which point people started to question the validity of what they had previously scoped as their MVP. We also considered what could be their first milestone on the way to the MVP and how they could use the story map and the milestones to plan their sprints.
To round off the workshop, we then discussed other ways they could use the story map (flag different users, risks, assumptions), and the ways in which the team could make this map its own. One suggestion was to slice the map by user type which I felt could prove to be an insightful activity.
It was a great session and the team worked very collaboratively, really understanding the benefit of story mapping. They were very excited to continue to develop the story map and could see how it will support all their activities and decisions going forward.
If you are looking help with User Story Mapping or more general support with your Agile planning, please get in touch.