I went to Jeff Patton‘s tutorial on User Story Mapping this afternoon. I first met Jeff in London last year at XP Day and the Scrum Gathering. We talked about kanban, and his ideas, and the two seemed very compatible, so I was keen to see how they matched in more detail. Jeff has also been working with former Yahoo! colleagues Joe Arnold and Aaron Sanders on a kanban related article, so he also sees a connection.
Jeff is trying to solve a number of problems with User Stories that I’ve also seen:
- they are difficult to prioritise because it is usually a collection of stories that provide value.
- it can be difficult to understand the dependenies between stories.
- it can be difficult to understand the whole system from a backlog of stories.
- creating more smaller stories makes the above even worse!
Jeff’s solution is to break a system down into the following hierarchy:
Goals -> Activities -> Tasks -> Tools
- Goals are the user centred things which are trying to be achieved
- Activities are role based themes of functionality
- Tasks are more specific, but still high level features, which make up an activity
- Tools are typical more detailed user stories
By creating this hierarchy and generating a physical map using index cards, the relationship between the various parts of the system, and the value that they are delivering, can be communicated and evolved. Activities form the ‘backbone’ of the system, and Tasks can be prioritised to form a ‘walking skeleton’, or a ‘fully formed, but immature’ system.
From a kanban perspective, it seems to me that the Tasks are similar to MMFs, and are what make up the kanban cards, and that the Story Map is a tool to inform both the value that they generate, and the order in which they should be scheduled.