Recently, I've listened to a podcast episode where a couple of very well known software architects were supposed to talk about the software architecture. The audience could also ask questions, and everybody was sure this all will be about layers, components, interfaces etc.
After the first half hour, the host has publicly noticed that no single word about technology has been spoken yet. All those guys were talking about the teams, the people, how to sell architecture, how to win developers so they would find your technical stuff cool or whatever.
Being pointed at this problem, they have tried to turn back to the original idea, but it didn't seem to matter at all since the all just wanted to speak about the social, the soft aspects of architectures. Even after the audience asked some technical questions they just kept on returning to this non-technical social stuff.
And so, throughout the whole podcast they have just talked about what they have called "architecturing" and not about the architecture. Or almost not at all about it. But why that?
Well, the answer is very simple: you can read a book about technical aspects of the architecture, but noone will teach you its soft aspects (actually, almost noone - in my own book I try to approach exactly that - but I don't advertise it here :) ). Technical gurus run into the social bog first time they notice that even when their architecture is techically brilliant nobody wants it because people just want to do another platform or just want to keep their jobs without a major change etc.
Does technology help us understand all these factors? Never! What does? Experience, listening to other people, learning from people and companies.
Technology is fun, but not more than that. What really matters is the ability to use the right technology in the right place at the right time even if it's completely uncool or just sucks. If this technology (or as its surrounding term - the architecture - the way the technology is used to provide a winning solution) satisfies the maximum of all social aspects and needs of all stakeholders who are in the boat (and hey, this can be so many), it's a good technology or architecture.
If it doesn't, it's nothing else but a useless toy. And how to build them, you can read in a couple of cool books.
No comments:
Post a Comment