Stakeholders and #2 Pine
As is our tradition (now in its second year), our holiday post is a bit less serious than most. Last year Bruce waxed poetic (with a few rants thrown in) about the perils of prescriptivism, inspired by the writing of David Foster Wallace. This year Larry gives his end-of-year book review. His family gives him grief for keeping such classics as Salt and Cod on his bookshelf, but fear not, this year he’s chosen a can’t-put-it-down thriller.
I would guess most people who read our books and posts are familiar with Tracy Kidder’s Pulitzer Prize-winning The Soul of a New Machine. It’s essential reading for any Computer Scientist or IT professional. But the book by Kidder that has always resonated with me is House—a story about the seemingly ordinary process of building a house on a pasture just outside of Amherst, Massachusetts.
That I’m drawn to a story like this is not surprising, when you consider the first line of our Computer Networks book that I put to paper: “Suppose you want to build a computer network…” Whether it's about a computer, a network, or a house, Kidder had me at “building”. And House delivers with a wealth of detail about that process, from the art of putting together a bid for the job to trying to shave costs by picking through a stack of #2 pine boards for a handful without too many knots, and everything in between. It’s a meaty and satisfying end-to-end story.
But that’s not what has stuck with me over the years since I first read the book. For me, the compelling feature of the story is the tension between the three principal stakeholders: the architect, the lead carpenter, and the owners who pay to have the house built. The parallels to my professional experience building computing systems are unmistakable, with the system architect, the engineering team, and the customer (or the product line manager serving as a proxy for the end customer) reading from an eerily similar script. It’s easy to believe that our high-tech challenges are unique, but they are not. Whether you are building a house, a new computer, or a network, you are part of a human endeavor, and in the case of House, Kidder makes the story about the people.
The book describes the conflicts that are bound to arise in such a collaboration, many of which will sound familiar—the architect having to translate a vague wish-list into a feasible blueprint, or the builder having to put a price tag on it—but one of my favorite exchanges happens midway through the process, with distinct overtones of feature creep:
Jonathan [the owner] stands in the driveway, looking up at the house. “Enough is enough. It has a taste of a Greek temple. Fine. But it’s not a Greek temple, and we’re not Greeks.” He and Judith have resolved to put red shingles on their roof. “That gives it a little color, a little fun, in what could be a pretentious house,” says Jonathan. But New Englanders, Jim [the builder] learns to his slight surprise, have not taken to red shingles. No one has them in stock.
But it’s the tussle between the architect and the builder that keeps bubbling to the top, or maybe it seems that way because it’s the one that is most familiar to me (as someone who has both architected computer systems and worked on construction sites with power tools and a tool belt). There is plenty of finger pointing, but also mutual admiration and respect. An example of conversation that Kidder excels at capturing involves Jim:
Chatting in his kitchen with Sandy and a friend one day, Jim said “You know what? I haven’t ever built a house that I really like.”
“You should be an architect yourself,” the friend told Jim. Sandy agreed. She knew Jim had the ability and the temperament.
Jim’s cheeks flushed. Turning half away, he said, “I can’t do it. I can’t conceive the grace of line, starting from nothing.”
The architect may be the one able to “conceive the grace of line” but it’s the person wielding the hammer who more often than not has the last word, as I once learned when discussing a feature we were trying to support in a software product for which I was the lead architect.
Engineer: I’m going to support that feature by doing x, y, and z.
Me: You can’t do that. It violates every tenet of the design.
Engineer: Sure I can. I just have to code it.
That’s one lesson that seems to hold across domains, although houses suffer a different kind of technical debt than computer systems. Another is that projects are successful when there is a well-functioning team, with engineers who value the architect’s vision, and an architect who appreciates the practical issues that the engineers face. (Spoiler Alert: The house does get built and you can find it on Zillow with only a little bit of effort.)
There are many other “big picture” takeaways that make House well worth the investment of your time, plus Kidder does a great job weaving related tidbits throughout the story. One in particular jumped out at me because of the connection it makes to the book-writing endeavor Bruce and I have undertaken:
Jim [the lead carpenter] explained a number of technical details to Bill [the architect], such as the usual height of cabinets on kitchen walls. A few hundred years before, in England, this same species of information would have fallen into the category of “secrets and mysteries of the trade.” Some historians think that the publishing of books that revealed those secrets partly accounted for the decline of apprenticeship and guild systems in carpentry and opened the way for the rise of professional architects.
It turns out I’m not a big fan of “secrets and mysteries of the trade”, and that has a lot to do with why I’ve made a career of teaching and writing about whatever it is that I happen to discover (or figure out how to build). In fact, much of what we try to do at Systems Approach is to re-capture the excitement we felt when we first understood a new technology and to pass that excitement onto our readers.
Another fun book on the tension between stakeholders in a building project is Michael Pollan’s A Place of My Own (which was recommended by our fellow textbook author Jim Kurose). Also we enjoyed The Walls Around Us by David Owen. In case you missed it, we’ve joined the exodus to Mastodon: follow us at @SystemsAppr@discuss.systems. And here is a good place to learn about the architecture of Mastodon. Finally, this class syllabus on "Calling Bullshit" has more than enough good reading to keep you going over the holidays. Speaking of which, our next newsletter will appear on January 9 as we take our own holiday break.