I’ve recently stumbled into a way of describing mid-range planning with a few teams which combines the language of feature injection, fidelity and story-mapping. As it seems to have been a successful way of communicating how to think about the strategic approach to incrementing and iterating through the work, I thought it would be worth writing down. Before I get into the combination, first an overview of what I mean my feature injection, fidelity and story-mapping.
Liz Keogh has written a nice summary of Feature Injection. The main take-away is the language around starting with high level needs before working down to low level solutions.
Vision > Goals > Capabilities > Features > Scenarios > Stories
The key levels that I find valuable are those of capabilities and features leading scenarios and stories. I have noticed that I swap scenarios and stories around compared to Liz. I tend to think of scenarios as being detailed examples of stories rather than stories being the detailed description of scenarios. Something to talk to Liz about next time I see her. Either way, the approach is to start with a high level, more impact-based understanding, and gradually inject more granularity until you get to the actual output you want.
I first wrote about fidelity a couple of years back. I draw it differently now so here’s an updated description.
We regularly refer to vertical-slicing with agile approaches, where the vertical-slices are functional pieces which cut through the horizontal architectural layers.
I find that teams who use vertical slicing, still often tend to increment the vertical slices so that they risk ending up with a product which is built up of vertical slices, yet still only 90% complete.
One way I describe avoiding this is to make each slice thinner, and spread the slices across the overall scope before going back an filling in the gaps. Each thinner slices is a low-fidelity slice, and filling in the gaps increases the fidelity.
Another way is to think of it, using a similar 3-d approach to my original post, is for the depth dimension to represent fidelity. Thus the first pass across the vertical-slices is a very shallow-fidelity one, and further passes increase the depth of the fidelity axis.
Given that we are now slicing across the depth dimension, and depth gives us perspective, I’m thinking of calling this “perspective slicing”. Each slice gives a different perspective of the whole system.
I’ve also found the term fidelity useful just from a conversational aspect. Simple discussing what fidelity means for a particular product or service, and how it is different from quality, raises some good awareness of the approach. In particular, that a low-fidelity solution (e.g. one which has a basic interface or low robustness) can and should be high-quality (e.g. have a clean design and be sufficiently tested).
Jeff Patton best describes the technique he calls story mapping in his own article. Essentially its a way of adding more context to a backlog by visualising both the breakdown of work from large user activities down to small user sub-tasks and task details, the relative necessity of those sub-tasks and details, and the overall relationships between the large user activities. The story map is used to focus on starting to build an early walking skeleton of the whole product or system.
Combining the Ideas
The combination of feature injection, fidelity and story mapping ideas isn’t really anything ground-breaking, or spectacularly new. In fact Jeff Patton’s description of what he calls a release readiness assessment is very similar. The way I do it is to use the feature injection language of capabilities and features to describe the higher levels of the story-map, replacing what Jeff describes as activities and tasks. Jeff’s sub-tasks or task details then become stories or scenarios and they are ordered by increasing fidelity rather than necessity. Thus the walking skeleton is a low fidelity perspective slice across all the capabilities and features of the solution. Further iterations increase the fidelity with further perspective slices.
Let me know what you have done which is similar or different!