Skip to content

Designed as Designer

Have you ever ridden a horse? When you drive the car, the process goes something like this:

  1. Decide where you want to go.
  2. Aim the car in that direction.
  3. Get there.

It’s different when you ride a horse. In that case the process is more like:

  1. Decide where you want to go.
  2. Communicate your intention to the horse.
  3. Arrive at some hybrid of where you want to go and where the horse wants to go.
  4. Return to step (1). Repeat.

Now, which of those two would you find more analogous to software architecture? Does that sound like a silly question? The reason that I ask is that I read a paper last night which argues in a persuasive but decidedly unconventional manner that the things you design have, for lack of a better word, intention. In other words, building a cathedral, or a software application is more like riding a horse than driving a car.

The paper is called Designed as Designer, by Richard P. Gabriel. As technical papers go, this one is unusual to say the least. It was written as a response to an address by Fred Brooks at OOPSLA 2007, during his keynote. In the address, Brooks stated:

If we look back then at the 19th century and the things that happened—the cartwright and the textile machinery, Stephenson (the train), Brunel’s bridges and railway, Edison, Ford, the Wright brothers, etc.—these were very largely the designs of single designers or, in the case of the Wright brothers, pairs.

Gabriel disputes this idea, and chooses an unexpected way of making his case. Gabriel is a published author both in the fields of computer science and writing/poetry. The paper draws as much from his experience in the latter field as the former—there is considerably more poetry quoted in the paper than source code. He also manages to weave in, with some relevance, no less, baseball statistics.

The general outline of the paper is as follows: First, there is a running, fictional narrative about a child named Pippo who observes the construction of the cathedral of Firenze. Next, Gabriel addresses Brooks’s point directly. He discusses the relationship between poets T.S. Eliot and Ezra Pound in the evolution of Eliot’s masterpiece The Waste Land. The middle, and longest, section of the paper is an explanation and example of a theory of poetry he has developed based around an almost algorithmic approach to classifying a given text as either poetry or ordinary writing. Contrasting an early version of a published column with a later revision to same, he asserts that the structure of the earlier version leads the poet into the later revision. I should add here that even though I really like poetry, I find his analysis a bit academic for my taste. Returning to the Cathedral of Firenze, Gabriel shows that many people were involved in its design and construction, and that the Cathedral form itself had a bigger impact on the final design than the architect. Then he uses statistical analysis of the career of Roger Maris to show that luck, as much as skill, played a role in Maris’s exceeding Babe Ruth’s home run record.

The final section of the paper includes, almost shockingly at this point, discussion of computer science and one small example of (Lisp) source code. He relates the story of how Gerry Sussman and Guy Steele discovered how two mechanisms they were studying turned out to be exactly the same thing by implementing both of them separately and noticing later that the source code was identical.

If all this sounds a bit, well, crazy, it isn’t. The paper was presented at OOPSLA 2008. I’m not above a bit of schadenfreude, but this is definitely a "laugh with him" rather than "laugh at him" paper. If you have ever had the experience of designing a system, and then uncovering necessary changes in the system when you try to use your design, then you have some idea of what he’s getting at.

I am also reminded, more than a little bit, of Michael Pollan’s book, The Botany of Desire, which calls the evolution of the humans and plants "co-evolutionary," and questions who has domesticated whom. Again, we don’t tend to think of plants as having "intention," but maybe the question should be, "just what is intention, really?" So all in all, it’s a fascinating read.

That said, it seems to me that, to some extent, Brooks and Gabriel may be talking past each other. Surely, Brooks can’t be under the delusion that the Wright brothers invented the airplane in a vacuum? Surely, Gabriel wouldn’t presume that he is? Much of Brooks’s writing focuses on organizational support for creativity. Indeed, Brooks, to me, seems almost to take creativity as a given, more so than examining what it is and what makes it tick. Gabriel seems to be on the other side of this coin, examining the nature of creativity, rather than how to make it work in a large organization.

Both points of view are worth reading, I think.

{ 1 } Comments

  1. Ken Knopfli | April 3, 2009 at 4:14 am | Permalink

    We have a cathedral in our town. It’s huge, irregular and costs a fortune to maintain.

    Just like many software projects. The customer doesn’t understand the details of his own business and the project leads have never built a cathedral before.

    The small power team that knows what it is doing is infinitely more desirable.

Post a Comment

Your email is never published nor shared. Required fields are marked *

Bad Behavior has blocked 713 access attempts in the last 7 days.

Close