A watercolor of curving wooden buildings grown among trees around a garden courtyard and a pond

The prior post in this series was about the people who write software. This one is about three books from the architecture of buildings, in the order I probably read them.

Book Author(s), year
Design Thinking Peter G. Rowe, 1987
A Pattern Language Christopher Alexander et al., 1977
The Timeless Way of Building Christopher Alexander, 1979
The series Worth Reading: every post
Comments Discord

Design Thinking

The cover of Design Thinking by Peter G. Rowe, yellow, with line drawings of classical facades and a sketch of a building

Peter G. Rowe, Design Thinking (MIT Press, 1987). How architects and urban designers actually go about designing: the heuristics they use, the way a problem and its solution take shape together, and design as an inquiry rather than a straight line from requirements to result.

I read this book later in my career, and it helped me broaden my thinking about requirements and design.

I also read books from outside software development, such as Mario Salvadori’s Why Buildings Stand Up: The Strength of Architecture (1980).

Earlier, I had read many books on documenting software architectures and on software requirements analysis (sorry, I cannot recall the exact titles or authors). I was the component owner for an MVS component that had no Design Engineer at the time, IBM’s term for a product manager, so I had to wear that hat myself: find out what customers were asking for, so that I could propose development projects to my management.

A Pattern Language

The cover of A Pattern Language: Towns, Buildings, Construction by Christopher Alexander, Sara Ishikawa and Murray Silverstein, with Max Jacobson, Ingrid Fiksdahl-King and Shlomo Angel, cream with a red circular woodcut of builders

Christopher Alexander, Sara Ishikawa and Murray Silverstein, with Max Jacobson, Ingrid Fiksdahl-King and Shlomo Angel (1977). 253 patterns for towns, buildings and rooms, each a problem and its solution, and an idea that software’s design patterns movement took from it.

I read Alexander’s two books when the design patterns movement in object-oriented software embraced Christopher Alexander. I was an ACM member, subscribed to SIGPLAN, and regularly attended the OOPSLA conferences in the 1990s. Alexander’s books are about building architecture, not computer architecture, yet the patterns they document can be thought about generally and applied across domains.

The Timeless Way of Building

The cover of The Timeless Way of Building by Christopher Alexander, cream with a red circular woodcut

Christopher Alexander (1979). The first volume of the set whose second, A Pattern Language, came out two years earlier: the philosophy behind the patterns, and what Alexander calls the quality without a name.

I enjoyed both of Alexander’s books, and they helped me think about software requirements analysis.

I also started to think about quality in a different way. To me it represents how well a product meets, or does not meet, a customer’s needs, but people seem to judge it emotionally, or in an abstract way that resists measurement; quality is hard to represent with a number. That is close to what Alexander calls the quality without a name.

Closing

These books are a step removed from software: they are about design itself, not software development, and they helped me think outside the box.

I wanted to mention them because I found them interesting on their own. My interests are wide and varied: hardware, software, carpentry, DIY projects, art, music. My current hobbies are attempts to use AI, electronics and software to explore math, machine learning, games and more. In all of it, it helps to think about design in a more general sense.