![[SE] #3. How to Win the Fight Against Complexity: Systems Thinking Patterns and Laws 1 This image is for Systems Thinking](https://i0.wp.com/www.autosyseng.com/wp-content/uploads/2025/06/ChatGPT-Image-2025%EB%85%84-6%EC%9B%94-11%EC%9D%BC-%EC%98%A4%ED%9B%84-09_34_17-1-optimized.jpg?resize=1024%2C1024&ssl=1)
The products we create these days, especially in the automotive electronics field where I work, are the epitome of complexity. It’s not just once or twice that I’ve been stumped, with countless functions tangled together, not knowing where to even begin. There were times I even felt a sense of inadequacy, wondering, “Is this beyond my abilities?” I’m sure many engineers can relate. 😊
But before blaming the complexity, I realized there was a need to check my ‘way of thinking.’ My approach to problems changed completely after I learned about ‘Systems Thinking’—a perspective that sees the whole forest, not just the individual trees. Today, I want to share that useful knowledge of systems thinking in an easy and comfortable way.
Five Concepts to Penetrate the Essence of a System 🧐
The first step in systems thinking begins with understanding the basic concepts that make up our world. It might sound difficult, but when you look closely, they are things we encounter all the time.
- Abstraction: This is the skill of leaving only the core and boldly omitting the rest in a complex reality. Rather than creating a perfect model, it’s about simplifying to the minimum elements necessary for problem-solving.
- Boundary: It’s the ‘line’ that distinguishes what is part of the system and what is the external environment. How you set this boundary can completely change the scope of the problem and the method of solution.
- Change: Systems are not fixed; they are constantly changing. It’s important to read the patterns of how a system changes over time.
- Dualism: This is the concept that everything has two sides. You need to consider two complementary aspects together, like software and hardware or process and data, to see the whole picture.
- Encapsulation: This means bundling related things together and hiding the internals. It allows the outside to use it easily without knowing how the inside works. It’s also a core principle of Object-Oriented Programming (OOP).
These five concepts are not separate from each other. For example, you can extract important elements through ‘Abstraction,’ set a ‘Boundary,’ and then ‘Encapsulate’ the elements within it to build a structured system.
![[SE] #3. How to Win the Fight Against Complexity: Systems Thinking Patterns and Laws 2 Image fx 21](https://i0.wp.com/www.autosyseng.com/wp-content/uploads/2025/06/Image_fx-21-optimized.jpg?resize=1024%2C559&ssl=1)
The Immutable Laws that Govern Systems ⚖️
Just as there are laws for all things in the universe, systems also have laws that cannot be defied. Just knowing these two laws can help you draw the big picture of problem-solving.
Law Name | Core Content |
---|---|
Law of Requisite Variety | This principle states that for a system to effectively respond to the diversity of its external environment, the system’s interior must have an equivalent amount of variety. In short, complex problems require complex solutions. |
Law of Requisite Simplicity | This law states that any system should appear simple to the user. No matter how complex the internals are, the user must be able to use it simply. The smartphone is a great example! |
![[SE] #3. How to Win the Fight Against Complexity: Systems Thinking Patterns and Laws 3 Image fx 22](https://i0.wp.com/www.autosyseng.com/wp-content/uploads/2025/06/Image_fx-22-optimized.jpg?resize=1024%2C559&ssl=1)
The Wisdom of Problem-Solving: System Patterns & Heuristics 🧠
It’s incredibly inefficient to start from scratch every time you face a new problem. Fortunately, there is wisdom passed down from senior engineers in the form of ‘Patterns’ and ‘Heuristics’.
Typical System Architecture Patterns 📝
- Modularization: This involves dividing a system into independent ‘modules’ by function. This makes development and testing easier and prevents a problem in one module from spreading to others.
- Layered Architecture: This is a method of dividing the system into several horizontal ‘layers.’ Each layer has a specific role and only communicates with the layers directly above and below it. The automotive software standard, AUTOSAR, is a prime example.
- Integrated Control: This pattern reduces cost and space by integrating multiple functions into a single controller (ECU). It’s a method commonly used in modern cars.
If there are good patterns, there are also bad ones, known as ‘Anti-Patterns.’ A classic example is ‘Escalation of Commitment,’ where you continue to push a wrong decision because of the sunk costs. Another is the ‘Big Ball of Mud,’ which describes code that has become a tangled mess due to unsystematic development. We must avoid these traps, right?
![[SE] #3. How to Win the Fight Against Complexity: Systems Thinking Patterns and Laws 4 Image fx 23](https://i0.wp.com/www.autosyseng.com/wp-content/uploads/2025/06/Image_fx-23-optimized.jpg?resize=1024%2C559&ssl=1)
Systems Thinking Core Summary
Frequently Asked Questions ❓
Today we explored systems thinking, a powerful tool for solving complex problems. It might feel a bit unfamiliar at first, but if you start applying the concepts and patterns introduced today to your work, you will surely develop a perspective that sees the essence of problems. I’m still in the process of learning, too. Let’s grow together! 😊
If you have more questions or want to share your experiences, please feel free to leave a comment!
![[SE] #3. How to Win the Fight Against Complexity: Systems Thinking Patterns and Laws 5 Image fx 24](https://i0.wp.com/www.autosyseng.com/wp-content/uploads/2025/06/Image_fx-24-optimized.jpg?resize=1024%2C559&ssl=1)