Do you, a developer, have a feeling that the user stories your product owner is but a list of ideas prioritized on gut feeling only? That the relationship between them and their purpose are vague? Impact Mapping is an agile conversational tool by Gojko Adzic that may be primarily for product owners but hey, a developer needs a purpose too!
An Impact Map makes it easier to understand the link between a business goal at one end and a system feature on the other. The goals and the impacts are measurable and easier to prioritize than a long list of user stories. So what is it then? Let’s see it from a developer’s point of view.
Here is my definition: An Impact Map connects a business goal with actors that experience an impact when following user stories. Goals are measurable business goals and user stories are the deliverables. The map gives you the opportunity and structure to discuss what the current roadmap is.
An example, a bit small to give you an idea. Let’s say that the PO comes in to the office in the morning during the stand-up. She has a wonderful idea for your webshop, when the customer has gone to the checkout, entered all payment information, then there sometimes will be a new page with socks. There are several possible reactions here, the immediate could be anxiety over the technical complexity involved given your current solution. But you need to come on speaking terms with your PO so you head over to the whiteboard instead.
From the little you’ve heard so far, you understand that there is at least some customer involved and it is about the checkout process. But you have only a vague idea on why this is such a good idea. Neither how you will know if it was a good idea, once implemented.
At the whiteboard, you start on the far right and write some user story outlines, as this is all you know at the moment. From them you aim to work backwards to the business goal. Yeah, backwards, it is not always like that but often we come up with ideas before we even tried to formulate the problem.
So how will the user stories change the world, once they’re implemented? There has to be some impact, somehow. Impacts are about “start doing”, “stop doing” and “do differently”. In this example, online shoppers are adding socks to their shopping cart after they entered payment details. And, alas, the actor steps forward, an online shopper. However, there may be more to know. Turns out that we are only talking about shoppers that has purchased for a minimum of €10. OK, cool. Knowing that, what is the purpose really, why are we doing this? Further discussion brings forward the business desire to sell more socks. Question is then, how much more?
Here is an illustration of what you just have read.
What I like mostly about Impact Mapping is that it is such an agile, light way tool that immediately structures a discussion about purpose and measurements.
If you’d like to know more, Gojko Adzic has written a short (sweet) book on the subject. He also give one-day courses on the subject.
Update: Gojko suggested a continuation of the example. I did not do exactly as he said. 🙂
Now that we found what the business goal is, increase sale of socks, we take a moment to reflect upon it. Where did it come from? And why is it so more important than other business goals? Could somebody please enumerate the goals we currently have, just for comparison? Selling socks was a business goal that really emerged from a new partner. Now, the goal is really about promoting that partner and walking forward this time it may turn out that are easier solutions, such as banners. Well, we are paid by the hour, so let’s forget about that one, shall we? 😉
3 responses on “Impact Mapping – the developer’s cut”
Anser du att det vore bra att ta fram Impact Mapping om man ska ersätta befintliga system också? Eller gäller det här endast för ny-/vidareutveckling?
Thanks, Ewa for that comment. I’ll take the liberty to translate it to English.
“Do you think it would be a good idea to create an Impact Map if you’re replacing an existing system as well? Or is this only for developing new systems or adding new features?”
Indeed an interesting question! In my experience, it is often a request to replace a system without impact on the users, as if that would be a good thing. Most likely, it is based on an assumption that all impact is negative.
I am guessing that you have no hard data on which functions in the current system are used, you are just assuming everything is used. What if we instead, feature by feature, put our assumptions in impact maps? That would give us a clear view on what we believe and how we should prioritize. We can also check our assumptions once we start deliver.
You are not delivering a whole replacement at once, are you? 😉
Thanks for the reply!
Well… Yes, we are delivering all at once… What we in Sweden call: “Vattenfall”. (Waterfall for those who dont understand the swedish word.)