Wednesday, May 23, 2007

Agile architect

What is the place of an Architect in the agile development process? The idea of design, evolving from the development seemingly proclaims the architect position obsolete. Right - group of smart and seasoned developers definitely should come up with an equally good design.

The position of an architect is often misunderstood in organizations: very often they are expected to produce UML diagrams and command developer herds, coding to the specs. Some architects do not code at all but just sit in the white castle up in the sky and craft divine designs.

So far those seditious thoughts seemed to be about right but smart people from XP Toronto user group gave me a better idea: an architect is The One who is looking out for the technical debt!

Developers, pumping their velocity points for the current iteration, easily can lose the horizon. Imagine some code which could use a 5-day refactoring. For a two-week iteration it is a tough decision - it won't add velocity points and it will not bring immediate business value. So naturally, developers and project managers can not justify this refactoring from their point of views. And they shouldn't, having the Architect onboard! Then the team has a perfect balance of powers: QA vs. BA take care of usability branch and developers vs. architect - technical branch.

No comments:


© 2008-2013 Michael Goldobin. All rights reserved