So I said yesterday that I’m talking about architecture, not architects. However, today I am going to discuss the word architect and the dramatic misuse of the word I see pretty regularly. Or at least, I see now because Paul Preiss of IASA mentioned it when we were hanging out at TechEd.
“Architect” is a noun, not a verb.
Usually, when I hear the term “architect” used as a verb, it’s being used as a synonym for design. In fact, the term “architecture” is also often used as a synonym for design. For example, Arnon wrote this:
Architecture is design (but not all design is architecture)
[Arnon Rotem-Gal-Oz, What’s “Software Architecture”?]
Like Fowler’s description I talked about on Monday, I don’t like this one much either. Architecture isn’t just “good design” which is what Arnon’s description makes it sound like. This begins to get into the title inflation that Alan Cooper wrote about a few years ago. Speaking of Alan, here’s his definition of architect.
The panoply of software construction includes three vital roles: the programmer, the engineer, and the architect. The architect is responsible for determining who the user is, what he or she is trying to accomplish, and what behavior the software must exhibit to satisfy these human goals. The engineer’s responsibilities are comparable but focused on technology. A good engineer can and should ignore human issues, confident that the architect will cover the human side.
That definition of architecture (i.e. what Alan’s idea of an architect does) dovetails pretty nicely with mine. The architect and architecture is the link between the users (i.e. the business) and the software (i.e. IT). The only thing I would change is that as we get deeper into service orientation, interop and connected systems we have lots of process that don’t have direct user involvement. So the “human goals” Alan mentions may not be end user goals so much as business / organization goals. Either way, they certainly aren’t IT goals.
As Dave Welsh said and my dad pointed out in my comments, Business is from Mars, IT is from Venus. But that doesn’t mean they can’t get together. In fact, they have to get together. You show me a system with no business drivers or impact and I’ll show you a failed architecture.