Distributed Control
Agile software teams are units of benevolent anarchists. But how can a manager grow value out of anarchy? How can we make self-organization work, without allowing things to get out of control?
All around us (and inside us) complex systems self-organize successfully because control is never centralized. There is no master T cell that controls your immune system. There is no primary pacemaker cell that regulates your heartbeat, and there is no control center for your brain (Figure 3). In complex systems, control is distributed among the parts. And that’s a good thing! If your immune system had a control center, it would be very easy for viruses to take it down. And if your heartbeat was managed by just one part, you wouldn’t survive long enough to read the remainder of this article.
Figure 3 No control center for your brain
Kevin Kelly listed nine “Laws of God” in his book Out of Control, when he described how things in nature are controlled. These are the first two:
- Distribute being: A complex system is more than the sum of its parts, and the “extra” stuff is distributed over the system. It cannot be attributed to any single authoritative part.
- Control from the bottom up: In a complex system, everything happens at once, and problems ignore any central authority. Therefore, overall governance must be spread among all the parts.
Figure 4 Traceability of authority
Complex systems survive and thrive because authorization and control are distributed. It is why the Internet cannot be destroyed. It is why terrorist organizations organize themselves in distributed self-organizing units. And it is why Agile software development requires the benevolent anarchists to have a high level of control over them.