In agile software development “self-organization” is often referred to as a best practice. Which is strange, because it is actually the default practice of complex systems. Self-organization has relationships with anarchy, emergence, evolution, and self-direction. But none of those are the same. Complexity science can teach us what the differences are.
The Darkness Principle and the Conant-Ashby Theorem are two examples of scientific concepts that explain why we do things the way we do in agile teams, and why delegation and empowerment are crucial.
There are different ways of delegating work to a self-organizing team. First of all, people’s level of experience with empowerment is important. Second, there are 7 authority levels that can be selected per task. Third, one can choose between delegating to teams vs. delegating to individuals. Fourth, the order (time-dimension) of delegation of work is important. There is a handy checklist for making sure you’ve properly delegated work to a self-organizing team.
After delegating work to an empowered team, a team leader or development manager is responsible for managing himself, managing top-level management, managing the empowered team members, and managing the environment. All stakeholders may have to change their attitudes to make self-organization work.
Finally, we can distinguish 4 types of trust between a manager/leader and team members. They all have to be in place, or else self-organization may fail.
Self-organization lies at the heart of Agile. Yet, few people really understand what it means, and perhaps even fewer people know what is needed to make self-organization actually work.
What self-organization is from a scientific viewpoint
What the important choices are when delegating work to a self-organizing team
How to manage all stakeholders to make sure that they work with and not against the self-organizing system
Since 2008 Jurgen writes a popular blog at http://www.noop.nl/, which deals with development management, software engineering, business improvement, personal development, and complexity theory. He is the author of the book Management 3.0: Leading Agile Developers, Developing Agile Leaders, which describes the role of the manager in agile organizations. He is also a speaker, being regularly invited to talk at business seminars and conferences around the world.
After studying Software Engineering at the Delft University of Technology, and earning his Master’s degree in 1994, Jurgen Appelo has busied himself starting up and leading a variety of Dutch businesses, always in the position of team leader, manager, or executive. Jurgen has experience in leading a horde of 100 software developers, development managers, project managers, business consultants, quality managers, service managers, and kangaroos, some of which he hired accidentally.
Nowadays he works full-time developing innovative courseware, books, and other types of original content. But sometimes Jurgen puts it all aside to do some programming himself, or to spend time on his ever-growing collection of science fiction and fantasy literature, which he stacks in a self-designed book case. It is 4 meters high.
Jurgen lives in Rotterdam (The Netherlands) — and sometimes in Brussels (Belgium) — with his partner Raoul. He has two kids, and an imaginary hamster called George.