Wednesday, July 14, 2010

Common Sense Architecture

@EnterprisingA offers a thought for the day: "Good architecture is common sense. Bad architecture is complete nonsense. No architecture is somewhere in between." (retweeted by @tetradian).

I object to this statement on several counts.

1. It makes architecture seem like an exercise in pure reason and sense-making - as if you could do architecture simply by thinking about it. (Intelligence and skill may be necessary but are not sufficient.)

2. It makes architecture seem redundant. Many architects spend most of their energies trying to find counter-arguments to the "common sense" of developers, project managers and users. Surely the very reason we need architects (and other professionals) is because common sense sometimes isn't good enough. As @malcolmlowe replies to Jon, "one person's common sense is another person's non-common sense!"

3. There is a thin line between "common sense" and popular preconception. (See my post on the Power of Preconceptions.)

4. Jon's statement only seems to allow for a single cause/explanation of architectural error - a sense-making failure. But architects often arrive at judgements that make sense at the time, based on false information or incorrect assumptions or poor doctrine.

5. Architectures evolve. A good architecture can degrade over time, as many people make short-term compromises. For that matter, a bad architecture can be improved over time (but don't count on it).

6. There are different notions of quality. As @chrisdpotts points out, the difference between 'good' and 'bad' architecture might mean (a) the structure collapses, or (b in the eye of the beholder or (c) the structure doesn't achieve its intended performance.

7. Judgements of quality are not just a question of perspective (who is the beholder?) but timescale. A bad structure may collapse immediately, or it may collapse in an exceptionally high wind: a good architecture is one that has not yet collapsed. And if the "intended performance" of an architecture has to do with long-term architectural properties such as flexibility and lifetime cost, how many years must we wait before we can evaluate the success of an architecture in delivering these objectives?


Tom G said...

All very good points, Richard - thoroughly agree with all of them.

Jon (@EnterprisingA) does come up with such good aphorisms, though... and you'd have to admit, I think, that you wouldn't have written this very good piece if you didn't have his strawman to write against? :-)

Best wishes and all that - and do keep in touch!

Richard Veryard said...

Thanks Tom. I agree that the purpose of a "thought for the day" is to stimulate thought, not substitute for it. So thanks Jon as well.

Paul said...

Also, adding to Richard´s input, the statement "Good architecture is common sense. Bad architecture is complete nonsense. No architecture is somewhere in between." assumes the possibility of ´no architecture´, which may well be the ´mother of all misconceptions about architecture´. Everything human-made or -organized has architecture! The only true high level distinction one can make between architectures is #1 the explicit, conscious and deliberate architecture versus #2 the implicit, unconscious and accidental architecture. For the latter no architect is needed (duh) and in most cases these architectures will eventually result in a cry for ... an architect, whose primary task will then be to turn the type #2 architecture into a type #1 architecture.