25 March 2019
By: Tomas Malmsten

Improve Impact Mapping by understanding which of the Three Ages you are in

The other day I though struck me. I have a very senior colleague who is specialised in testing and have had a number of test lead roles. I my self is a pretty accomplished software crafter. What would happen if we looked at offering clients coaching in the whole lifecycle of software production, from idea to business capability and value. Naturally such coaching includes sustainably delivering release after release and continuously learn what value is and how this affects planning and functions in the product. After some conversations in the office we realised that we need to package this in some way. Find some kind of process or method we can use that will help the client to understand the value we add. This, at the moment, is focused on the inception phase, getting the client team up and running with the right thing.

After some poking around in my library I found the book Impact Mapping again. This is a really good method to get started. Working with the client to create an impact map to understand which path is one that is most beneficial to start with, whilst being able to track that we are doing the right thing over time. But something in the book made me think about a patter Dan North defined in his book Software Faster. The Three ages. So I wanted to write something about how The Three Ages can be applied to even further increase the value of your impact map.

Let's start with explaining, in short, what The Three Ages is all about.

The Three Ages are:

  • Explore
  • Stabilise
  • Commoditise

They are not stages in development, but rather distinct but discreet ages that our work goes through. The reason for this is that all three may well be going on at the same time within the same iteration and team. We may be exploring some avenues whilst stabilising others, and commodities yet others. An individual don't usually work in more then one age at the time, but stabilising something may well mean that we explore the different options available to us, before we settle on the best alternative.

Explore is all about discovery. We have something, it can be a new technology, a feature we don't quite know how to implement, an idea we don't know the value of, the commodification or stabilisation of something, or something else. We want to explore as many different options as possible, preferable fast. We usually have a budget constraint, for example a time budget. Our focus is not to build a stable solution. The primary focus is to find the best solution for the problem, or prove that the idea will provide enough value to invest further in. Once we know, with enough certainty, that one option is the one to run with we will stop.

Stabilise is all about making sure we can produce the same thing over and over again. With as little variation as possible, preferable none. This aspect of stabilisation is in direct conflict with exploration, were we want as much variation as possible. We know that the thing we work with has value, and that the solution is the one we want to use.

Commoditise is all about lowering cost of manufacturing or ownership. The thing works well, we want to keep it and we know we can create the same thing time and again. Now we want to ensure that the cost of providing it is as lean as possible without losing key quality.

Now the question I guess you are asking is what does The Three Ages have to do with Impact Mapping. When we work with impact mapping, and continuously refine the map, we will find that several of the tasks we plan will be in one of the three ages. If we are explicit about which age the task belongs too we can leverage this knowledge. By looking at the metrics we have designed for a goal or an impact, we can design metrics that will better support the age we are working in. This would, I speculate, create a tighter feedback loop for evaluating the success of each individual effort against the goal or impact that it is tied to.

Now, I have to admit, we haven't put this in to practise yet. But we are working on finding a client where we can try this out. The plan is to put both me and my colleague's complementary expertise at work with the client to create an impact map and to then clearly define the most important work, and tag it with the age it belongs to, to maximise the feedback and learning from each task. Using this data we should then be in a better position to re-evaluate the map.

Tags: Agile