Rule zero: break any of these rules sooner than do anything outright nonsensical
In his essay Politics and the English Language, George Orwell proposed several rules for writing clearly: avoid dead metaphors, cut out unnecessary words, use the active rather than the passive tense and so on.
I think that the most important of these was Rule Six: ‘Break any of these rules sooner than say anything outright barbarous.’
In fact, I think that this rule is so important that those of us in the technology architecture profession ought to promote a modified version of it to Rule Zero, and let it stand at the head of any list of rules: ‘Break any of these rules rather than do anything outright nonsensical.’
Whatever we call them - principles, guidelines, patterns, policies or standards - rules are an essential part of the technology architect’s toolkit. Sometimes we regret that we need rules, and wish that everybody was smart enough, well informed enough, or sufficiently aligned to our strategies that they would always do what we want, even if we are not in the room. Failing that, we wish that everybody would just let us make all of the decisions. But, given that we can’t make all of the decisions all of the time, and not everybody will make the decisions we want them to make when left on their own, we fall back on rules. We need something that will guide people when we are not around (and which we can use in our dreaded governance processes).
The problem with rules, though, is that people follow them.
We like to complain about rules, and popular culture glamourises rule breaking rather than rule making or rule following. But few of us are actually rebellious rule breakers in real life: we like to know where our boundaries are, and we like to know what we are supposed to be doing and how we are supposed to be doing it. We like to know what the rules are. This might not be glamorous or exciting, but it isn’t usually a problem - until we reach the point where the rules stop making sense.
Consider another literary example. In his book The Periodic Table, in the short story Chromium, Primo Levi, described how he, as a young industrial chemist in a paint factory, was given the problem of what to do with a particular batch of yellow (chromium based) paint which kept setting into jelly. He solved the problem by adding a chemical which, while mildly harmful to the paint, kept it in liquid form. He set the rule to keep on adding the chemical, and when on to his next job.
Some years later, he returned to the factory to find that, even though the formula for this type of paint had changed completely, the workers were still dutifully adding the extra chemical, which was still harmful, but otherwise completely useless. They were following the rule.
Any technology architect who has worked with the same company for some time, or who visits a company regularly on assignment, has probably had a similar experience. You see a rule you wrote, which made sense at the time, being applied in a context which has changed completely, and where it no longer makes sense.
It is no use shouting,’That’s not what I meant!’ It is no use lamenting human folly.
Let us simply admit that everyone (including us) sometimes follows rules which don’t make sense, simply because they are the rules.
And let us give ourselves permission to be thoughtful, to apply common sense and good judgement, by writing Architecture Rule Zero at the top of every list of rules: Break any of these rules rather than do anything outright nonsensical.
As Primo Levi says, at the very beginning of Chromium: ‘The entrée was fish, but the wine was red. Versino, head of maintenance, said that it was all a lot of nonsense, provided the wine and fish were good; he was certain that the majority of those who upheld the orthodox view could not, blindfolded, have distinguished a glass of white wine from a glass of red.’