Chapter 6. Engineering Component Systems

Tidiness is next to Godliness, or so goes the mantra of the obsessive compulsive. The partially decentralized society model of cooperation proves to be an important pattern when designing cooperative systems, but it leads to apparent complexity, too. An apparent way around this is to find a middle ground by dividing it up into specialized components.

During the 1800s, Western culture became particularly obsessed with the need to categorize things and separate them tidily into boxes. One reason might be that we cannot hold many things in our minds because of our limited Dunbar slots. Whatever the reason, our cultural aesthetic is for putting things tidily into boxes, and arranging shelves neatly.

Meanwhile, jungles and ecosystems stubbornly refuse to be patterned in this oversimplistic way. Nature selected tangled webs as its strategy for stable survival, not carefully organized rows and columns, or taxonomic trees of partitioned species. Those organizational structures are all human designs.

There are plenty of reasons why tidiness would not be a successful strategy for keeping promises. The complexity of bonding and maintaining an interactive relationship across boundaries is the understated price we pay for a tidy separation of concerns, when pieces cannot really do without one another.

Yet, building things from replicable patterns (like cells) is exactly what nature does. So the idea of making components with different functional categories ...

Get Thinking in Promises now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.