Any human social group-based endeavor in a cultural and social system is a complex adaptive system. Software development teams and organisations are one example.
Complex adaptive systems have relationships that contain feedback loops and are non-linear. Much as we would like, it is not possible to know, with absolute certainty, what the effects of our actions and changes might be. Ultimately what it means, is that for all the changes and improvements we may try to create in a system, there will be some that will fail. We have no choice, we must embrace and accept failure.
I was in Kraków last week for the ACE! conference (I was when I first wrote this draft, it’s been 8 months now) and in one of the presentations Barry O’Reilly made a salient point that “we should not waste our failures“. You might be tempted to rephrase it in a common adage “we should learn from our failures“. There is however a big difference.
We don’t learn from failures
I often think the readiness to learn from one’s failures is a convenient excuse. I subscribe to the view which Kevlin Henny shared in his lighting talk at the #openvolcano2010 openspace that we cannot learn from failure. Failure exposes what artists call the negative space. It doesn’t tell us what to do, only what not to do. (More on this perhaps another time)
I have another recipe to follow Barry’s advice: anticipate success and be prepared for failure.
When you set out to create change or introduce something new – embrace the mindset of success. Precondition your own brain and those around you to think positively, believe that the outcome will be favourable. Create your own luck. It is surprising how this attitude can actually make a difference. It is the only sensible starting point.
Be prepared for failure
While you strive to realise the self-fulfilling prophecy of success remember to take the rose-tinted spectacles off for a moment and prepare for the eventuality of failure before you begin. You’re idea of the desired outcome through specific actions is always based on a set of assumptions about the structure and behaviour of the system. Make those assumptions explicit, write them down, verify them with others and then measure your progress.
If you succeed you will know your assumptions were right or at least lead you in the right direction. If, however, the opposite becomes the realisation, you can go back and questions the assumptions you’ve made more rigorously and iterate again from a slightly different, and hopefully better, place thus consciously and deliberately taking the experience of your failure forward.
So please, don’t waste your failures – anticipate success, be prepared for failure and make your assumptions explicit.