Realistically, there needs to be an exceptions process. There are lots of reasons for not adhering to a standard. For instance, if a team has a dozen developers coding C# applications and it's proposing to maintain a .Net application that already exposes it's core functionality through web services, it makes sense to let them do it even if the corporate standard is J2EE (At least for the short term). In the real world, this kind of compromise is necessary. For some people though, this kind of compromise just can't be justified.
The archetypal non-compromising architect is Howard Roark from Ayn Rand's novel The Fountainhead
In the book, Howard is repeatedly excluded from opportunities an even works as a labourer in a quarry at one point because he refuses to make compromises. Despite all of this, he eventually becomes successful. It's an inspiring story, and the idealism of is glorified. It makes this kind of decisiveness appealing.
Pragmatically though, skill sets, licenses, and preferences, can sometimes form a cogent argument for making compromises. Because of this, I think it's in a technical architect's rational self-interest to occasionally make exceptions.
Designing and enforcing standards is part of the role of a tech arch? I'm not so sure - This portfolio goes to our CIO.
ReplyDeletecool article - I've been through that too. You should do one on the same theme about designs.
ReplyDeleteI am truly sorry that you missed the main point of that novel. Roark was not pragmatic, he was objective. He did not make exceptions because it would degrade the quality of his buildings, making them a product not worth selling for him. It is not glorified, it is simply a man who had morals and values and stuck by them. Why this seems so strange in todays world is a question with a frightening answer.
ReplyDelete