Scrum & Complexity
Complex system theory and especially social complex systems are getting a lot of attention the last few years in the Agile community.
Complexity remains a ‘complex’ topic as there are so many views and perspectives from e.g. neurobiology, anthropology, social sciences, mathematics, molecular biology, philosphy, economic studies and computing science just to name a few 🙂
Scrum is build around empirical process theory, but also around complexity theory in general and Complex Adaptive Systems (CAS) in particular. See Jeff Sutherland on this.
In a CAS something spectacular can happen! Without any centralized control and with very simple rules the most amazing results can be obtained. Termites for example make these great hills full of chambers and complex tunnels and groups of people are able so solve problems they do not know upfront how to solve. Individuals self organize, the right results emerge and the CAS adapts to a changing environment to stay successful. Wow… this is to good to be true!
See Beats 2006, Complexity, learning and organizations for details.
Interesting to notice is that a CAS naturally moves towards operating in a region called the edge of chaos. This is interesting because research shows that groups of people operating in the edge of chaos are maximal creative and productive.
Put more formally “there is maximum capacity for information computation”
– R. Lewin 1999. Complexity: Life at the Edge of Chaos.
Hmmm so what? why should I care?
Most of the time when you are developing software you are cracking a problem which you do not know how to solve upfront. Usually there is a lot of uncertainty on what to build exactly and on exactly how to build it.
A situation like this can be handled by moving your team towards the edge of chaos! The exciting part is that Scrum helps you set up the conditions for doing so and also providing all the inspection and adaptation points necessary not to fall over into chaos.