I’ve been dabbling with the idea of swarming and how it might relate to team organization in software development for a couple of years now. There are some great resources out there that provide tantalizing hints toward how we might create self organizing teams that are capable of “swarming” and solving problems rapidly. After a while I realized that I wanted to find a way to create one of these self-organizing teams using principles similar to those we find in nature. What would you do? How would you organize a team that you wanted to behave more like a swarm than a traditional top down entity?
Lately I’ve realized I may have gotten it all backwards. It may be impossible for one person to organize a self-organizing team. On the face of it, it’s an obvious contradiction in terms. You really can’t tell the team how to act and then say, “self organize guys!” (as we so often do in Scrum). So is it even possible to “make” a self organizing team? I think that a really good self organizing team is a much more subtle and elusive beast than that.
Maybe we need to take Peter Gloore’s approach and instead of trying create self-organizing teams, we should try to discover self organizing teams that already exist within our organizations?