I recently completed reading An Introduction to General Systems Thinking by Gerald M. Weinberg. Since it was mind-blowingly fantastic, I thought I should probably write a brief review of it so you-all can check it out!
This book is about science, philosophy, behavior, organizations, organisms, problems, solutions, faith, reason, and everything in between. Specifically, it is about a general approach to dealing with systems given the limitations of our human abilities.
One of the strongest ideas in the whole book is that there is a class of systems for which we have only very poor tools to understand them. These systems, which he calls “organized complexity” are contrasted to “organized simplicity (machines)” and “unorganized complexity (aggregates)”. Machines can be dealt with purely analytically and in a deterministic manner. Aggregates can be dealt with statistically. Systems that are in the organized complexity category are too complex for a purely analytical approach but too simple for a reasonable statistical analysis. The book is focused on methods for dealing with this class of systems.
Mr. Weinberg’s writing is, first and foremost, engaging. He writes in an informal voice that is a wonderful complement to the subject matter. Even with the informal tone, he is nevertheless able to communicate some tricky ideas with a great deal of precision and clarity. His use of examples, diagrams, stories and quotes throughout the book is excellent. Although I did not do the exercises he includes, upon reading them, I was satisfied to see that they are all interesting. Since I intend to re-read the book in six months or so, I will also publicly commit to doing a good chunck of the exercises too. Maybe you’ll see some of my efforts here since many of them are apropos to Agile Work.
How Does This Apply to Agile Work?
Much of the emphasis in agile methods is on the intractability of building a perfect plan for a set of work (particularly in software projects). The group of human beings that are building something is in itself a system of “organized complexity”. As a result, it is impossible to treat that group of people as a system that can be made to work in a deterministic manner. We simply can’t account for all the variables. At the same time, we would like to have a lot more certainty about the behavior of the group than we could just using statistical methods. (Check out Systematic HR for some related articles.) Agile methods help us find this middle way that gives us a very good shot at reaching our goals, but acknowledges our inability to determine precisely how we’ll get there. A good understanding of Systems Thinking helps us comprehend the necessity and applicability of agile methods.
The Table of Contents
The chapter and section titles of this book tell a great deal about the scope of the work. I have reproduced the table of contents here for your reference.
Chapter 1 The Problem
– The complexity of the World
– Mechanism and Mechanics
– The Square Law of Computation
– The Simplificiation of Science and the Science of Simplification
– Statistical Mechanics and the Law of Large Numbers
– The Law of Medium Numbers
Chapter 2 The Approach
– Organism, Analogy, and Vitalism
– The Scientist and His Categories
– The Main Article of General Systems Faith
– The Nature of General Systems Laws
– Varieties of Systems Thinking
Chapter 3 System and Illusion
– A System Is a Way of Looking at the World
– Absolute and Relative Thinking
– A System is a Set
– Observers and Observations
– The Principle of Indifference
Chapter 4 Interpreting Observations
– The Eye-Brain Law
– The Generalized Thermodynamic Law
– Functional Notation and Reductionist Thought
– Incompleteness and Overcompleteness
– The Generalized Law of Complementarity
Chapter 5 Breaking Down Observations
– The Metaphors of Science
– Boundaries and Things
– Qualities and the Principle of Invariance
– The Strong Connection Law
Chapter 6 Describing Behavior
– Simulation – The White Box
– State Spaces
– Time as a Standard of Behavior
– Behavior in Open Systems
– The Principle of Indeterminability
Chapter 7 Some Systems Questions
– The Systems Triumvirate
– Regulation and Adaptation
– The Used Car Law