Living things are not complete

There is a difference between a project being complete and a building being complete. I picked up this distinction from Christopher Alexander’s later works. He never says it directly, but the consistent recurring theme of generative production, repair, and improvement leads me to a further conclusion. The right approach to building never leads to something that is finished. We can complete a task or step of creation or repair, but no building that is made to be alive can be finished because change is inherent in a living and adaptable building.

Stewart Brand talks about this subject in the book and TV series How Buildings Learn[HBL94]. He references how long-lived buildings change at different shearing layers. Buildings change at multiple scales of size and time, from the location down to the arrangement of furniture. Buildings adapt at these scales, or they are razed. In effect, the buildings that prove unsuitable for adaptation are selected for culling. Buildings that cannot change to accommodate the needs of their residents will be removed.

The way I see it, the difference between living things and products is that products can be finished. A house or home is not a product; if it is, it won’t be a good one for future generations. A town is not a product either, and it would not be good if it were built like one. You only need to look at the usual problems with new towns in countries where old and new towns exist side by side, such as the problems caused by the suburbs in countries where relocated families now all depend on cars.

A product is used and enjoyed but ultimately kept as is, archived, cast off, or recycled. Generally, we don’t adapt products to new uses. I suppose this is why we recycle more than we upcycle or repurpose. We can mend a bucket, a pair of glasses, a car, a fence, or a shirt. But when something adapts to a new purpose, it’s visibly no longer what it was. A form that welcomes adaptation is a living form—a form where growth and change are part of its long life.

Living things are in a constant state of preparedness for adaptation. These are the qualities of a healthy code base, person, or building. The final product of a project is a codebase that can produce a product for the customer. We do not modify the products; we modify the design. We adjust the steps the compiler takes or the code that is interpreted. The living thing is the codebase, and only the codebase will be repaired or extended. The design is the structure and the materials out of which an instance of the product spontaneously materialises. Thus, the design of a codebase has two qualities: the capacity for change and the capacity to produce.

Buildings are inhabited by the builders while they are constructed, but they are later handed off to the inhabitants of the building. With source, the programmers inhabit the blueprints of the product, the building is built by compilers, and the users inhabit the deployment of the product. This strange mismatch reduces the efficacy of comparing software architecture and building architecture.

Resilient zombies

From what I have read of them, both Christopher Alexander and Helmut Leitner (of Pattern Theory[PT15]) appear to think artificial things can be made alive and living if and only if they are produced in a specific way. A living thing can emerge from successive alterations and generative processes at the most local and personal scale. They argue that the aggregate power of organisations or wealthy individuals requires pattern theory to guide the short-interval or iterative creation of living structures by applying these generative processes; otherwise, they fall foul of dead design.

Unfortunately, I don’t believe you can simply explain to money how it should behave. You must find a way to join pattern theory to something powerful organisations already value before they entertain such ideas. Wealthy individuals will want status symbol constructions, but by their very demand, they deny living structure. A well-used and loved old farmhouse is full of life, but it’s not of any value to someone looking to build a status symbol. Making sure your skyscraper is ready to be converted into something new and readily adaptable to changing circumstances doesn’t sound like something a business cares about. Investing in being easy to repair and adapt to changes in the surrounding environment is a far-sighted move few in a position of power would exercise or even give a moment of thought.

I doubt living buildings and living codebases are possible when you have egos and status involved. The best code is written by many people over time, all working without ego, spotting each other’s mistakes and collaborating on large-scale migrations from one good equilibrium to another.