This post is part one out of two on how to use system thinking to understand a company as a system and identify areas for improvement in the system.
Galaxies recommend you to use an approach that starts with Synthesis (using System Thinking) to understand the system as a whole and find flaws in system interactions. Follow by Analysis of parts, when it’s needed. Most of the problems are in the system structure, not the parts!
It doesn’t matter if you are doing Synthesis or Analysis; the process starts with understanding the problem and defining boundaries of the examined system. Defining boundaries is a difficult step to Synthesis as Synthesis open your mind to the fact that organizations are open systems, and it’s tough to set boundaries between organization subsystems.
After having problem and scope, we need to understand the business ecosystem, the business evolution over the years, and the network the company (people) and business (internal and external entities). Taking from Nasim Taleb book, you should look for antifragility in the business or at least opportunities for antifragility.
With a problem, scope and business understanding, we want to understand people. In this step, we are trying to understand agents in the system. Mental models are the most crucial aspect as it drives people behavior; it’s the most challenging aspect to fix and cause a lot of instability in systems. Narrative fallacy and strategic behavior are also essential components to understand people.
After understanding the business and people system thinking encourage you to depict your finding in causal loops. Causal loops display a bi-directional interaction between elements as to how A cause B and vice versa. This is a different way to look at interaction than the linear (one directional) way. It takes time and experience to learn to see the bi-directional communications between parts of a system.
There are two types of causal loops. 1-Balancing will keep the system balanced while 2-Reinforcing loop will create recursive positive or negative change in the system. In a nutshell, if all the interactions between elements in a casual loop (we call them variables) is going in one direction and the have just negative or just positive (depicts as S and O in the diagram) this is a reinforcing loop, otherwise it is balancing loop.

It is rare to find systems that have a collection of simple balancing and reinforcing loops. In reality, most loops will be linked or combined loops. Linked loops are a combination of reinforcing and balancing loop that depicts system behavior.

This post is not a guide on how to create casual loops, The System Thinker is an excellent site to start learning how to create those loops.
There are known combinations of Causal loops that depicts known system behavior. They called Archetypes. It is recommended to know the archetypes and use them when you model a system. Using archetypes save a lot of time and effort. Use The system thinker site to find more about archetypes. If you are coming from a development background, archetypes are like patterns.

Casual loops might have delays between an impact of two variables. Delays have a significant influence on the loops, the system, and our understanding. Delays are very tricky and tend to cause a lot of issues or fix a lot of problems. When modeling loops, try to pay attention to delays and catch them.
Casual loops will give us a high-level grasp of the system. After understanding them you can get feedbacks for other people in the organization and probably refine them. Once you have a version that you believe depicts the system, it’s time to dive in a little dipper with stock and flow diagrams. Stock & Flow diagrams are more detailed and can eventually be load into a tool and be run as a simulation. Stock and flow diagrams break variables of Causal Loops into stocks. Stocks are the storage of virtual or physical elements in the system that will accumulate or drain over time. Each stock has a flow in a flow out. flows are impacting the stocks.

In both Causal loops and Stock & Flow diagrams, variables can be better understand by display graphically Behavior Over Time of variable and defining Graphical Function diagram. Function diagrams depict the relationship between two critical variables and help to get a better understanding of the system.
Next step is looking at all collected data to find potential areas for improvement. I’ll get into this step in more details next week.