Why the hell is it called software architecture.

Well, finally a sensible article into the mix. This article complains about the woes of software arechitecture. To this day, it seems that software architect is a title added to a developer who complained about not getting enough credit for their work. But there seems to be a high level view of a project achievable at a certain point. The person who has the overall view to see and understand how the puzzle works together.

I love the derogatory definition that is given on the article:

Architectus [..] is the person who makes all the important decisions. The architect does this because a single mind is needed to ensure a system’s conceptual integrity, and perhaps because the architect doesn’t think that the team members are sufficiently skilled to make those decisions. Often, such decisions must be made early on so that everyone else has a plan to follow. [1]
Well, darn. It turns out your developers are stupid, and need help from an architect to see outside their patio.

Not quite, what is interesting is the next definition.

This kind of architect must be very aware of what’s going on in the project, looking out for important issues and tackling them before they become a serious problem. When I see an architect like this, the most noticeable part of the work is the intense collaboration. In the morning, the architect programs with a developer, trying to harvest some common locking code. In the afternoon, the architect participates in a requirements session, helping explain to the requirements people the technical consequences of some of their ideas in nontechnical terms—such as development costs. [1]

Well, there you go. One of the most interesting things I learned, is when I got my forensics class. I got to listen to an expert of digital forensics. One of the most memorable times I got excited, is when he did accurate metaphors, of how technology works.

[1] “Who Needs an Architect?” (PDF) by Martin Fowler, published in IEEE Software, July, 2003. 

views