Hacker News new | past | comments | ask | show | jobs | submit login
Systems Thinking and Quality (ufried.com)
125 points by ggeorgovassilis on Feb 23, 2020 | hide | past | favorite | 27 comments



One area where this becomes apparent is that in complex and layered system at least some of the bahaviours of a single layer do not make sense in terms of the system as a whole. Often it is wrong to attempt to let a layer on its own do the thing that seems most logical because actually the output of that layer is the input of another one and the total result is an interplay between the two. Attempting to make each one separately more logical would make both layers a lot more complex and would essentially be duplicating the relevant concerns into multiple layers, if not outright introducing bugs by introducing speculative logic that often turns out to be wrong in yet unforeseen cases.


Communication between its elements is the source of a system's emergent behaviour.

So yes, input/output streams (and where they originate and end up) are at least as important to the system as its discrete elements, if not more so.


This is very abstract to me. It'd be nice with an example


Very insightful, and as usual with systems thinking, I think that we don't understand the field well.

I once found a comment on HN to read "The Systems Bible" by John Gall, this is a great occasion to relay the proverbial baton. If tou like this article I strongly recommend reading this book.


> He says, that you should imagine having all cars available in a room and then ask a group of experts to identify the best engine, the best battery, the best transmission, and so on. Afterwards, you take all the parts identified and put them together. While we would expect to get the best car possible (we only use the best parts available), we do not even get an automobile because the parts do not fit.

> This leads Ackoff to the conclusion:

> | The performance of a system depends on how the parts fit, not how they act taken separately.

Isn't it how we hire talent nowadays?


Not at the entry level. A grad with a 3.5 GPA and one with a 4.0 GPA are applying to the same job, guess who gets hired every single time. Not always the best fitting part!


Same thing: greedy algorithms. Mostly imposed by companies "living by algorithms".


> No part of the system or a collection of parts of the system has an independent effect on it. Therefore a system as a whole cannot be divided into independent parts.


I worked with Ackoff. Brilliant man. An extremely important video to watch: https://vimeo.com/148192220 29 minutes is a tiny investment for the returns.


I recommend watching the actual video. In fact, I wish that it had been shared instead of the article.


Is systems thinking the same epistemological BS that's heaped onto the industry like design patterns and all these acronyms I hear being thrown everywhere? Is there formal axiomatic basis for any of this stuff or is it just mumbo jumbo.

This is the definition of quality:

>The definition of quality has to do with meeting or exceeding the expectations of the customer or the consumer. Therefore, if their expectations are not met, it’s a failure.

How is this a definition? It's a vague comparison. It tells me you don't really have clear definition in your own brain.

Take a look at the definition of system:

>A system is a whole that consists of parts each of which can affect its behavior or its properties. Each part of the system when it affects the system is dependent for its effect on some other part. In other words: The parts are interdependent.

Is this for real? What is a whole and what is a part? No rigor and it's all mumbo jumbo that's obvious. Yes a system can be made up of modules and yes things can be interdependent. How is this new and innovative? Thanks for telling me something everybody on the face of the earth already knows.

>The essential property of an automobile is that it can carry you from one place to another. No part of an automobile can do that.

Mind blown. Just kidding. If you take the wheel of the car and balance on top of it like a circus artist then walk the wheel will carry you from one place to another. Boom. Guess what a car is not a system because one of the "parts" works independently. I guess I just blew apart what this persons' definition of a system because a car is obviously a system but under the articles' flawed definition it is not.

>If we have a system of improvement that’s directed at improving the parts taken separately you can be absolutely sure that the performance of the whole will not be improved.

Have you heard of the term "bottleneck"? It's when one "component" of the "system" slows the overall system down.

>It’s a wrong concept of quality. Quality ought to contain a notion of value, not merely efficiency. That’s a difference between efficiency and effectiveness. Quality ought to be directed at effectiveness.

You know what? "Life is like a box of chocolates, you never know what you're gonna get." Clever right? Makes sense right? Two things most people miss when they read the quote above. First thing: it was said by someone who is mentally disabled. Second thing: The message is obvious. Life is spontaneous who doesn't know this? It's pointless wrapping this concept up in an analogy. Same with the "concept of quality" Quality ought to be directed at effectiveness? Who on the face of the earth isn't aware of this fact?

In conclusion, this is not a good way to think. If you want a good systematic way to analyze the world and "systems" the way to do it is to have a very clear notion about the difference between science, logic and intuition. Know the strength of each pillar and know the weaknesses.

The above article above is all just intuition with logical flaws due to lack of rigor or science to back up its points. Additionally, the main point is incredibly obvious.


Yeah I’m with most of what you’re saying. The car example was particularly painful. A car is put together on an assembly line comprised of parts that have have no knowledge at all of the other parts of the system. And the manufacturer of any those parts cares not one wit about the manufacturer of another. How is this possible? By taking painstaking care in the design of all the interfaces within the system. This is where software continues to fall woefully short.


There is a more formal description of systems thinking (see 'Thinking in Systems', Donella H. Meadows, for examples) that describe systems as components driving feedback loops and how they generate equilibrium or degenerate states, and where the best leverage is to alter the states of those systems. But I have a feeling it's yet another topic that's been diluted by consult-speak.


Yes signals and systems is a theoretical thing which is not what the person is describing here. ME and EE's learn it, but it's largely absent from CS.

Type theory or Category theory is probably closer to a formal description of the "intuition" behind the article.


Then there is this field called ... Cybernetics ... which is actually a field that studies systems! gasp


Cybernetics, operations research, control theory, and systems dynamics are all strongly overlapping fields, if not simply different names for the same thing.


gasp! another word for control theory! gasp!


Pronounce it in Greek though and add it to your resume.


I think talking about cognitive biases in the context of building and understanding complicated/complex systems is the point of 'systems thinking'. Just having a name for that kind of exercise is useful. Just like everything else, it gets taken too far, or stretched into a flimsy product to be sold to the managerial class.


Except "systems thinking" doesn't do anything. It doesn't introduce anything new. All it's doing is introducing false epistemology and complicated nomenclature for concepts that are obvious.

If anything this kind of writing introduces new biases where ones previously didn't exist.


> All it's doing is introducing false epistemology and complicated nomenclature for concepts that are obvious.

How else are pseudo-intellectuals supposed to make their money these days? /s

I enjoyed the Meadows book about it and although I didn't read it with a critical eye, I didn't find it misleading or obfuscatory. It's written in plain language.

If anything, it's got quite an ecological feel to it (and boils down to something like "testing inputs to a system willy-nilly is really stupid without a broad idea of the interactions between things").


Your post really reeks of intellectual arrogance and a semi-religious glorification of formal methods.

If you had focused less on your crusade, you might have noticed that the original talk was given by Russ Ackoff, one of the pioneers of Operations Research and former Professor of Mathematics, Philosophy, Systems Sciences, Management Science, Fellow of the American Statistical Association and many more honors and titles.

You might say that Ackoff has helped bring formal methods to business and is surely he was very aware of their value and when to use them.

The fact that you find many of the points stated there obvious, doesn't mean they are not valuable to repeat. In fact it seems likely that a lot of these ideas have become so wide-spread in the meantime, that you don't even recognize their origin in these fields.

Specifically asking Prof. Ackoff if he has heard of the term "bottleneck" is just cringy and embarrassing.

This talk was given towards the end of his career as a summary of his learnings about systems. Maybe you would do well in considering if other sources of knowledge besides formalism and "science" have value in our society.

"systems thinking" might seems obvious to you as a software engineer, but most public-policy, corporate and medical decisions still suffer from massive Reductionism, ie. trying to solve problems in isolation without regard for feedback loops that might compromise the overall system or lead to unintended consequences.

Don't elevate yourself over others just because you know python, you are doing our whole profession a massive disservice by acting out your insecurities in this way.


And your post reeks of intellectual idolization.

Your post is called appealing to authority. I don't know Russ Ackoff and I don't care. I'm not challenging him, I'm challenging this article.

>The fact that you find many of the points stated there obvious, doesn't mean they are not valuable to repeat. In fact it seems likely that a lot of these ideas have become so wide-spread in the meantime, that you don't even recognize their origin in these fields.

You telling me this guy invented the definition of the word "system?" and is simply just repeating it now? Give me a break.

>Specifically asking Prof. Ackoff if he has heard of the term "bottleneck" is just cringy and embarrassing.

I'm not asking Prof. Ackoff (the "authority on systems" according to you). I'm asking someone who wrote this garbage:

  "If we have a system of improvement that’s directed at improving the parts taken separately you can be absolutely sure that the performance of the whole will not be improved."
Which is something that has zero truth. You and anyone who believes this trash should be the one who is embarrassed. If your idol knows what a bottleneck is, where does this trash come from?

>Maybe you would do well in considering if other sources of knowledge besides formalism and "science" have value in our society.

Why don't you reread my post. I literally used the word intuition somewhere. Find it and figure out what I'm saying before crafting a meaningless response.

>Don't elevate yourself over others just because you know python

Knowing python isn't impressive AT ALL. It is literally the easiest language on the face of the earth to learn. I don't put it in my profile to impress people, I put it there because it's relevant. The language is literally the opposite of "formal methods."

>you are doing our whole profession a massive disservice by acting out your insecurities in this way.

The disservice comes from you. Intellectual idolization is the greatest disservice of all not just to software engineering but to all of science. Try to make your points without dropping a name or credential.

>You might say that Ackoff has helped bring formal methods to business and is surely he was very aware of their value and when to use them.

We are on a site called "Hacker News" so this article is likely directed at hackers not business people. So when I say this stuff is obvious... I am saying that it is obvious to "Hackers." The context is Relevant. Understand?


[flagged]


>I'm certainly not idolizing Prof. Ackhoff, I hadn't even heard about him before this post. I simply engaged critically with what I was reading, meaning I took a look at the primary source that this article was based upon and looked at the academic and historic context. I think this is the minimum one should do before engaging in snarky rants like yours: Try to understand the thing that triggered you.

The article itself is incorrect. There's no point in digging deeper if the article itself has logical flaws.

>I wasn't appealing to his authority, I was simply pointing out how a little humility goes a long way if one is genuinely interested in understanding. You started your post with two rhetorical questions that weren't questions at all, you already had made up your mind. You can't fix that by evoking a nicely branded "logical fallacy" (appealing to authority).

So basically you're saying I'm right and you're wrong but I'm not humble.

>I didn't say anything of the sorts. I simply said that some ideas become so common place that we forget that they also had an origin, and that we certainly were not it. I don't know if this is true, but your usage of "bottleneck" definitely strikes me as an outgrowth of the intellectual tradition criticized by you.

You're mistaken. I am not discounting intuition. I am not advocating for a purely logical and scientific description of the world. Such an outlook can only take you so far as there are limits to what can be observed scientifically and it just takes too much effort to describe everything with mathematical rigor.

Where this article falls short is that it's too vague and too obvious and also logically flawed. Additionally systems is covered by rigorous theory already. You need to know when to deploy science, logic or intuition. Systems is not a subject to deploy pure intuition, the meaning of life is. For a topic in this context (a blog) you need a little bit of intuition and more logic to fully flesh out a more axiomatic definition. Additionally you can't have logical flaws ever. This article fails on all those counts.

>He is simply saying that a framework for improvement that is organized around local improvement (local measurement, local interventions) will lead to global failures. Examples for this principle are myriad, the book The Goal/Theory of Constraints comes to mind which is arguably one of the most influential books around bottlenecks. Why you would call that thesis trash, just because the word "bottleneck" was not used is beyond me.

And what he is saying is wrong. If the only thing that can be improved is local than a framework for local improvement will not lead to global failure. Not every system is so interdependent that all modules are equal. Some systems are ruled by one module with tertiary modules having negligible effects.

>Namely you called it "not a good way to think ''. I wouldn't even call the basis of knowing that is used in the talk "intuition". It's a collection of heuristics derived from the experiential knowledge of somebody who practiced his craft of optimizing systems in many fields spanning multiple decades, elaborating his thinking over and over in a huge body of work.

>I would love to hear your definition of "science", because I for my part have found that most intellectual self-aware avoid this kind of "Referral to Science!" (as in "I fucking love Science!").

I am calling his "systems thinking" not a good way to think and his argument for it used too much intuition with logical flaws. I never said intuition is bad. I'm saying you need to know when to use your intuition and to what degree. Anytime a logical flaw is found in your intuition, logic wins everytime which is part of what's going on here.

The meaning of life is a topic that's good for 100% intuition. Systems in the context of a blog needs some intuition and a bit more logical rigor.

As for the definition of science I'm not here to argue about the canonical definition. I have an idea I was trying to convey and science was the best word for the idea. What I mean by Science is that it is the assumption that observed events can be modelled with the axioms of probability, under this assumption observed data points can be used to establish correlations and causations to certain degrees but nothing can ever be proven. Basically using statistical data as opposed to induction or intuition to argue your points.

If you have a different definition, good for you. I don't care. I'm not talking about your definition, I'm talking about mine, this is my point.

> Knowing python isn't impressive AT ALL.

>"Woosh" would be the right response to that I guess.

It's called being humble. You asked more of it from me. I gave it to you. Guess what you just did. You took a shit on my face for being humble. What does that make you? Humble? I don't think so.

>My point was not to argue against your point. You didn't really have a point, except maybe "This article is mumbo jumbo". My point was to show you how easy it is to take a gut reaction and lazily deride something for the sake of self-elevation, while clearly displaying a total lack of critical engagement with the source material. This is literally the cancer of online communities.

Self elevation? Are you insane? This article is pure liquid BS. That's my entire motivation. Critical engagement? You can't even critically engage a single one of my arguments, you've resorted to attacking my character.

>Sorry there is so much dumbness in that one paragraph that I have to go over it in detail and feed the troll.

Did you just call me dumb? You need to check yourself right now. This is against the rules.

>Let's use the definition of the one who named this platform: "Among programmers it means a good programmer." "It's called a hack when you do something in an ugly way. But when you do something so clever that you somehow beat the system, that's also called a hack."

>So a hacker is somebody who is very good at his craft and can either beat a system or can deal with it in non-formal "ugly" ways. So the essence of a hacker is non-scientific and very much "look-at-the-system-poke-it-and-see-what-happens", which is the only way to really deal with systems successfully, hence "systems thinking".

Who cares man. You're arguing semantics here. All of this is destroyed by a single logical flaw. I'm never against intuition, intuition is useful, but if your intuition has logical flaws or evidence against it, you're a goner plain and simple.

The audience for this site is the programmer not the business man like your original claim. The flawed explanation for systems in the blog isn't up to par. Nobody cares for your logical aerobatics here, you're misapplying axiomatic logic to a definition so broad that intuition would serve you better here.

>Exactly my point. You can't just take an article, make no effort and just piss all over it. Well you can, but it makes you look mean, insecure, lazy and reinforces the stereotypes people have about mean and insecure programmers.

I'm not pissing all over something. I'm cleaning up piss.


We once had a contest at my old company. You would win a valuable prize for giving the best answer to "Define what quality means to you.". Winner by popular vote (not management's vote) was "Quality means doing such a great job that nobody will ever again ask you to define what quality means."


Systems Thinking is essentially a buzzword for consulting to managers and politicians. It is not for engineers. Well, maybe when engineers try to make a point to managers or politicians.


I figured. Though the fact that it was posted here I thought it was actually something some engineers were also interested in.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: