Winter is a great time to catch up on reading and February’s pick was “Impact Mapping: Making a Big Impact with Software Products and Projects” by Gojko Adzic. It’s a relatively short read that jumps right into how to approach making your own impact map.
What’s an impact map?
In short, an impact map is another tool for your facilitator’s toolkit. It helps point out alignment between your software features and business goals, and can also be used to generate new ideas.
There are four major components of an impact map:
- The Goal: Why you want to create something or the change that you’re looking for
- Actors: Who can help you create the change (or will hinder it)
- Impact: How the actor needs to change their behavior to help achieve the goal
- Deliverables: What you’ll create to help change the actor’s behavior
The idea is to create a mind map essentially, with each layer branching out from the one above it. You can approach filling out your map from any direction. Adzic mentions that often he encounters a list of software deliverables with no stated and linked business goal. In that case, it could be valuable to work backward from deliverables through impacts, actors, and goals. That approach acknowledges that work was completed while guiding a group to recognize any remaining gaps. Alternatively, you can start with the goals and move down to the deliverables.
This tool is popular with teams working on software projects, but does it scale? In my opinion, these are some of the strengths and gaps of this method, once you try to apply it to a collection of teams working on a complex system.
The simplicity of this technique is one of its strengths. Like the popular Business Model Canvas or Lean Canvas, it helps you see some of the major aspects of your project at a glance. It also doesn’t take very long to create. I can see it being a helpful tool at the beginning of a project to explore the space and quickly get your ideas on paper. A single pass may unveil some big issues and opportunities. It can also highlight when you’re working towards too many goals at once. Or when deliverables don’t contribute to the target goal.
Like other visual tools, impact mapping is a good choice for teams because it helps get everyone on the same page. It communicates why you’re working and keeps everyone focused on the goal, behaviors you’re trying to change, and options for accomplishing the mission. That provides team members with more of the context they need to be able to change direction while still contributing to the goal. This shift in knowledge is so powerful that Adzic says that he’s seen it transform team members from order takers to idea generators.
“Shared goals arise from shared stories.”
– Gojko Adzic
The visual complements the main message. Goals and actors are in the center of the map and also the most important to think about. If you’re in an organization that tends to jump straight to solutions while keeping the information about goals, actors, and behaviors in people’s heads, this reframing could be helpful to encourage putting business assumptions on paper. In my experience playing with impact maps, the new format helps provide a different perspective that can reveal new insights.
Adzic mentions that you can also add metrics to your map. Adding metrics to track progress towards goals can remind people to question if the impacts and deliverables will help change the numbers. You can communicate a minimum target and stretch goals on the impact map itself to inform the rest of the team.
An impact map could also be useful for change control. As you build out the map, branches will emerge. Each branch will show a combination of goal -> actor -> impact -> deliverable. If you decide to work on one branch and later need to change direction, you can switch to a different one and clearly indicate the new branch you’re pursuing. The branch structure saves time because rather than sorting through a long list of features and notes, all relevant information will be in the same branch.
Range of applications
Impact maps could be used to explore goals and concepts at any level in a scaled agile project. Just change the scope of the goal, the range of actors you consider, or the level of detail in your deliverables. I’d recommend pulling in this exercise to help plan out a delivery increment or your longer-term roadmap. It could also be helpful to visualize the range of changes that are needed to accomplish the goal (beyond building new software features).
A con of this method is that completeness isn’t built into the process. Since it’s essentially a mind map, you’re triggered by what you can come up with or whatever you’ve already written down that happens to spark new ideas. I would recommend going through different exercises like creating customer profiles and journeys, business process models, technical diagrams and competitive research to uncover a larger set of possible issues and options. The major findings from those activities could be added to the impact map. In that way impact mapping serves better as a synthesis tool instead of an exploration tool.
It’s also not clear how to prioritize the branches. Adzic recommends narrowing down the options with dot voting, but that doesn’t ensure that everyone is using a consistent decision framework. Combining this in with other quantitative tools like decision trees could help quantitatively pick the best branch to focus on. By incorporating an indicator of uncertainty, then you can see which ones are most likely to impact your final goal, even though the future is unknown.
Another gap in this method is that it doesn’t explicitly account for how changing one behavior can have a domino effect on other behaviors and therefore other goals. Those behaviors could combine to ultimately benefit both goals, or end up canceling each other out. You could probably adapt the general structure of the impact map to highlight how the behaviors may result in feedback loops in other parts of the system you’re designing. However, in that case, it would be simpler to model your system dynamics instead.
A good choice for scaled agile and complex systems?
An impact map seems to work well if you’re working on a product or thinking about a goal in isolation. Building this out for a scaled agile project is a little more difficult. It may contribute to the conversation, but in my opinion, there are a lot of other tools that would be better for analyzing and designing systems in more complex settings.
Have you tried impact mapping? How do you fit it into your analysis and design process?