Edward Garson has been passionate about technology since learning to program in Logo on the Apple II. He currently works as a software architect in the Center for Agile Practices at Zuhlke Engineering, a leading Swiss-based technology firm.
I FEEL THERE IS A CERTAIN IRONY in trying to impart something about architectural ideals, when the very premise I wish to begin with is that effectively there are no ideals. If this is indeed the case, then surely there is nothing to write; I am a contradiction and by doing this I run the risk of the universe imploding or something like that.
But alas, ceci n'est pas une pipe.
One of the most valuable lessons that I have learned as a software architect is that context is king, and simplicity its humble servant. What this means in practical terms is that context is the only force that trumps simplicity when you're making architectural decisions.
When I say context, I refer not only to high-level, immediate forces such as key business drivers, but also to elements in the periphery, such as emerging technologies and thought leadership on diverse topics. Indeed, good architects keep track of several fast-moving targets.
What constitutes good architecture? It is the product of decisions made within a context usually tainted with multiple competing priorities. Those competing priorities mean that sometimes the most ...