➡️ Systems Thinking

Let’s talk about Systems Thinking.

💡
Systems Thinking is a mental model you can use to solve complex problems by representing them in the form of stocks and flows.

🤔 Why you should care about it

Systems thinking is the most universally useful toolkit I’ve found [to solve complex problems]” - Will Larson, CTO at Calm and author of An Elegant Puzzle

Software engineers usually solve software problems by designing software systems. What if you could solve human problems, like developer velocity or onboarding, designing human systems?

😫 Problem(s)

Events don’t happen in a vacuum —> many variables can impact a project or organisation, and making changes locally can sometimes have little to no impact globally.

It’s hard to anticipate the impact of a trade-off —> every choice we make has future advantages and disadvantages: the more options, the more complex the modelisation of their future outcomes.

😃 Solution

Thinking in systems allows you to deconstruct a problem into interconnected elements to produce a function or purpose. For example, an engineering development process is a system with elements (stocks) such as user stories, pull requests or ready commits. Its interconnections (flows) are the coding rate, the code review rate or the deploy rate. The team's purpose is to release quality features fast into production.

💡 Key Concepts

Stocks —> a system stock is an accumulation of material or information built up over time.

Flows —> stocks change over time through the actions of a flow. There can be inflows and outflows. Every flow is a rate, whereas every stock is a quantity.

Limiting factor —> a system variable that causes a noticeable change in output.

Feedback loop —> feedback occurs when outputs of a system are routed back as inputs as part of a chain of cause-and-effect

😡 Detractors

My organisation is too complex to be represented with simple stocks and flows.

—> The map is not the territory. When using systems thinking, you can accept some simplification as long as it serves the problem you’re trying to solve.

Systems disconnect you from reality.

—> When your model and reality conflict, the reality is always right. It’s easy to fall for your model, but you should always consider real-world results to adapt the model (instead of looking for results to comfort your model).

Systems thinking doesn’t take into account human beings.

—> A model represents a system independently of the human beings who are part of its elements. When considering changing a variable or adding elements, you have to factor in human beings and act accordingly.

📚 Top books

Amazon.fr - Thinking in Systems - Meadows, Donella, Wright, Diana - Livres
Noté /5. Retrouvez Thinking in Systems et des millions de livres en stock sur Amazon.fr. Achetez neuf ou d’occasion
Applied Minds: How Engineers Think (English Edition) eBook : Madhavan, Guru: Amazon.fr: Boutique Kindle
Achetez et téléchargez ebook Applied Minds: How Engineers Think (English Edition): Boutique Kindle - Social Aspects : Amazon.fr

⚙️ Templates / Tools

Insight Maker | Build simulations and models for free
Free system dynamics and agent based modeling (ABM) application. Build and share models and simulations for free.
Palette of Systems Thinking Tools - The Systems Thinker
here is a full array of systems thinking tools that you can think of in the same way as a painter views colors many shades can be created out of three primary colors, but having a full range of ready made colors makes painting much easier. The systems thinking tools fall under several broad categori…

📝 Content

Introduction to systems thinking.
Many effective leaders I’ve worked with have the uncanny knack for working on leverage problems. In some problem domains, the product management skillset is extraordinarily effective for identifying useful problems, but systems thinking is the most universally useful toolkit I’ve found.
Systems Thinking: What, Why, When, Where, and How? - The Systems Thinker
f you’re reading The Systems Thinker®, you probably have at least a general sense of the benefits of applying systems thinking in the work-place. But even if you’re intrigued by the possibility of looking at business problems in new ways, you may not know how to go about actually using these princip…
The Three Essential Properties of the Engineering Mind-Set
In his book Applied Minds: How Engineers Think, Guru Madhavan explores the three essential properties of the engineering mind-set
How to safely think in systems.
While there are a decent number of folks out there modeling systems, there’s a much larger group of folks who think of themselves as systems thinkers but utilize techniques like modeling rather casually (a polite way of saying that they don’t use them). Even with modeling tools available, I’ve often…