5 of 7
replaced Spivak pronouns with singular "they", per modern conventions.

Architects, of course, but perhaps not the traditional kinds of architects.

I don't mean the lead-surgeon kind of architect who does all the thinking and then leaves the monkeys to do all the typing. I mean an experienced leader programmer who understands the cost/benefit tradeoffs of difficult-to-reverse decisions and who advises teams on what to do.

Effective architects are hard to find, but it can be a fantastic position, and so you probably have at least one experienced, thoughtful programmer who could do it well. Such a person needs to

  • Make good architecture decisions, of course, but also
  • Know how to give advice effectively, so that others feel comfortable taking it, and also
  • Slowly delegate architecture decisions to the teams

This last point trips a lot of people up. When well-meaning agilists say things like "The team owns the architecture", they have that "right", but I find the advice almost completely meaningless in its application. If you trusted teams to take responsibility for their own architecture, then you wouldn't be asking the question in the first place, now would you?! I therefore assume that you ask the question because there is some concern either that

  • Nobody will take responsibility and we'll have a poor architecture, or
  • The wrong people will take responsibility and we'll have a poor architecture, or
  • Whoever takes responsibility will become a scapegoat and you're hoping to avoid that

If you need someone to take responsibility, then give it to whoever wants to accept it. Seriously. That person at least cares. Give that person the resources they need to do the job and help them when they need it. It probably doesn't matter how competent the person is, because if they care, then they'll learn what they need to learn.

If you worry that the wrong person is about the take responsibility, then I hope you know who "the right person" is, and will fight to install them as an architect. A book like The New Strategic Selling will help you learn the sales techniques to make that happen.

If you just need a scapegoat, then quietly nudge others to give the responsibility to whomever's career you'd most like to destroy or impair. At least be honest about it.

Getting back to an effective architect's work, they can think of their job as a management position, rather than merely a decision-making position. If they don't delegate at least the most routine decisions to the teams, then they will become a bottleneck and slow down the entire organisation. Adding more architects at the top does not make that go faster. Cultivating better architecture decisions from the ground up will. The delegation board technique will help your architect become more comfortable over time delegating more and more decisions to the teams as those teams earn trust by showing competence.

I think of a great architect as someone who helps me understand how to design my systems better, who will advise me patiently when I ask for it, and who will occasionally stop me from making a very poor decision. Such an architect acts like a leader in the truest sense of the word: someone that others voluntarily follow.

I know that was a lot.

References

Miller, The New Strategic Selling. This book includes a model for understanding why you failed to close a specific sale. I find this invaluable in understanding why coworkers won't do the obviously wonderful thing I'm suggesting.

Weinberg, Becoming a Technical Leader. This book helped me learn how to do the non-architect part of the effective architect's job.

Appelo, Delegation Boards and Delegation Poker. Don't underestimate how hard delegation is and how much we suck at it. Learn do it more effectively and more comfortably.