What is Architecture? Do you Care?
What does architecture mean to you? Do you care about architecture? If not, should you care?
Depending on what you do, the term architecture signifies different things. And the fact that it is used as a verb (i.e. to architect) and a noun (i.e. this architecture) complicates things.
For instance, my civil engineering friends talk about building architecture. They might also talk similarly about building design. Now, consider my friends who work in automobile engineering. I hear them talk a about automobile design. But I don't hear any talk about automobile architecture. Why? What makes these two engineering kind different? And finally, consider software engineering in which I can claim some expertise, at least more than I can in any other engineering domain. In software, we talk a lot about both architecture and design. We also talk about software construction. Most often there is no clear delineation between these. We seem to transcend between architecture and design and sometimes even construction.
So when you build a building, you architect it, design it and construct it. When you build a car, do you just design it and construct it. Does a car have architecture?
I have some views on this, but before taking on them here, I truly want to understand your take on this. What do you think? Do you architect? Do you design? Do you do both?

I consider architecture as being a more high-level concept than design. In my opinion, arhitecture is more related to physical tiers (e.g. including decisions about whether to use load-balanced webservers and replicated database servers) than dealing with logical layers and more low level design patterns.
I also tend to agree with Martin Fowler in his introduction to the book "Patterns of Enterprise Application Architecture" where he writes about architecture as, quote: "one of those impressive-sounding words, used primarily to indicate we're talking something that's important".
However, in my opinion, the quote above does not apply as much to architecture as it does apply to architects, i.e. those developers who love to put the title "Architect" in their email/forum signatures and the business cards.
There are quite a lot of "wannabe-a-software-development-guru" that try to exaggerate their competence by using an impressive "architect" title.
/ TomPosted by Tom on June 17, 2005 at 05:37 AM PDT #
Posted by russo on June 18, 2005 at 07:48 AM PDT #
In software and hardware computing development the use of the word "architecture" conveys to others the concept that what they are seeing is a blueprint for performing some activity, but that the actual implementation of this blueprint is up to the software or hardware engineers to whom it is entrusted.
As a slight aside, from my perspective as a software engineer having done some "architectural" design and implementation, I like to keep in mind the analogy with civil engineering architecture. That is: just because the 'architect" says that this is the way it will work doesn't necessarily mean that it can be built in the way specified. Just as builders work with architects to explain what will and won't work in creating a building, so software developers need to be involved with the software architects to discuss and decide on how a piece of software will actually be implemented.
Posted by Trevor Watson on June 21, 2005 at 02:10 AM PDT #
Posted by Ashish on June 23, 2005 at 05:53 AM PDT #
Posted by david on August 15, 2005 at 02:25 PM PDT #
Posted by Zhong Li on August 23, 2005 at 09:35 AM PDT #