Systems Thinking
Thinking in systems is a trait of the greatest minds. Now, you can gain a new perspective, noticing and understanding the systems around you.
Albert Einstein, Isaac Newton, Nikola Tesla, John von Neumann, and many others understood reality and developed revolutionary inventions, thanks to systems thinking
Systems thinking has an impact on how we can understand reality. When thinking about our engineering teams and companies, but also the complex systems, like our planet.
This is one of the most important concepts I learned about. It helped me understand dynamics within teams and organisations. In this article, we'll cover the basics.
Open Loop Thinking
The ordinary way of solving problems is by a sequence of steps as an open loop. Imagine if someone reports a bug in your code.
→ Identify the problem
→ Gather information
→ Evaluate possible fixes
→ Decide on the best
→ Fix it
With systems in mind, we try to close these loops. No action you make exists in isolation. You fixed the bug but influenced the system which might have caused side effects to happen:
What caused the bug in the first place?
Can we have a system that prevents similar bugs from happening?
Systems thinking forces us to focus on closing those open loops and understanding the bigger picture in which we operate. In this case, we should dive deeper into what caused the bug to prevent similar issues from occurring again.
Systems Thinking
What exactly is systems thinking, or thinking in systems?
A system is a group of elements working together. The system has its boundaries, in which we can define the purpose of elements that cooperate. Systems are everywhere: companies, software, the world's economy, our bodies, our immune system, and the list goes on.
Systems thinking is a domain where we try to identify all the elements working together and how they cooperate.
The simplest example is the bathtub, by controlling inflow and outflow you control the level of stock, in this case, the amount of water in a bathtub:
When more water flows in than out, the bathtub increases the water level inside. When more water flows out than in, nothing stays in the bathtub.
Basic definitions
Stock
A stock is anything that has memory within the system. Its value may depend on changes in other values, and it may accumulate or decrease in time.
Examples: water level in a bathtub, money in the bank account, average temperature of the planet.
Flows
Flows are changes to the stock. Events that influence the system.
Examples: inflow and outflow of water, incoming transactions, CO2 emission to the atmosphere.
Feedback loops
Feedback loops are a closed chain of connections between system flows. These loops change and influence systems.
Balancing feedback loop — maintains an equilibrium and does not change.
Example: Our body constantly balances its temperature, heating or cooling itself as needed.
Reinforcing feedback loop — leads to either growth or decline, depending on whether the feedback is positive or negative. It triggers a sequence of events that causes further increase or decrease.
Examples: (positive) A successful company earns more money, which helps it grow even further. (negative) A project struggling with stability discourages clients from using it, leading to fewer clients and less money to fix its stability.
With stocks, flows and feedback loops as basic definitions — we can go further.
Structure Generates Behaviour
One of the most important features of systems is that their structure generates behaviours.
The way teams are structured forces interactions between people. Conway's law states that the communication structure of organisations shapes the systems they design. It's an example of system features.
The conclusion is that: If we want to change the behaviour of the system we should think of changing its structure.
Example: Project Quality
We had a simple project built in Ruby on Rails. The team consisted of two engineers: one senior and one regular. It was important to move quickly towards the deadline, but we also wanted to help the regular engineer get up to speed. The senior engineer dedicated time to mentor him one-on-one.
Thanks to this mentoring initiative, we observed a positive feedback loop:
Increased skills of the regular engineer
Increased client satisfaction
Fewer complaints/bugs
Reduced time spent by the senior engineer on resolving complaints/bugs
More time for the senior engineer to dedicate to mentoring
This, in turn, led to an even greater improvement in the regular engineer's skills — and the loop continues.
This example illustrates a positive feedback loop that helped improve the project’s quality.
Example: Culture of Continuous Improvements
In my previous company, we organised retrospective sessions for completed projects, internal initiatives, or any activities that required lessons to be learned. Clear procedures ensured that this important aspect of the company's culture was followed when needed.
It was a good source of positive reinforcement, helping to improve the system based on the lessons learned from our mistakes. Most of the retrospective sessions were available for everyone at the company.
Earth
We can model systems everywhere we need, but one of the most important for our survival is our planet.
Thinking in systems can help with our understanding of Earth's limited resources and its ability to recover. It’s a complex system with countless stocks, flows, and feedback loops.
Researchers who formalised and described systems thinking published The Limits to Growth (in 1972), where they discussed how exponential economic and population growth can act as a negatively reinforcing feedback loop for our planet. — It was an important book that raised awareness of climate change.
Summary
Thinking in systems allows us to see the bigger picture. Notice relationships between elements and understand what needs to be done to keep the system in good shape. It works for smaller ones like our companies and teams, but also big ones like our planet.
"Systems thinkers see the world as a collection of stocks along with the mechanisms for regulating the levels in the stocks by manipulating flows."
— Donella Meadows, Thinking in Systems: A Primer
Systems thinking is a complex domain, I'll focus on its features in future articles, to dive deeper into the details. I treat it as a whole category of mental models to explore.
Thanks for reading,
— Michał
P.S. If you want to experiment with a climate simulation by modifying flows and feedback loops like energy supply, industries, growth, and emissions, this is a great simulation prepared by MIT: The En-ROADS Climate Solutions Simulator
References
Lecture from MIT: System Dynamics: Systems Thinking and Modeling for a Complex World
Post Notes
Catalogue of Mental Models:
Free Mentoring Sessions
I'm mentoring on adplist.org — I'd love to help you make the most of your career or serve as your decision-making sparring partner.
Discord
With
, , and , we’ve just launched a Discord community: Engineering & LeadershipBe one of the first members to join us for Q&A sessions, virtual meetups, and events. I’m also planning to run a book club focused on leadership topics.
Discover Weekly — Shoutouts
Articles that might help you explore new perspectives, which I have read recently:
"You are thinking in the wrong direction" from
by and (with an insider's take on Amazon’s working backwards!)"The New Engineering Manager's Handbook" from
by and Oren Ellenbogen."A 3-step framework to never get down-leveled in your behavioral interviews again" from
by and"Merchants of Complexity — with DHH 🎙️" from
by
Connect
LinkedIn, Substack DM, or respond to this email.
Loved how you clarified what systems thinking actually is, because a lot of times it just gets used as a buzzword.
Thanks for the great article, Michal and for the mention. You're the best!
I wrote a post similar to this in business context a little while back. I’m a real estate investor but I think in terms of systems almost like decision trees in my head and it helps me breakdown the actionable steps to achieve short term and long term goals within our business. Keep up the good work!!