The Human Abstraction Layers
In software engineering, we sometimes talk about abstraction layers. These layers are often created to hide complexity, making something more manageable or understandable. In architecture, we can sometimes refer to APIs as an abstraction layer. Or, we might go even higher and, for example, decide to use the API gateway as the abstraction layer. Here, you can orchestrate and manipulate interfaces like APIs, simplifying what’s hard to understand and making it manageable.
The concept of human abstraction layers
However, what we rarely discuss are the human abstraction layers. If you’re familiar with Conway’s Law, you know that “Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.” (https://en.wikipedia.org/wiki/Conway%27s_law)
This principle explains why I can often decode the internal organizational structure of companies by simply looking at their public website’s source code. While Conway’s Law is valid, in my experience, most senior leaders outside technology are unaware of this.
The oversight in digital transformation
Rarely (if ever) have I encountered a digital transformation team that incorporates Conway’s Law into their organizational design principles. This means we are building software suboptimally because we are organizing and optimizing according to other theories or ideas.
Over the last decade, I’ve also observed the creation of new roles in digital organizations, resulting in many more people being involved in our outcomes.
This means we are creating additional human abstraction layers. For example, retail/sales comes up with a new idea or feature request. This idea now needs to pass through multiple human abstraction layers like country managers, architecture, business analysis, user experience, product management, and so on. Eventually, the request might end up in the backlogs of product engineering teams for implementation.
The dilution of ideas and what to do
This process creates problems. Remember the whisper game? The more people involved, the more diluted the message becomes. It’s the same in organizations.
In my example, guess how much of the initial value a retail request holds once it reaches actual development? Even if it ends up in the backlog, there can be a lengthy wait, sometimes over a year, for a request to be actioned.
And we wonder why digital organizations are so large, costly, and seemingly overly complex. My personal analysis is that senior leadership often lacks an understanding of product development and IT. This, combined with the attractiveness of product and technology/IT roles – often associated with healthy compensation – leads to slow-moving organizations. I mean, It’s fairly easy to recruit for a new function.
Unfortunately, leaders often think their importance depends on number of people in their organisation.
Leaders need to actively work towards simplifying organizational structures, roles, and responsibilities. Unfortunately, today we often see the opposite in the endless digital transformations happening worldwide.
Create simplicity. Not more abstraction.
Foster understanding through simplicity. Incentivize small! Incentivize simplicity!