When one speaks of architecture one gets some very beautiful images of great physical structures from all over the world. This is good because it allows us to relate the word "Architecture" with real life experiences. Because of the increasing complexity of software development projects in the last decade, and concurrently the number of well published failures, architecture has become much more a critical issue with corporations.
Up until 1995, architecture was not a very hot topic in software development - the norm was more to start building and see how it all fell together. Back to the lovely buildings and consider this in the context of physical buildings. Imagine building the Sears tower in Chicago (111 floors) by just showing up with a construction crew of 200 men, 30 cement trucks, 2 cranes, 10 dump trucks and so on - Nino, Guccepi and all his friends smile with giddy happiness as money flows like a river into their pockets. This unstructured process was how the software at some companies was built in the past.
However after "dropping" 10 millions of dollars at the "Software" casino, companies looked for better ways to spend their money. Software architecture was waiting for the opportunity to contribute and has taken the challenge head on. One of the question is:
What is Software Architecture?
Arguably, there are several definitions that are equally correct in the description of Software Architecture and one of them is: