Sunday, February 2, 2014

Thinking in Systems

We are surrounded by systems day in, day out. As software developers, we even get to spend a big portion of our day actively building and changing systems - be it software, teams, communities or businesses. Seeing the whole, but more importantly understanding how systems exist of inter-related parts that affect each other in all kinds of interesting ways, is crucial to growing sustainable systems.

Thinking in Systems is a primer on the subject of system thinking written by Donella H. Meadows. The book is divided into three parts. The first part explains the basic concepts of system thinking using everyday systems. The second part covers why systems work so well, why they still surprise us, how to avoid common system traps and how to take advantage of some of the opportunities they present. The last part, and for me the most interesting part, shows where to intervene in a system and how to live in a world of systems.

Although the subject is pretty involved, the material is presented in a very consumable fashion, preparing you for more academic material. This is probably the book to read when you want to be introduced to systems thinking.

Here are the sections I highlighted.
Everyone or everything in a system can act dutifully and rationally, yet all these well-meaning actions too often add up to a perfectly terrible result.
You think that because you understand "one" that you must therefore understand "two" because one and one make two. But you forget that you must also understand "and".
Purposes are deducted from behavior, not from rhetoric or stated goals. 
Enough central control to achieve coordination toward the large-system goal, and enough autonomy to keep all subsystems flourishing, functioning and self-organizing. 
If you become a manager, you probably will stop seeing labor as a deserving partner in production, and start seeing it as a cost to be minimized. 
The structure of a commons systems makes selfish behavior much more convenient and profitable than behavior that is responsible to the whole community and to the future. 
If the desired system state is good education, measuring that goal by the amount of money spent per student will ensure money spent per student. If the quality of education is measured by performance on standardized tests, the system will produce performance on standardized tests. Whether either of these measures is correlated with good education is at least worth thinking about. 
There is a systematic tendency on the part of human beings to avoid accountability for their own decisions. 
If you want to understand the deepest malfuctions of systems, pay attention to the rules and who has power over them. 
So how do you change paradigms? You keep pointing at the anomalies and failures in the old paradigms. You keep speaking and acting, loudly and with assurance, from the new one. You insert people with the new paradigm in places of public visibility and power. You don't waste time with reactionaries; rather, you work with active change agents and with the vast middle ground of people who are open-minded. 
If no paradigm is right, you can choose whatever one will help to achieve your purpose.
There's something within the human mind that is attracted to straight lines and not curves, to whole numbers and not fractions, to uniformity and not diversity, and to certainties and not mystery.

1 comment:

  1. I too am a software developer who thinks and see's things in systems, I believe the scientific area that deals with this is Cybernetics. Here are some resources I have found to further my learning on the topic:

    http://www.pangaro.com
    http://www.cyberneticlifestyles.com/
    http://www.cybsoc.org/
    http://pespmc1.vub.ac.be/DEFAULT.html

    I hope you find them as useful as I have.

    ReplyDelete