On a related note, Thinking in Systems: A Primer by Donella H. Meadows is one of my favorite books.
On a related note, Thinking in Systems: A Primer by Donella H. Meadows is one of my favorite books.
I ask because I've read some systems thinking books (e.g. Systemantics) that were difficult to apply in real life. I come from the perspective of someone with a systems/theory builder personality. The only systems thinking book that I found remotely practical was The Fifth Discipline by Peter Senge.
The most useful piece of short writing on systems thinking that I've come across is "How Complex Systems Fail" [1, 2], which talks about designing systems for resiliency, and not for rigid notions of reliability.
[1] "How Complex Systems Fail" https://web.mit.edu/2.75/resources/random/How%20Complex%20Sy...
[2] Its accompanying O'Reilly conference talk https://www.youtube.com/watch?v=2S0k12uZR14
(On mobile) If I grabbed the right link that’s chapter 6 (maybe edited a bit?) of Thinking in Systems. If it interests you you’ll probably like the rest of the book.
Before reading this book, I did not think much about delays but now I try to identify them as soon as possible.
I agree that both of them were not very rigorous, e.g. in terms of making predictions or presenting falsifiable claims. But I enjoyed parts of both.
From Thinking in Systems, I got 2 main things out of it:
- Many systems can be modelled in terms of resources and flows.
- If you want to affect a system, find the leverage points.
But both claims could have been justified more. It feels like the author states them as a given.
Specifically, she doesn't talk much about modelling error. OK, so I came up with a set of resources and flows to model a system. How do I know if it's good? Will it work in some cases and wildly mispredict in others?
I think they just did computer simulations? How did you check it against the real world? I think that was entirely missing from the book. I'd be happy for a correction.
Overall, the book felt like it was incomplete (which is not surprising, given the back story of its publication).
I think I read this book because Bill Gates recommended it. I can understand why he would have liked it. I'm not sure there is much that's actionable for a programmer or software designer, though.
I'd be interested in other takes on it too. Did I miss something? I also wonder why it's so highly thought of. I think it does have a unique point of view, and raises interesting questions, but it also made me wonder if that view is true! It's perhaps too vague to be true or false.
----
I enjoyed Systemantics, to a point. The negative view of systems tends to be the more accurate one in my experience ;-)
There's a way to the analysis of a system or a model that you can get on an intuitive level (or even, on a formal level, given where most of the HN readership works or has interests), but the exposition in TiS goes further, and tries to make you think not only on all the sources acting on a system, but how you could get to build or adapt a system for a specific objective.
See? What I wrote above makes just marginal sense. It's not a complicated book, it's an enjoyable read but the concepts inside go deeper than what I could get into something that makes much sense.
If you already have a decent foundation in systems dynamics and thinking, the most valuable part of the book is Chapter 6 (Leverage Points) which is about how to change systems (not control them, but actually drive changes to their structure).
The value of the book, beyond that, is that it's a good introduction to systems dynamics and thinking for people who aren't systems thinkers yet (or nascent systems thinkers who don't have the vocabulary yet). Trying to explain systems thinking to others is hard, surprisingly so. This book serves either as something to give them to read (for those who are motivated to better themselves, surprisingly few in my office) or provides a good set of examples when trying to discuss system dynamics and thinking with those who don't want to (either ever or yet) read something themselves.
The examples aren't esoteric or abstract, they're things that most people can relate to. Which is very helpful. A high level system dynamics book might try and talk too much about the math or structure but using labels like A and B, rather than Oil Reserve or Car Inventory. Leaving out the math (or enough of it) also makes this approachable even to the most math-phobic (and the equations behind the models are all available in an appendix so they're not missing, just shifted to let people focus on the structure and nature rather than formulas and numbers).
Any other resource on the topic of system design that you, or anyone reading, could recommend?