bookmark_borderArchitectures and Change

Modular Flexibility

One of the many important ideas in The Origin of Wealth by Eric D. Beinhocker is that the shape of most systems can be thought of as modules connected by an overarching architecture. The architecture constrains the modules. However, individual modules can often be changed fairly flexibly.

Most of the time, modules can be swapped out without broader effects. In biological systems, this might look like a species replacing one source of food with another. However, some changes will have rippling consequences, although those effects might take time to realize. A technological example is that the introduction of the personal car eventually led to broad changes in how we build roads, shopping areas, homes, and more.

For the most part, though, architecture is a given and innovation must occur within the constraints of the current architecture. Even modular changes which eventually result in architectural changes start as modular changes whose effects ripple out over time (often in hard to predict ways).

We can take a leadership lesson from this. From our place in the system, there are some things we can change and other things we cannot change. There are modules and there is architecture.

These architectural influences can be subtle. For example, in a software organization, whether or not to pair program may seem like an individual, modular decision. However, whether or not pair programming actually work depends both on technical tools for collaboration and social tools for recognizing work (e.g., promotion structures). Tools and incentives matter.

Other decisions, such as which editor to use, are more modular. Choices are constrained by the architecture (most companies would not want developers to use unvetted cloud editors), but there is a lot of flexibility. (That said, the right answer is a vi variant, of course.)

When we want to enact change, we can use this lens to think about what aspects of our desired change are modular and which are architectural. By identifying the modular elements, we can empower ourselves and others to effectively pursue change.

(It is possible to intentionally use modular changes to try to trigger architectural change. This is extremely powerful. It is also inherently impossible to control, so it requires a willingness to give up predictability which is hard for most of us.)

Nested Architectures

Although I speak of “the” architecture and its modules, most architectures are nested. A module at one level of abstraction is often an architecture at a lower level of abstraction. An architecture becomes a module at a higher level of abstraction.

For example, phones and laptops can be seen as modular computing devices at one level of abstraction. Yet each is itself an architecture which consists of physical technologies such as circuit boards, batteries, cameras, etc.

From a leadership perspective, what I as a middle manager see as a module may be architecture to the individual contributors I work with. And what I see as a architecture may be a module to my VP.

The same is true for structures of society. We often pit the idea of centralized control against individual or small group control. However, a better way to look at it is that every group has a scope, within which some changes are modular and some are architectural. To make architectural changes, smaller scoped groups need to come together into some larger structure, whether that be a loose coalition of aligned interests or a more permanent centralized structure.

But bigger is not unambiguously better. Larger scoped groups have trouble effectively changing deeply nested modules. They have too little insight into the important details. They are likely to optimize for the wrong thing, destroying value in the process. (There’s a connection here to the idea of legibility from James C. Scott’s Seeing Like a State for those familiar with that work.)

The goal of groups with broad, often centralized, scope (such as the federal government) is to set the architecture which defines the ways that smaller scoped groups can be effective. They should shape the environment rather than trying to shape outcomes.

That conclusion isn’t new. However, what I think is worth reflecting on is that this is all happening in the context of nested structures where each layer can relate to different elements in either an architectural (constrained) or modular (changeable) way.

By realizing that it is architectures all the way down we can move from the false dichotomies of large vs small and individual vs collective to a more nuanced understanding that we all have to work within a mix of contexts which provide differing degrees of constraint and flexibility.