Quora answer: What notable similarities and differences exist among Systems Thinking, Lean thinking, and the Theory of Constraints?
Systems Thinking projects the “systems schema” on the ontic phenomena of the world some of which is organized in a way that affords that projection and other phenomena are not so organized, but better approached though some other schema, like Form, Pattern, Domain, OpenScape etc. The metaphor that Systems are based on is organisms. And we know that we treat living and dead things fundamentally differently in our own perceptual faculties so anything that is like an organism fits the system schema well. But we can treat other phenomena like they were organic wholes but this may be just a convention or a perceptual artifact and it might not be true of the ontic phenomena themselves.
Basically a System sees a boundary and entities (parts) within that boundary as having relations to each other that persist or are even causal. It if is arbitrary where we draw that boundary then we are dealing with a convention or a perceptual gestalt. Systems are really gestalts that persist over time despite dynamic changes in the boundary, parts, relations between the parts. (cf merotopology). Systems thinking sees systems everywhere and tries to understand things in terms of the system schema which is a template of understanding, but not the only one, there are others like form and pattern. The reason that systems are important is that in our tradition we normally see things as Forms, and so both Structures (Pattern schema) and Systems are alternatives to the Form schema that have become popular in the last century and continuing into this century. Systems thinking is the alternative to seeing everything as separable forms based on analysis. Systems are synthetic.
There is a huge leap from Systems Thinking to either Theory of Constraints or Lean or Agile thinking. These are dramatic refinements of systems thinking. A good bridge is Forresters Systems Dynamics modeling
Note:
Unacknowledged debt
Duncan (as cited by Steyn)[16] says that TOC borrows heavily from systems dynamics developed by Forrester in the 1950s and from statistical process control which dates back to World War II. And Noreen Smith and Mackey, in their independent report on TOC, point out that several key concepts in TOC “have been topics in management accounting textbooks for decades.”[17]
http://en.wikipedia.org/wiki/Theory_of_constraints
See http://en.wikipedia.org/wiki/Systems_dynamics See also http://www.systemdynamics.org/what_is_system_dynamics.html
A good explanation is in Richardson, G.P. 1991/1999. Feedback Thought in Social Science and Systems Theory. Philadelphia: University of Pennsylvania Press; reprinted by Pegasus Communications, Waltham, MA.
Basically Systems Dynamics looks at the relations between system elements in terms of flows though pipes as represented by differential equations. It captures the fact that our linear thinking may not see unintended consequences and side effects caused by multiple interacting feedback loops.
A dynamic system can have changes that are events to be noted as part of their phenomenology. When we apply systems to our own development process then we can see that human productive systems have key events that signify milestones or inchstones in development. We can think of development in terms of queues of materials that go into production units (developers), and we want to control this development process as it plays out in time. Therefore the theory of constrain does this by controlling the wait of materials in Queues within the production system. All the buffers are taken up by the manager such that he can allocate them as necessary to preserve critical path, i.e. the chain of events that must occur for the schedule to be met. Theory of constraints is effective in dealing with conflicting constraints on resources within a large development project.
However note also
Claimed suboptimality of drum-buffer-rope
While TOC has been compared favorably to linear programming techniques,[12] D. Trietsch from University of Auckland argues that DBR methodology is inferior to competing methodologies.[13][14] Linhares, from the Getulio Vargas Foundation, has shown that the TOC approach to establishing an optimal product mix is unlikely to yield optimum results, as it would imply that P=NP.[15]
In other words Constraint theory is an approximation and in a complex system which is like the Traveling Salesman Problem the optimal solution may not be computable in the amount of time you have to do the computation.
However, Theory of Constraints is an excellent example of looking at a production system as a whole and attempting to make it more effective and efficient by getting rid of wasted time spent waiting in queues.
This idea that one can optimize a system has had two recent schools of thought associated with it. The first was Agile which attempts to make the production cells more effective. Theory of Constraints does not try to make the production cells better, but only deals with the spaces between them and how they are networked such as to reduce waiting in those queues, which is a truly systematic aspect of the overall systems behavior. However the production system has cells where production actually deals with what is in the Queues, and that can be made better as well. So Agile attempts to make both the individual and the team more productive by several focused strategies. It also tries to humanize those production cells so we see them as teams and individuals that matter and not just places in the production line which is good for morale. It emphasizes the self-organization of the group as a means to increase productivity. There are many good books on Agile so I won’t belabor it here. See http://en.wikipedia.org/wiki/Agile_software_development
Lean was a slightly later movement in industry what attempted to make the production system more efficient by getting rid of waste. It basically applies the kind of thinking that happens in Theory of Constraints more widely looking for all kinds of waste in the production system and eliminating it. http://en.wikipedia.org/wiki/Lean_software_development
There are seven Lean principles:
Lean development can be summarized by seven principles, very close in concept to lean manufacturing principles:
- Eliminate waste
- Amplify learning
- Decide as late as possible
- Deliver as fast as possible
- Empower the team
- Build integrity in
- See the whole
Notice that it ends with seeing the whole which is basically Systems Thinking.
Now I call the combination of efficiency (lean) and effectiveness (agile) = efficacy. Interestingly these are the dual of what Derrida calls DifferAnce (differing and deferring). And what I have shown in my Software Ontology paper is that Software is the one artifact we have that embodies Hyper Being, i.e. embodies Differance as defined by Derrida.
So it is interesting that it is in Software Development that there is this emphasis on Efficacy when at the core of Software development is DifferAnce or Hyper being.
So this brings us back to Heidegger’s critique of technology which as he says is characterized by enframing, i.e. the arrangement of everything as resources or standing reserves. He says that this underlying assumption in our era, makes us blind to other ways of being and leads to nihilism. A good book about that is called Nihilism and Technology by Phillip R. Fandozzi. The problem of this way of thinking according to Heidegger is that we start to see ourselves as Standing Reserves: i.e. Human resources whose only meaning comes from the production system. See The Mirror of Production by Baudrillard.
This critique of Heidegger makes us take a second look at Agile and Lean approaches and the paradigm change that they have wrought in software engineering which was a reaction against the CMMI and various waterfall and spiral methods used previously in the software industry. They are a way to rethink the way that we do production in Software to overcome the problems that have been discovered with old fashion ways of organizing these activities. However, we can also see them as an intensification of nihilism. In other words by applying techniques to make humans more productive we are increasing our own enframing. In other words we are operating in a Frame in which all that matters is productivity, and we are actually enframing ourselves in that regard, so we are not just a cog in a big machine, but a production cell in a network to be optimized and we end up trying to optimize ourselves (getting things done) but perhaps to the detriment to other perspectives we might take on our own humanity.
What we should think about carefully is that a new type of artifact “software” has appeared and is remaking our whole world. This artifact is the first to actually embody Hyper Being (DifferAnce). And it is difficult for us to produce it even though it takes actually less work than it did to create mechanical and electronic machines. These softmachines that we create are just written in Software Languages, and so the work is actually just typing. But because they are purely conceptual in some sense and not constrained by laws of nature in the same way as electrical and mechanical machines they have special properties that make us look at ourselves differently. DifferAnce (automated writing that creates differences from itself both in space and time) is in direct opposition to Efficacy which is our drive to optimize either the product (code) or ourselves producing the product (development). In a way what is happening in our software development environment is a clash between these two meta-distinctions between efficacy (efficiency/effectiveness) and differance (differing/deferring). What differance produces is the ineffective and inefficient. However, software itself in its total context makes things much easier and much harder at the same time within our lifeworld. It is easy because software is adaptable, and allows us to do things easily, but on the other hand the technological infrastructure in general is more fragile, more open to attack, more likely to deny us the very affordances that it promises. And we become the maintainers of this complex system of interdependencies that we may not understand very well in all its ramifications. That is why systems dynamics is a good tool because it acquaints us with those ramifications of side effects and unintended consequences of interacting feedback and feedforward loops. So we are coming to inhabit the heart of our technological system and are needed to keep the whole thing going. Autonomic and Self-* systems that take care of themselves is just a pipe dream at this point. So we are locked into our circumspective concern with the software and hardware infrastructure that keeps our world going, just so we as users can enjoy the presentation of capabilities that are ultra-efficacious. But ultra-efficacy is traded off against intensifying difference seen in what are called Post-modern type phenomena of the proliferation of differences that themselves become autonomous. Earthquakes and Tsunamis that we did not design for upset the technological complex with disastrous unforeseen (because not looked for) consequences as occurred recently in Japan. So Japan who was the only nation to suffer the effects of nuclear blasts during WWII is the second nation to experience total meltdown of their nuclear infrastructure which spreads invisible death far and wide for many years to come as in Chernobyl and as almost happened at Three Mile Island.
Systems Thinking must be balanced with Meta-systems Thinking, i.e. its inverse dual that considers the environment. We are locked into Systems Thinking but blind to the Meta-systems: environments, ecologies, contexts, situations, media, etc that surround the systems that we create. It is this locked in aspect of our thinking that Heidegger calls the enframing. The enframing is nihilistic because it reduces everything to one point of view, i.e. what can be optimized as resources. It ignores that fact that the meta-optimal is a mix of optima and non-optima, i.e. a mix of efficacy and differance. Nietzsche was the one to ask the question of the Value of values. And here we need to ask the question of the Optimality of continual optimization. What we find is that meta-optimality includes both optimal and non-optimal in a balance rather than over emphasizing one or the other. Thus there will always be opacity that is irreducible and it is better to accept that up front because it would take an infinite amount of energy and perseverance to get rid of those opacities (like the charcoal of evil at the end of Time Bandits). What the enframing does is make us more mysterious to ourselves, as we recognize our inherent inefficiencies and ineffectiveness as human beings. The only way to make things truly neat and clean and optimized in every way is to get rid of human beings, and genocide then becomes the only alternative. See Coming to our Senses by M. Berman where nuclear war becomes a way to cleanse the world of humanity, cf. Dr. Strangelove. We really need to give ourselves a break as human beings, and realize that this dialectic between differance and efficacy is not the only way to look at things in the world including ourselves. Thus Systems Thinking is itself part of the enframing unless you keep in mind its inverse dual the meta-system openscape, i.e. the entire field which encompasses the system. Ultimately we need to look at the whole world and we can see it either as a system or a meta-system. One way looks at the chaos of International Waters and the myriad regional conflicts, and the other thinks that world government is possible. But system and meta-system themselves are not the only schemas. There is also others like facet, monad, pattern, form, domain, world, kosmos, and pluriverse. What we really need is Schemas thinking that applies all of them that we can discover and thus escapes the enframing by offering multiple meaningful perspectives that are supra-rationally connected and thus not relegated to separate disciplines with their own specialities and experts who cannot communicate. Essentially enframing is the fascination with contradiction, paradox and absurdity against which we define what is reasonable and logical. Anti-enframing is nondual and rooted in the suprarational that can consider opposite things as applying at the same time without interference or contradiction.
Zizek calls the gap between viewpoints a parallax view. But the supracrational sees that multiple and opposite in various ways views can interpenetrate without interfering, with mutual elucidation. Thus the suprarational does not focus on the discontinuities between viewpoints, but rather on their ultimate intersection at the meta-levels giving rise to the plethora of meanings and higher quality information and knowledge.
So Systems Thinking, Systems Dynamics, Critical Chain, Theory of Constraints, Agile and Lean approaches are all part of the enframing, that is their similarity. There difference is the depth to which they push the envelope of optimization. But the harder we push on optimization the more resistance we get in Differance, like for instance in the production of new programming languages based on different paradigms. Over optimization in one aspects leads to anti-optimization in some other aspect we are not focused on at the moment. Like a bump in the rug the point of difference is a floating signifier that keeps being pushed around without being affected in any way by our optimizing actions. This is the action of the enframing that keeps us busy optimizing while we miss the real point elsewhere. Don’t miss your life by being locked into the enframing, rather see more than the whole. Don’t just keep you eye on the whole that is greater than the sum of the parts, but also be aware that there is a whole that is less than the sum of the parts (a whole full of holes), i.e. the meta-system. We can represent it as the surreal numbers that are the dual of our normal stack of number types. The surreal numbers are the ones that represent the moves of the game. The total context of the game in play is another perspective that is worth keeping in mind as the total field of our human activities. Take a break and meditate. All these various techniques of thinking about complex development systems lack the perspective of play, of non-productiveness, exploration, creativity, innovation, etc. in various realms of our existence which is necessary to make life meaningful.