It got me thinking, what is this "self-organisation" thing anyway? Do self organising teams really self organise or are they really guided? Apparently I'm not the only one who's throught of this. A great presentation by Jurgen Appelo - What (else) can Agile learn from complexity looks at Complexity Theory and Agile. Now before you click on that "back" button it really is worth a look.
He looks at the key factors of complexity theory and applies them to Agile and there are some great quotes:
This is one of the major issues that traditional management methods fails to recognise. We believe that the more we know the better we can control something. However, the reality is that it takes too much time and resource to try and control everything because the control system always needs to be more complex than the project we're trying to control.
Each element of a system is ignorent of the behaviour of the system as a whole... if each element "knew" what was happening to the system as a whole all of the complexity would have to present in that element
Boundaries & Conditions
Self organisation requires that the system is surrounded by a containing boundary. This boundary defines the "self" that will be developed during the self organising process"
The environment is not out there separate from us. We can help to create the environment... The Spanish have a phrase 'My friend, these is no road - you make the road as you walk'If ever there was an argument for emergent design in IS projects then this is it. Emergent behaviour is apparent all around us. No one "organises" the bread supply for London it just happens. Our brains are a classic example of how independent elements can combine and a "self" can emerge from the chaos. However, as we know it takes time for intelligence to evolve and most organisations simply don't have the patience or belief to wait!
There is no accurate representation of the system which is simpler than the system itself. In building representations of open systems we are forced to leave things out, and since the effects of these omissions are nonlinear, we cannot preduct their magnitudeWhich means - we can't predict the future so why waste so much time trying to plan & deal with things that haven't, and probably won't, happen?
There's a lot more in Jurgen's presentation and I'd really recommend that you read it through. I'd also recommend Michael Chichton's book because it's just a rally good story (and a lot more believable than Jurrasic Park!).
So does Agile need more complexity? Absolutely - because it's only when we understand complexity that we can keep agile simple for the rest of us :-)