Jan 312013
 
Look! It's paired programming!

Look! It’s paired programming! (Photo credit: Wikipedia)

One of the earlier moves most organizations perform to become more agile is to form teams, usually of the cross-functional and self-organizing variety. As the Elder God Scrum awakens from its slumber and draws more cultists into its tentacled maw, this has become such a common feature of agility that it’s hard to imagine any kind of serious agile effort without them. But are they actually necessary?

I’ve thought about this question a lot the past few days, and my current answer is: they shouldn’t be.

Self-organized, cross-functional teams are structures that address certain issues that dampen agility in an organization – issues like silos, communication, project visibility, and the granddaddy of work dysfunctions: too much work in progress.

Many organizations suffer terribly from these afflictions, and teams are a way to begin to reduce those issues. If you give a project to a team and they have an agile mindset, then they will swarm around a few issues at a time rather than break off and do different things, and this key shift in workflow cures a lot of the ills listed above. If I have a team with the same backlog, same priorities, same resources, and we are committed to delivering value as quickly as possible, then we will pour as much effort as we can into the most important thing, which requires us to collaborate regularly and give everyone visibility into everyone else’s work. The common purpose, shared knowledge, and self-organized tactical workflow will produce greater speed and quality, especially as the team learns to work together.

In that sense, teams may be necessary in the same sense that surgery to remove a steel beam from your head may be necessary – you have a critical condition, and it’s hard to see how to get from Point A to Point B without addressing it in a specific and immediate way.

However, we need to keep in mind that teams are a means to an end. Ideally, an organization functions as one team – every facet is strategically aligned, working on the most important thing, limiting their work in progress, making their work and information visible, and doing the activities necessary to breed continuous self-improvement. In this scenario, “team” would just be an arbitrary designation to refer to a number of people very closely related in delivering something, sort of like “project” would be an arbitrary designation to group related items of value to deliver. The entire organization would be a box where requests for value would come in and actualized value would go out, focused on a united, rapid, high-quality value delivery flow.

As awesome as that sounds, it is incalculably distant from where most organizations are at, and trying to drop them directly into that state would probably kill them.

So, yes, form teams and use them. I’ll certainly continue to do so. But recognize that they are tools to enable principles and reach a goal; they aren’t ends unto themselves. I’d argue that, in the higher planes of agility, an organization would have no formal teams at all.

Enhanced by Zemanta

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)