Complexity

For anyone reading the GoF book[GoF94], the abridged history and reference to the originator of the term ‘design pattern’ might be misleading. The information on Christopher Alexander can be found early on in the book but is quite limited in scope. When I first read this work, I imagined that he was some revered figure from an era before my grandparents were born, but the real story is much stranger and more intriguing.

Christopher Alexander was not some historical figure who lived during the height of the old British Empire. Instead, he was a modern architect working at the time of the rise of the software-design-patterns movement. However, he would have almost certainly refuted the claim that he was a modern architect, as there are many preconceptions associated with the term.

Some individuals, including myself, suggest he was a post-modernist because he understood modern architecture more deeply than most modern architects ever did. This deep understanding led to his disillusionment with the architectural institution as a whole[Grabow83], and simultaneously led to him being praised and revered for a generation as a ground-breaking architect with a vision for a new era of architectural methodologies.

When most people think of modern architecture, they think of glass and steel buildings rising in the sky. They picture cubes and off-angle constructions. They conjure images of brutalist buildings built with cutting-edge mechanical engineering techniques. All these things are modern architecture, but they are not modern methodologies. This realisation by Christopher Alexander precipitated his journey into patterns and beyond. He saw the modern way as stagnant and realised it was stymied by complexity.

GuggenheimMuseumBilbao Guggenheim Museum Bilbao: modern construction, conventional planning.

The mainstream understanding of building architecture was—and still is—that an architect must first produce a design, and only then can it be built. The more elaborate and complicated the design, the better the architect must be in order for the project to succeed. If a large design were commissioned, the project would need an architect who could handle the necessary thinking to produce it. They would need to spend much time in deep thought, imagining a new building from nothing and then drawing out the design. A first draft is always thought to be flawed, and so the process was geared towards assuming this was a truism and allow further iterations. Others would review it and help the architect revise the plan where necessary, but it was always a singular vision.

As any project grows, the number of interconnected pieces multiply. A single human mind cannot consider all of the effects of changing one or two small parts. Because of this, modern architecture often relies on modular parts or last-minute additions to fix impossible stresses. Modern modular construction moves the decision-making and problem-solving processes away from the construction site and back to a paper plan, trivialising the problem into an abstract form. Instead of solving a wiring or glazing issue for a specific house, modern methods use modular pieces to resolve the more general puzzle of glazing or wiring for the average house. There is a problem with this though: I don’t know anyone who is precisely average.

Such forced inattention to local details and deviations inspired Christopher Alexander to write his original work, Notes on the Synthesis of Form[Notes64]. In it, he describes a way to attend to these common problems of complexity using a new way of working he developed to resolve the inevitable complications of large modern projects. It’s not overstating things to say that Christopher Alexander was the first person in centuries to develop a new approach to architecture.

From the start, Alexander’s work revolved around resolving the problem of dealing with complexity in our world. Since we had passed the point where traditional architectural methods—which happily adapted to changing needs at a local scale—could no longer keep up with our new technologies, we could not go back. Furthermore, because modern architectural methods—which could support ever-changing technologies—could not address critical problems of complex environmental constraints, we needed something also surpassing them. Notes on the Synthesis of Form promised to provide a process to reconcile this, but it was only the first step in a grander sequence of discoveries.

Christopher Alexander refined his methods over the course of decades. During the period of the software design-patterns movement, his work on architectural patterns had already stabilised. However, he was then in a phase where he was working to refine even more fundamental properties of forms and processes of change. We rarely see references to this later phase within software development literature, but its absence may provide some insights into why the patterns movement ended up the way it has.