Live data from Hacker News

Magical systems thinking

worksinprogress.co

31–40 of 106 posts

Re: Magical systems thinking

#31

This article does not begin to cover systems thinking. Cybernetics and metacybernetics are noticably missing. Paul Cilliers' theory of complexity - unmentioned. Nothing about Stafford Beer and the viable system model. So on and so forth. The things the author complains about seem to be "parts of systems thinking they aren't aware of". The field is still developing.

"Metacybernetics" is a concept with a small handful of Google hits, some of which appear to be obscure research papers and some appear to be metaphysical crackpottery on blogs. I think it's worth considering that the theories you're familiar with are incredibly niche, have never gained any foothold in mainstream discussions of system dynamics, and it's not wrong for people not to be aware of them (or to choose not to…

[deleted]

Re: Magical systems thinking

#32
post #7

> largely outside the typical congressional appropriation oversight channels I've seen it happen more than a few times that when software needs to get made quickly, a crack team is assembled and Agile ceremonies and other bureaucratic decision processes are bypassed. Are there general principles for when process is helpful and when it's not?

General principle 1: to make a meeting matter, make a decision. (A meeting at its most basic is kinda like a locking primitive, gets independent threads to synchronize for a short time. Think through why you need that synchrony.)

General principle 2: create focus on the critical path. (If each ticket you work on is slightly different from other tickets and no cookie-cutter solutions exist, then there is some chain of slow, annoying, winding steps, and the rest of the dependency graph doesn't really matter, just these big pains in the butt that often are linked in the dependency graph only by the fact that it's going to be one developer working on all of them and they can't work on them all simultaneously. It follows that you can only get interesting speed improvements if multiple developers are working on the same change. Note that daily stand up is an example of a meeting which does not make a decision—it could but in practice nobody uses it that way—but instead its function is to create pressure on the critical path. Often unhealthy pressure, someone was sprinting at 100% and now they are getting a little burned out, and daily stand up forces them to do something that they can report at standup lest they be honest and say that they're suffering.)

General principle 3: process helps create shared reality. (Consider two different ways to protect prod from the developers. In one way, everyone commits to main, some file or database table or configmap contains a list of features, and those features can be toggled in dev, uat, or prod. The process here is, whenever you change anything, you wrap it in a feature toggle, so that your change does not impact prod if that toggle is off. Versus, consider having three different branches, you can usually commit new features to dev, eventually we cut a release from Dev and push it to the UAT branch, cut a release from UAT to push to the prod branch. But these are separate branches because we might need to hotfix UAT or Prod. The process here can go in these two different directions, see, but one of them leads to a shared reality, this is the entirety of the code and all of the different ways that it can be configured in our production environment, and we need to carefully consider how we remove those feature toggles—versus the other one has three independent realities and nobody is considering all of the different ways that it can be configured or what is being removed, and periodically you get bugs because people didn't revert the revert—what, you didn't know that you needed to revert the revert, you always need to revert the revert. So process tends to be more lightweight if it generates one shared reality).

General principle 4: process needs to help you figure out, and keep highlighted, the “Useless Without.” (There are many nice-to-haves, in a given project. There are a lot of them that people will say are must-haves. The product must be secure, the product must be available at this website address, okay fine. But there is one business goal that the project serves, which, if that business goal is not accomplished, the whole project is useless. That is the Useless Without feature. So I worked on a shop floor system of kiosks for like 6 months once before I determined from talking to the stakeholders that the thing was actually Useless Without time tracking, and this is a sensitive issue because unionized pipefitters are understandably skittish around surveillance technology that could be used in dystopian ways. But we're going to address their needs by looking at the project only, trying to figure out how long each of the steps in building the project takes, but we still don't talk about how we're trying to make the shop floor run efficiently. But you understand every meeting I had before we had clarified this, was actively detrimental to my productivity on this task.)

Re: Magical systems thinking

#33

What an interesting and strange article. The author barely offers a definition of "systems thinking", only names one person to represent it, and then claims to refute the whole discipline based on a single incorrect prediction and the fact that government is bad at software projects. It's not clear what positive suggestions this article offers except to always disregard regulation and build your own thing from scratc…

I didn't feel like he was refuting the whole discipline. Rather, he seems to admire Forrester and the whole discipline. The argument just seems to be, even with great systems thinking, you can't build a complex system from scratch and that existing complex systems are often hard to fix.

The title of the article is an intentional conflation of "systems thinking" with "magical thinking", which is not a compliment.

Re: Magical systems thinking

#34
post #29

Earlier quoted context omitted.

You clearly haven't read much in the field of systems thinking, then. Many of the practitioners and most of its pioneers are in fact actual mathematicians, biologists, or computer scientists (Wiener, von Foerster, Banathy, etc)

Could you quote a non-trivial "systems thinking" theorem or tool such that, by knowing it, I will be able to solve a problem I couldn't solve before?

This is totally orthogonal to your original claim that systems thinkers are "liberal" philosophers but OK.

McCulloch and Pitts, early cyberneticians literally invented neural networks. See the wikipedia page on neural nets.

Another really simple one: Law of Requisite Variety. If that's too simple, I'd encourage you to bear in mind that Norbert Wiener, beyond his direct contributions to mathematics in the form of signal processing filters, is also responsible for the view of control as communication, which motivates much of the approach to control and stability in digital systems.

Re: Magical systems thinking

#35

What an interesting and strange article. The author barely offers a definition of "systems thinking", only names one person to represent it, and then claims to refute the whole discipline based on a single incorrect prediction and the fact that government is bad at software projects. It's not clear what positive suggestions this article offers except to always disregard regulation and build your own thing from scratc…

There is something about Club of Rome to systems thinking that is similar to the Dijkstra's observation about Basic and programming.

Articles debunking them are always full of fundamental misunderstandings about the discipline. (The ones supporting them are obviously wrong.) And people focusing on understanding the discipline never actually refer to them in any way.

Re: Magical systems thinking

#36
I used to suffer from analysis paralysis when designing even basic things, be it software engineering or my next week's schedule. After all, paraphrasing, "Everyone has a plan until they get punched in the face".

I found it much better to take the first step and progress from there, even when the full solution is not known. Maybe it's a testament to the limits of my own context window. Having said, I'm not advocating for abandoning architecture or engineering principles. I like the idea of "Growing software" [0]. It's perhaps a more holistic metaphor.

In terms of short circuiting large bureaucracies, I found "Fighter Mafia" [1] to be an interesting example of this. A group of military officials/contractors managed to influence aircraft design, somewhat outside of the "official" channels. The outcome was better than if it went through normal channels.

[0]: http://www.growing-object-oriented-software.com

[1]: https://en.wikipedia.org/wiki/Fighter_Mafia

Re: Magical systems thinking

#37

This insight - that modeling human systems is hard because humans also respond to models of their world and then change it - is not all that new, it's called reflexivity [1] and has been around for about the same time as systems thinking. [1] https://en.wikipedia.org/wiki/Reflexivity_(social_theory)

Also a major contributing factor to second (and third) order effects. Humans, groups, even societies all respond to changes - and if you cannot anticipate what those changes might be, then you are out of luck.

(You will never get all them right. You will never even be able to list what their entirety will be. But you have to be able to predict the order of magnitude of a few of them.)

Re: Magical systems thinking

#38
Great article. I think one missing piece is that if you kick a system too far from its current “equilibrium” it can create self reinforcing loops (rather than kicking back) that lead to uncontrollable runaway.

Re: Magical systems thinking

#39
post #29

Earlier quoted context omitted.

You clearly haven't read much in the field of systems thinking, then. Many of the practitioners and most of its pioneers are in fact actual mathematicians, biologists, or computer scientists (Wiener, von Foerster, Banathy, etc)

Could you quote a non-trivial "systems thinking" theorem or tool such that, by knowing it, I will be able to solve a problem I couldn't solve before?

The entire field of process design & automatic process control. This literally is the O.G. job description of a chemical engineer. The field of grid design and balancing. Again job description of an electrical engineer.

Re: Magical systems thinking

#40

This article does not begin to cover systems thinking. Cybernetics and metacybernetics are noticably missing. Paul Cilliers' theory of complexity - unmentioned. Nothing about Stafford Beer and the viable system model. So on and so forth. The things the author complains about seem to be "parts of systems thinking they aren't aware of". The field is still developing.

"Metacybernetics" is a concept with a small handful of Google hits, some of which appear to be obscure research papers and some appear to be metaphysical crackpottery on blogs. I think it's worth considering that the theories you're familiar with are incredibly niche, have never gained any foothold in mainstream discussions of system dynamics, and it's not wrong for people not to be aware of them (or to choose not to…

Metacybernetics is the only obscure word on that list, and it refers to all of the first-order cybernetics, second-order cybernetics, etc.

You missed the opportunity to ask a simple question - what is metacybernetics? - and decided everything on that list was just as niche.

Post reply on HN