Matt Heusser | 1 Nov 2007 13:05
Picon
Gravatar

Agile Architecture - Follow-Up

I've been thinking more on that whole Agile Architecture thing ... here's
some ramblings on the subject to spark debate.

 am a bit frazzled by the term "Software Architect." I don't think it means
anything. <http://www.ddj.com/architect/184407745>

Or, perhaps, to put it another way: Perhaps it means everything?

The confusion of the word reminds me of the confusion over the term testing,
which reminds me of Brett Pettichord's Four Schools of Software Testing.
<http://www.io.com/%7Ewazmo/papers/four_schools.pdf>

It occurs to me that there are at least five distinct schools of computer
architecture:

CPU Architecture: Highly specialized and different; slim to never confused
with the items below
A CPU Architect looks a lot like: An electrical engineer
Exemplar: Multi-Core CPU's

Systems Architecture: Interested in the technology stack used by the
business – for example – HP/UX servers running Oracle as DB servers, linux
web servers, desktop PC's with windows
A systems architect looks a lot like: A director of IT services
Exemplar: Service Level Agreements, Redundancy, Failover, Backups

Software Architecture: Interested in implementing various strategies to
solve problems, such as Session, State, Domain Logic, Polymorphism, MVC, and
so on
A Software Architect looks like: A highly-abstracted programmer
Exemplar: UML Diagrams

Organization Architect: Interested in how to seamlessly integrate people,
processes and tools while speaking a common business language
A Organization Architect Looks a Lot Like: A professional design-reviewer
Exemplar: The Zachman Framework, "Enterprise" Architecture, The City
Planning Analogy

Consulting Architecture: Interested in helping the customer and technical
staff reach a shared understanding of the work, breaking the work up into
manageable chunks, helping the customer understand the solution, and
sticking around to see the solution implemented.
A Consulting Architect looks a lot like: What we used to call a 'systems
analyst' in the 1980's
Exemplar: Story-Cards and a release schedule

This is really just a conceptual framework.  Thus, when I get into arguments
about the meanings of the word "Architecture", I can say "Oh, wait, you're
coming from the consulting school" and do translation.  (This can explain a
lot of the conflicts I've gotten in where, for example, I realized a
consulting architect wasn't really technical or an organizational architect
stood up and said "This isn't really an architecture question" and stepped
out while we were planning the systems infrastructure.)

But what do you think?

--

-- 
Matthew Heusser,
Blog: http://xndev.blogspot.com

"Objectivity cannot be equated with mental blankness; rather, objectivity
resides in recognizing your preferences and then subjecting them to
especially harsh scrutiny — and also in a willingness to revise or abandon
your theories when the tests fail (as they usually do)."
   - Stephen Jay Gould

[Non-text portions of this message have been removed]

To Post a message, send it to:   extremeprogramming <at> eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe <at> eGroups.com

ad-free courtesy of objectmentor.com 

Gmane