We’re Agile, we don’t need no stinkin’ architects!
It would seem that Agile principles are in direct conflict with a traditional software architect role — in an agile project, where the creation of working, tested code trumps everything else, nothing separates architecture from design and implementation. They are all wrapped up together in the practices we use to produce the code. Instead of traditional documents and diagrams, the architecture is going to be exposed through the software itself…
So what does an Architect do in an architecture-antagonistic TDD/Agile/XP shop?
Mark J. Balbes, PhD recently shared his experiences as an Agile Architect, and it was so compelling we just had to share.
Architecture Is a Frame of Mind
To Mark, architecture is a frame of mind. There is no room for an “ivory tower” architect that sits at a desk creating diagrams and making architectural rules for development teams to follow. Agile development favors person-to-person communication over written documentation. If you’re an agile architect, the best place to be is in the war room with the development team, working alongside them every day.
The architect’s role, then, is not to dictate to the team, but rather to guide, mentor and cajole the team in the right direction.