24 March 2009

Architects & Agile Like Zen Monks & Cell Phones?

I declare a prejudice traceable to my insecurities – I don’t favor organizational titles; in particular, the moniker Software Architect. When I read or hear Software Architect, I snicker.
“Are you too special to roll up your sleeves and get your hands dirty?” I sat in on a talk by David Hussman that was followed by a panel discussion. The talk was centered on one of my interests, evolutionary design (see my musings on evolutionary design and agile ennui).

David’s excellent talk was given in the context of agile and directed toward a large organization transitioning from waterfall to agile. The subsequent panel discussion consisted of 3 proclaimed Architects and 1 proclaimed Developer.

I was taken aback when evolutionary design was followed by a panel Q & A dominated by Architects.
Is Architect an anachronism in agile development like a Zen monk on an iPhone?
I asked the panel “Are Architects still relevant in agile development?” and “If so, what is the role of Architect in agile development?”

What I is learned is
Architects DO have a role in agile development.

The Role of Architects in Agile

Systems Integration - One compelling role is the need for someone to stitch together the over-arching quilt; particularly in organizations with distributed agile projects that have cross-project, cross-functional, and cross-departmental considerations. In that scenario, architects would track and plan - to use an old term - "systems integration".

Removing Technical Hurdles - It was pointed out that an architect might spike on upcoming technical challenges or potential blocks. I wondered why a team developer wouldn't do the spike, but it's a plausible role for an architect particularly if the spike has cross-project or cross-functional considerations.

Seed & Feed Backlog - The answer I liked the most was from an architect who said he believes his role in agile is to work with the business on seeding and feeding the backlog. For example, he might suggest the infrastructure that would need to be built to accommodate upcoming stories. I don't know how often architects work on backlog seeding, but I like the idea. Cultivating the backlog is one of the best ways to motivate and guide an agile team to commit to that proverbial drive toward the final destination.

Viewed in this light, an Architect is not gazing down on us from such a lofty perch.

Of course I would prefer more of an "elbow-grease" moniker for them like Systems Integrator, but I can live with Architect as long as I'm convinced they're rolling up their sleeves with the rest of us lunch-bucket developers.