This book has a lot to say about running a modern technology organization, and I got a lot out of it. The book is attempting to help the reader increase momentum towards a goal or "north star." To understand the book, you have grasp three core topics. I'm going to spell these out a bit, because the book is pretty bewildering if you are trying to understand the underlying approach. What the book is trying to do is provide a means to obtain situational awareness so that you can make a decision about what to do next (chapters 9-12). Unfortunately the book is so poorly organized that you pretty much have to excavate what I'm about to say from the book: The book is not going to just hand over the goods.
I feel like I can't even begin to discuss the liabilities of this book unless I play out some of structure.
Anyway, here are the three key topics that support so much else:
(1) Value chains. A value chain describes the relationship between top-level needs and what supports those needs. Each component that supports a top-level need is a "dependency" (p. 35); and each dependency can have its own dependencies. The idea here is to articulate the dependencies between components. At the top of the value chain is the "anchor" (p. 34). The anchor might be a customer (p. 35), a user (p. 41), a stakeholder (p. 43), an engineering leader (p. 140), or even the CEO (pp. 26-28) / the business owner (pp. 53-60).
In this book, components closer to the anchor are more visible. "The higher the component, the more the user can see it. A web page might be at the top, while a database or server might be near the bottom" (p. 33). Components are the bottom are invisible to the anchor.
(2) Meanwhile, we want to understand the evolution of each component. Components go through four stages. Genesis, which is "poorly understood, and uncertain" (p. 33). During Genesis, the component is unprecedented and a thing of wonder. Then, as the component evolves, it becomes something that is Custom Built, then something we can call a Product (that we can rent to others), and eventually it becomes a Commodity or Utility: A component so well known that we would buy it off the shelf (and not build it).
(3) Then there is a methodology for situating components according to these two dimensions. More on that in a bit.
If these seems interesting to you, I would advise going straight to pp. 40-41. Using these two aspects of any component, you can put each on a grid with visibility top-to-bottom, and evolution from left-to-right. This can form the basis for a discussion as you ask yourself the question: Of our critical components, which ones are most visible, and how close are they to commodities? In this section, the authors say: for "the new machine learning component" "the user is aware of it, and it's Custom Built." Another example: There old contractor-written (custom) software that the user can't see. What conclusion do we draw from this: "We need to move this. The time it takes to maintain it is blocking other things" (p. 40).
I like this. This scheme helps us understand what is mature in the organization and, depending on its visibility, whether the User really cares about it. In that bit about the Java component, the authors note the time element. This is good. You can see something on the grid and get a feel for what needs to evolve -- and whether you can or not (because the user can or can't see it).
Having said all that, we don't get a lot of language around making "build" vs "buy" decisions, but in a lot of ways that's what's being talked about.
So here's the key point (not pithily articulated so far as I can tell): If your User can't see a component and you can evolve it so that it is no longer customer software and can possibly buy it as a commodity, you can save yourself a lot of headaches: The commodity should be cheaper (especially if you think of the savings of not building custom software), and another company will be responsible for keeping it maintained. This ultimately simplifies your company, and makes your own tech easier to maintain and secure. This will reduce time to value (Chapter 6).
I think what I've said so far is really the core of the book.
Having said all of that, the book is considerably more sophisticated than this simple grid. The major innovation here is that this grid is no mere SWOT analysis. Reason: It is trying to take into account time. A SWOT analysis just gives you clarification for a moment; but this scheme with "evolution" on the x-axis means that you can think about all of your components moving and evolving. To understand the authors' distinction between SWOT and their grid, look at pp. 17, 50, and 222.
Here's how it gets more subtle and nuanced. That grid is pretty simplistic. The disposition of components into that grid is just the starting point. A more elaborate version of the grid is called a Wardley Map. It's the same idea, but the Map provides some means to see how everything fits together. First off, you you can draw lines between the dependencies, and see that one component depends on two things, one that is evolved more than another. This can provide the basis for a discussion about whether we can tolerate writing custom software that supports a component (p. 35). You can also group selections of components that are related, and see, for instance, that there are too many dependencies are things that are "custom" (i.e., costly) (pp. 36-37). There are also "pipelines": This is when you identify a critical component and want it to evolve (see pp. 38-39). You can also note on the x-axis (evolution) when a component gets blocked and can't evolve (pp. 57-59).
So far, so good, though the concepts above are not communicated very coherently. Let me return to some themes in the book:
The Value Flywheel Effect keeps coming back to serverless computing. The book argues that the purest form of the highly evolved component is functionality where your cloud vendor provides the entire ecosystem for the tiniest bit of business logic. This may be true, but the book is really confused by its attempt to articulate all of this mapping stuff -- but also this argument about cloud computing. The main reason that this is so confusing is that the authors know that serverless is just an illustration of getting to a highly componetized state. They even say "serverless is not the point!" but that only comes on p. 158. Wish you had told me earlier.
Another worrisome aspect of this book is the answer to the "why" question: Why do I want I want such highly commoditized invisible components? Well, here is the reason. If you have older custom-built software, you are going to discover that it can no longer evolve in the face of regulatory and security concerns (see p. 224). This strikes me as a massive and correct point. But why is it buried? I have no idea.
I think in a lot of ways what I've said above is the whole game. One way to read this book is to take account of the simplification I've presented above, then read all of Chapters 1-4. Then I would recommend jumping to the account of the BBC (chapter 20). The chapter on the BBC provides the operational justification for serverless, but interestingly barely if ever mentions Wardley Mapping.
What is the rest of the book about? Mostly it's about how to run the meetings for the Wardley Mapping and how not to get too caught up in the technique. For one thing, it's a group activity and a means to an end. You want to be loose and use the strategy as much as seems appropriate for your own desire for situational awareness. Along the way there are sections are other topics that are, basically, a total distraction from the core of the book. For example, sense making (pp. 85-86; this comes from organizational theory), the double diamond (pp. 72-73), Cynefin (p. 134), complex adaptive systems (CASs, p. 134), etc. Anyone who has been paying attention in recent years has read about some of these things, and they don't really add to the argument. It kind of seems like they're just thrown in ("oh, we should say something about Cynefin!").
I don't know why this book ended up this way. Besides the organization, another thing that makes this reading experience really tough is that the Figures -- the Wardley Maps themselves -- are just too damn small! For whatever reason, they are inset and don't get to use the full width of the page. Maybe it's better on Kindle -- but the printed version, which I am reviewing here despite the fact that GoodReads doesn't have the print version in its system yet, blocks the reader from understand the pith of the figures. I think the publisher, IT Revolution, could do readers a favor by publishing all of the figures on their web site. Now let's see what the other reviewers say: I bet there will be a lot of 3's for this one.