The Butterfly Effect

by Bogdan on February 17, 2010

How a small, unpredicted change in a part of a system may produce terrible effects in another part of the system, and what to do about avoiding the entire chaos

The Butterfly Effect is a term from chaos theory: in simple words, the wing movements of a butterfly in New Zealand may cause tornadoes somewhere in Europe. And we all have experienced the butterfly effect: something which seems insignificant triggered a set of high impact events.

Let’s consider this scenario:  some well intentioned guy suggests, at the end of a meeting: “… and BTW, we are going to improve our URL structure using  shorter, human readable format”. You immediately see the SEO benefits, but hey: there may be more. Without assessing how complicated this may be from a sys admin perspective, the hassle of those the customers who visit site through links found on other websites, or impact over the web tracking system, etc this might be soon pretty messy.

What to do when a member of your team or the sponsor of the project asks for a small “deviation”? Or when someone from the sales team asks for a on-the-fly change of the reports in a webanalytics project? Or when someone in your life asks for a small favor?

Here are some guidelines which I use in such a case:

Analyze and decide whether the change is a real need of just someone’s desire and then check its effects it may produce, in short, medium and long term:  create healthy boundaries. For a online project, use the most important word, especially to ASAP requests: develop a habit of saying NO when you hear it, like: “I’ll get back to you on this, after I assess the full impact”, and then stick to your promise. For an webanalytics project, check with all the report stakeholders, and create a parallel, test account. In life, double check before you commit if you have the energy, time, attention, etc to stick to the new change and integrate it into your life.

Also, as much as possible, try to build or work with modular things, keep items separate – like black boxes with inputs and outputs: untangle things, processes, responsibilities, decisions and use of resources.  For an website, it may well be separating the project team from the product team (and interact just though change requests, using a clear protocol).  For a webanalytics work, it may be separating performance reporting based on the various sources of the traffic. For life, in general, separate experiences from the past, to those from present and from the coming ones.

Last, but not least: if you decide to go ahead with the change, look for those conditions and resources which would make the change an inevitable success, let everybody know what is about to change and happen and how this will likely to impact their lives.

Bottomline: there are not too small changes to be approved and executed without considering their effects on the entire system.

Leave a Comment

Previous post:

Next post: