whoNeedsArchitect - Short Article regarding Software...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
2 IEEE SOFTWARE Published by the IEEE Computer Society 0740-7459/03/$17.00 © 2003 IEEE W andering down our corridor a while ago, I saw my colleague Dave Rice in a particularly grumpy mood. My brief question caused a violent statement, “We shouldn’t interview anyone who has ‘architect’ on his resume.” At first blush, this was an odd turn of phrase, because we usually introduce Dave as one of our leading architects. The reason for his title schizo- phrenia is the fact that, even by our industry’s standards, “architect” and “architecture” are terribly overloaded words. For many, the term “software architect” fits per- fectly with the smug controlling im- age at the end of Matrix Reloaded . Yet even in firms that have the greatest contempt for that image, there’s a vital role for the technical leadership that an architect such as Dave plays. What is architecture? When I was fretting over the title for Pat- terns of Enterprise Application Architecture (Addison-Wesley, 2002), everyone who re- viewed it agreed that “architecture” belonged in the title. Yet we all felt uncomfortable defin- ing the word. Because it was my book, I felt compelled to take a stab at defining it. My first move was to avoid fuzziness by just letting my cynicism hang right out. In a sense, I define architecture as a word we use when we want to talk about design but want to puff it up to make it sound important. (Yes, you can imagine a similar phenomenon for ar- chitect.) However, as so often occurs, inside the blighted cynicism is a pinch of truth. Un- derstanding came to me after reading a posting from Ralph Johnson on the Extreme Program- ming mailing list. It’s so good I’ll quote it all. A previous posting said The RUP, working off the IEEE definition, defines architecture as “the highest level concept of a sys- tem in its environment. The architecture of a soft- ware system (at a given point in time) is its orga- nization or structure of significant components interacting through interfaces, those components being composed of successively smaller compo- nents and interfaces.” Johnson responded: I was a reviewer on the IEEE standard that used that, and I argued uselessly that this was clearly a completely bogus definition. There is no high- est level concept of a system. Customers have a different concept than developers. Customers do not care at all about the structure of significant components. So, perhaps an architecture is the highest level concept that developers have of a system in its environment. Let’s forget the devel- opers who just understand their little piece. Ar- chitecture is the highest level concept of the ex- pert developers. What makes a component significant? It is significant because the expert
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 08/26/2009 for the course CS cosc 6353 taught by Professor Venkat during the Fall '09 term at University of Houston.

Page1 / 3

whoNeedsArchitect - Short Article regarding Software...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online