As a longtime architecture nerd who's loved Gothic cathedrals ever since and before my parents read me Cathedral as a child, I just ordered myself a new hardback copy and it's sitting on my desk next to me. :)
I'm not sure of it's historical accuracy, or if the author took some liberties with the subject at hand, but one of my favorite works of fiction on the "building of a cathedral" is Ken Follett's "The Pillars of the Earth". If you haven't read it, you may be as surprised by it as I was...
Wish there was less 'adult' content in it, I'd recommend it more widely. As it is, it's one of the few books I've thrown out, and I recommend David Macaulay's Cathedral instead. :/
So the key points of the essay -- cathedrals are accretions of effort over time, no cathedral is ever finished -- do they apply to software? And do they apply more to cathedral-structured projects than to bazaar-structured projects? I'm perhaps more drawn to this metaphor than I should be; I think I'm still trying to make up my mind about whether it's really useful, and to what extent.
> cathedrals are accretions of effort over time, no cathedral is ever finished
The basic premise of "How Buildings Learn" by Stewart Brand, co-founder of The WELL, is that the better buildings are those that can and may adapt to different purposes over their life span. Like they say, 'this home has good bones' if the house has good infrastructure and structure. This can also be obviously applied to software construction.
A friend of mine is a very meticulous person once they set their mind on something. So when they were buying a house, they read a lot of books, talked to a lot of people and looked a lot of houses.
They had a fun aphorism (don't know how it translates):
There are two kinds of houses: "if" houses and "despite" houses.
An "if" house stay in shape if the roof doesn't leak. A "despite" house stays in shape despite the roof leaking every now and then.
This is because of different design philosophies. More modern chipboard or glass wool usually get destroyed if they get wet. Old fashioned wood can simply be dried (if it doesn't get moldy / rot). Plastic insulation (or plastic based paints) creates moisture traps. Structures don't dry and usually they just rot.
Everything works fine with chipboard, plastic and glass wool IF it never gets wet. This is usually about as far as people think. (Dealing with pointers or lots of global variables is safe if you never make any mistakes.) But the longer the life span of the house, the less likely that is to be true.
Interesting notion! It puts me in mind of Levittown. All houses followed an original standard design (or three), but if you go there today, no two are alike. Originally derided as the paragon of uniformity, each house in Levittown has grown and changed to suit its owners.
[Disclaimer: I edited and published the piece and own theprepared.org] I think the answer is "yes," at least to an extent. I think the big limitation is the degree to which software projects are mission-focused, and also the degree two which they span generations. The former does exist in certain places, but the latter (intergenerational development) is pretty hard to find.
https://www.amazon.com/Cathedral-Story-Construction-David-Ma...