Worth Reading #2: Architecture and Design --- Alexander and Rowe
941 words • 5 min read • Abstract

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
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
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
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.
Part 2 of the Worth Reading series. View all parts
Comments or questions? SW Lab Discord or YouTube @SoftwareWrighter.