The other day we workshopped some ideas around one of our products using a technique called Impact Mapping; a collaborative approach to Agile requirements gathering and planning created by Gojko Adzic. For the purpose of a demonstration I’ll describe the steps we went through using this blog as an example.
Impact Mapping asks four questions:
1. WHY ARE WE DOING THIS?
This is the business goal, or one of the goals, we’re hoping to achieve for our next phase of product development, e.g. increase the number of visitors to this blog.
The goal should be SMART – an acronym which stands for Specific, Measurable, Attainable, Relevant and Time-based.
It’s also wise to determine how you are going to measure success – how will you know when you’ve reached your goal? The following format is suggested in the Impact Mapping book:
WHAT: Increase monthly visitors by 100% by December 2014
WHERE: Google Analytics
2. WHO WILL HELP US?
The people that will help us achieve this, e.g. the readers of this blog. Gojko uses the term “actors” to describe the people who interact with our system and categorises them as primary, secondary and off-stage actors. This equates to the 1st, 2nd and 3rd degree users of your service.
For example a primary actor will be the primary focus of your product, the person that you’re aiming the product at. A secondary actor is someone who interacts with product in order to provide a service, for example the blogger writing blog posts. An off-stage actor is someone who interacts with your product indirectly, e.g. use analytics to determine where best to target the next phase of development.
3. HOW WILL THEY HELP US?
The way the actor will help us achieve this – e.g. share this blog’s posts on social media. In essence, this describes the outcomes that we believe will help us reach our goal.
4. WHAT WILL WE DO?
The things we’ll create or change to encourage this behaviour – e.g. make blog posts easily shareable. These are the changes we’ll undertake to our product in order to create the behaviour we desire.
In this step we’ll write down as many actions as we can think of, for each of the outcomes we identified in step 3. The result should look a little like this:
Once we’ve created all of our actions, we will need to determine which will deliver highest value to the business soonest. So the next step is to generate a consensus on the order we should carry out the changes. We used a system called dot voting. Each person gets a set number of sticky dots (votes) and they vote on the ideas for action they think will most likely increase the number of visitors to The Agile Coach. For the demo we didn’t have sticky dots to hand, so we used sharpies to mark votes as crosses.
It’s then easy to create your backlog and order the User Stories according to priority using the Impact Map. The template we use for writing User Stories is:
As an ACTOR I want ACTION so I get OUTCOME
On the Impact Map this translates as:
As a READER I want the Agile Coach to have BETTER SEARCH ENGINE RANKINGS so I can DISCOVER BLOG POSTS.
As an AUTHOR I want to PROVIDE QUALITY AND QUANTITY OF POSTS so that I can INCREASE MY REPUTATION.
As an AUTHOR I want to SEEK REFERRALS for my blog posts so that I can INCREASE MY REPUTATION.
As a READER I want the ABILITY TO SHARE VIA LINKEDIN so I can SHARE BLOG POSTS.
As a READER I want the ABILITY TO SHARE VIA EMAIL so I can SHARE BLOG POSTS.
Once you have a prioritised set of User Stories, it’s fairly straightforward to create a release schedule based on the team’s velocity (or estimated velocity). You can also look at setting milestones for your measurements to check if you’re on track, i.e. to meet our end of December deadline to increase the number of visitors by 100%, we should have increased to 37,500 visitors by mid-November.
And in a nutshell, that’s Impact Mapping. For further information I recommend you read Gojko’s book Impact Mapping, or if you can, attend one of his workshops. The Impact Mapping website is also a great source of information.
In practice, I found this technique straightforward to use. I like that it focuses on actors to drive the group’s thinking and focus on the people who actually use your product. This has similarities to Jeff Patton’s technique of Experience Mapping which uses personas to achieve the same aims.
I’ve found the key to success for both approaches is to prepare the questions that you ask the group, for each stage of the process.
It’s also important to keep things moving along so that ideas don’t get stale. To do this I’ve found it necessary to 3+ questions, i.e. reframe the same question in at least 3 different ways. If no more information was forthcoming after the 3rd reframe, move on.
Finally, to keep people focussed, make sure you timebox the meeting.