An Architect is an Architect, is it?
Arno Nel recently posted a question about what is Architecture on his blog and some people disagree with what he suggested it was (to be fair to Arno, he asked the question of what people thought about the questions he asked, but I don’t believe he thinks this way).
I came across this fairly elegant definition for architecture that tend I agree with and try to emulate in my work:
"Architecture is the use of abstractions and models to simplify and communicate complex structures and processes to improve understanding and forecasting."
It’s simple and gets right to the point covering the various aspects of solution or software architecture (at least IMHO).
Robert Bogue followed up with his own views and the general result was he disagreed with a lot of points Arno made.
I tend to agree with most of what Robert said where he disagreed with Arno's. We do care about methodologies (maybe not the extent a developer does, but we need to know about the process in order to facilitate communication about and around it). I think Robert hit home with his last point about Architecture being about translating the business problem into IT solutions, not translating IT into Business as Arno stated. I would rephrase this to be communicating business needs using IT solutions, but maybe that’s just mincing words.
Architecture is about communication and collaboration. I think communication is the key cornerstone in what makes a good architect. Yes, you can draw pretty UML pictures and talk about the fantastic abstractions you did as a child but can you really communicate a business model to an IT guy so much so that he/she can go away and build something that meets the needs of the client? That’s the secret to success. You can build a system that, technically is architecturally perfect, but if it’s not what the customer wanted or explained to you they were looking for, you might as well have built them a pole digger (or insert witty but useless item of your own liking here).
I used to be a building architect and now I'm a software architect. Is there a difference? From one perspective, lots. From others, not so much. I could probably blog for hours on that subject. Maybe a cup of coffee or a beer next time I’m out at a geek fest (hook up with me at TechEd for example). Now that would be an interesting discussion!