Skip to main content

Why Your Systems Behave Strangely: Systems Thinking for Software Architects

Table of Contents

Description
#

Have you ever fixed a performance problem only to see it reappear somewhere else? Or introduced a scaling improvement that caused unexpected downstream issues?

Complex software systems often behave in ways that surprise us. That’s because their behavior isn’t defined by individual components; it emerges from the relationships between them.

While many developers have heard the term systems thinking, the specific concepts behind it are less widely known. In Thinking in Systems, Donella Meadows describes a framework for understanding how complex systems behave, emphasizing relationships, feedback loops, and the unintended consequences that can emerge in interconnected systems.

In this session, we’ll explore how systems thinking applies directly to modern software architecture. You’ll learn how to identify patterns within systems, map relationships between services, recognize reinforcing and balancing feedback loops, and discover leverage points where small architectural changes can have a meaningful impact.

If you’ve ever wondered why distributed systems behave unpredictably, or how to design architectures that are resilient instead of reactive, this talk will give you a new lens for understanding the systems you build every day.

Slides
#

Carl Chesser
Author
Carl Chesser
lucky husband and father, software experimentalist, banjo apprentice, aspiring cartoonist, golden doodle whisperer