Simplicity is a great virtue but it requires hard work
to achieve it and education to appreciate it. And to
make matters worse: complexity sells better.
— Edsger W. Dijkstra
Architecture’s raison d’être is to manage complexity and enable value generation for the enterprise that rests on it. But does the enterprise of architecture always produce the architecture for the enterprise? My experience tells me that it often does not.
Sometimes, though, in our finest moments, we manage to architect things of elegance that push our enterprises and industry to much higher levels. It may not all be by design; emergence may be a better explanation for some of our architectural accomplishments.
So, what would a great architecture look like?
When Architecture Disappears, the Enterprise Thrives
In a previous Advisor (see “The Architecture Platform”), I borrowed the metaphor of “the invisible hand” from Adam Smith, considered by many to be the father of economics. He used the metaphor of the invisible hand in The Theory of Moral Sentiments:
Every individual … neither intends to promote the public interest, nor knows how much he is promoting it … he intends only his own security; and by directing that industry in such a manner as its produce may be of the greatest value, he intends only his own gain, and he is in this, as in many other cases, led by an invisible hand to promote an end which was no part of his intention.
The key idea is that when people are nudged toward a certain way of thinking, behaving, and acting, the result that emerges is almost miraculous. The architecture of commerce that Smith conceptualizes is underpinned by a small set of selected primitives and constructs that do little more than subtly nudge things along.
It has been a long time since Adam Smith. Wouldn’t it be nice if we could find a similarly good example from our times?
The Invisible Architecture of the Web
The World Wide Web began its ascent toward dominance about 25 years back, starting from something like a proof-of-concept that served a small group of scientists and researchers at CERN’s particle physics facility in Switzerland. Tim Berners-Lee was the driving force. The architecture that underlies the Web is elegant and simple, yet sweeping in its impact; it changed the world forever.
There are three fundamental ideas in the architecture of the Web. The first is that every resource on the Web can be identified and accessed by a URL. Secondly, HTTP is the protocol that enables different nodes on the Web to exchange hypertext between themselves. Finally, HTML was a way to construct a Web hypertext resource.
Things have changed a bit since the initial days of the Web, and we have evolved the architecture somewhat, but the basic meta-pattern — the ability to craft a point on the Web, to identify it uniquely, and to connect it to other points — remains more or less the same.
Value Trumps Elegance, but Elegance Often Accompanies Value
While the architecture of the Web is simple and elegant, aesthetics is not really what we are after. It is the value that we realize from architecture that matters. The Web delivers real value. Each resource producer gets his or her own sandbox to innovate in — to create unique pages with their own look and feel, using the tools of the Web that came on the heels of the simple architecture that was seeded. Resource consumers have the browsers and other tools to consume the services created by the producers, without any prior knowledge of the producers or how they do their magic. Everything flows from here to there, and there to here, without explicit consumer-producer contracts; the architecture is the currency of the Web that enables this free trade, innovation by producers, and choice for consumers.
There are design choices that are inherent in the architecture of the Web. For example, things can break sometimes. A resource may no longer be where it used to be. The structure of the information passed along on the original version of the Web may have been amorphous, requiring consumers and producers to share definitions of structures via an out-of-band channel. The design trade-offs make certain things work really well, but are a little cumbersome for other things. In any case, the Web was certainly a huge success — so the trade-offs that were made moved things forward for the world at large.
The Meta-Pattern for Architecture
The architecture of the Web is elegant and it delivers value. Is it possible to have complex, convoluted architectures that are inelegant but that enable value? Maybe. But my intuition and experience suggest otherwise. I think that architecture needs to be as close to invisible as possible to be valuable. Architecture needs to be the invisible hand that guides the enterprise, and the people within and around it. What do you think? Comment below or send your thoughts to firstname.lastname@example.org.