Is there a role for architects in Agile Software development? Should they sit astride the top of the pyramid? No. Then where do they belong? In my post “Agile Architect – An Oxymoron” I railed against the need for an architect in Agile software development. My concern being that the power of the title gives developers an excuse to ignore architecture. Now a couple of months later I would like to invent a new position: Architectural Coordinator.
Unlike the typical Architect the Coordinator owns little or nothing. Instead their responsibility is to coordinate the efforts of various teams. They listen to the problems and roadblocks that teams encounter pulling out common threads across teams. In addition they make sure teams coordinate their actions across common boundaries.
Together we all make great products – but unlike the traditional view of the architect sitting astride the development pyramid the coordinator stands beside the teams helping them to get places without telling them what to do.
Good post. I agree to the overall idea that you are expressing, but I still see a place for the role in agile development. By title, I am an Architect – but in reality I’m a glorified programmer with more broad experience than most people on the teams I am on. I definitely don’t want to exude superiority over the members of my teams or force sub-optimal designs on them just because ‘I said so’. I like to include everyone’s input into the high level design decisions that need to be made, such as what technology(ies) to use for integrating with legacy systems.
I really like the point you are making with the pyramid and I totally agree that the Architect should be more beside it then on top of it. But, in certain circumstances, there may be differences among one or more of the team members about a particular design choice. If the team cannot come to a unanimous decision on which path to take someone has to have the final say to specify one of the design choices as the _most_ correct one. As the arbiter (or otherwise named designated final authority by whomever is paying the bill) of the team, the architect is required to make this choice and communicate it to the team.
To me, a big part of this issue is simply with the semantics of the title ‘Architect’. Hence my use of ‘arbiter’ above, and your use of ‘coordinator’.
What do you think?
Architects in agile development
I read a good blog post that basically tries to re-define the common Architect role for agile development methodologies. I do agree with his premise, but have a few extra qualifiers I would throw into his statements.
The agile softwar…