When everyone involved in delivery understands the objectives, expected impacts and key assumptions in the same way, products and projects benefit from better focus and less waste. This is why goal-oriented requirements engineering methods are becoming increasingly popular in software academia. The current goal-oriented requirements engineering practices mostly focus on the early requirements phase – they end where most traditional specification techniques would start. This provides a big-picture view, but it also significantly undercuts the effectiveness of such techniques in modern software delivery.
Iterative delivery methods and lean startup ideas place significant emphasis on integrating the learning from delivery into refining scope, specifications and requirements. Upfront plans are inadequate because the landscape changes too frequently.
Impact maps bridge the two worlds: they facilitate strategic planning and thinking to create a big-picture view focused on key business objectives, but also facilitate learning through delivery and help us manage project roadmaps. They represent and organise project scope in a way that is easy to evolve, reprioritise, grow and shrink as necessary to react to changed market opportunities or new knowledge.
Impact mapping is a great way to engage senior business and technical experts at the start of work on a product module or project milestone to create a shared understanding of scope – not from a technical but from a business perspective. Visual meeting techniques and collaboration ensure that senior decision-makers share an understanding of key business assumptions. This helps to align everyone with the overall vision, and gives delivery experts enough information to make the right decisions later.
An impact map clearly shows the impacts that technical deliverables are supposed to produce, from a business perspective. This visualisation defines the expected quality of software from a holistic level, and ensures that everyone involved in delivery and decision making shares the same understanding. An impact map helps the delivery organisation maintain a strong focus during delivery, and helps to prioritise and define activities related to improving or assuring quality. The role of testing becomes proving that deliverables support desired actor behaviours, instead of comparing software features to technical expectations. If a deliverable does not support an impact, even if it works correctly from a technical perspective, it is a failure and should be treated as a problem, enhanced or removed.
An impact map communicates scope, goals and priorities, but also assumptions on two levels. The first is that a deliverable will support a change in behaviour of an actor, produce an impact. The second is that once the impact is supported, the relevant actor will contribute to the overall objectives. This visualisation makes impact maps a powerful tool for roadmap management.
Once a deliverable is shipped, we can measure the actual changes in actors’ behaviour and the impact on the overall objective. We can then re-evaluate our strategy and decide whether to continue working on the same part of the map or move on to something else.