The 2nd Law of Software Development


In a previous blog post I wrote about the 1st Law of Software Development. This law deals with each manager’s concern to make sure that team members have the motivation to do their jobs well. But, for a job well done, their motivation alone is not enough! (I might be motivated to work in the middle of the night, but if I'm not allowed to, then what is my motivation good for?) In creative and productive organizations people require the power to do what is needed, so they can achieve the results their managers have asked for.

The 1st Law of Software Development = Motivate People
The 2nd Law of Software Development = Empower People

Three Kinds of Organizations
In ordered organizations, most people have only very little power to organize their own jobs. It’s their managers who make all the decisions. (The military comes to mind, and just about any other branche of the government…) In chaotic organizations it’s the other way around. People can simply empower themselves to do whatever they want. (I’ve noticed some Internet start-ups belonging in this category, and next door's kindergarten as well.) Complex organizations find themselves right in between. They are partially controlled organizations. In a complex organization, people should not be able to empower themselves. They are empowered by managers. And it's them that face the challenge of finding the perfect balance between empowerment and authority, between self-organization and control.

Balancing Self-Organization and Control
In natural ecosystems this balance is achieved all the time, as it is part of evolution. Too much central control in an organism would make it neither flexible nor robust, while too little central control would make the organism’s inner systems too chaotic. (For example: my mind can control my limbs and my breathing, but it cannot directly control my heartbeat, my digestive system, or my immune system. Though I'm quite fortunate it is able to control my libido.) The mechanism of survival of the fittest makes sure that only organisms with the right balance of self-organization and control have a chance to survive in the harsh reality of biological ecosystems.

The Edge of Chaos
In complexity theory this balance is called the edge of chaos. It is at this edge between chaos and order, between empowerment and authority, where complex systems find their greatest creativity and productivity. But development managers have a really hard time, as they have to do this balancing act fully on their own! (Trust me, I know this from personal experience.) If they are too rigid in their management styles, their organizations have a hard time coping with ever-changing business environments. And if they are too easy-going, their organizations will hardly be able to find a proper direction and to avoid the dangers down the road.

  • Do you allow your team members to choose their own tools?
  • Can they select their own development method?
  • Do you enable them to select their own fellow team members?
  • Are they allowed to work anywhere they want?

These are questions of the utmost importance, but I'm afraid there are no right or wrong answers. It all depends on the rest of the complex dynamics in an organization. The empowerment of people is the balancing act of delegating as much control as possible, but just enough not to fall over the edge of chaos.

It's the manager's job to find out where that edge is… blindfolded.

Subscribe to this blog with a reader or by email!

Latest, greatest and favoritest posts:
The 1st Law of Software Development
From Complexity Theory to Practical Management
Eat Chaos, Poop Order

  • 5 Easy Questions for Randall Hyde
  • Team Complete: The Definitive Guide for Managers
Related Posts
free book
GET MY FREE BOOK!
“How to Change the World”