April 25, 2006
Agile Architect
Is there such a thing as "Agile Architect"? Isn't agility all about not planning ahead, and just writing code and refactoring?
Let's start off by looking at the Agile Manifesto :
"Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more"
Agile zealots tend to miss this point, but it is should be noted that planning, tools, processes, documentation, and the like are not banned--they are just not favored vs. their counter options.
So Agile Architects should be part of the development team, working closely with developers and customers. Agile Architects will strive to have any assumptions they make validated in code as quickly as possible. Agile Architects should strive to have flexibility (the ability to respond to changes) as a top-ranked quality attribute of the system. Agile Architecture is communicated by code examples and proof of concepts, whiteboards and meetings, rather than by formal documents. Agile Architecture documents and models should be "barely good enough" (see Scott Ambler's essay).
If you want to read more about Agile Architecture, have a look at Scott Ambler's site mentioned above or Andrew Johnston's site.
One interesting/controversial point is: Should architects code? I'll talk about my opinion on the next post.
Posted by Arnon Rotem-Gal-Oz at 12:25 AM Permalink
|