Systems Thinking for Software Professionals

Systems experts have taught us how to improve our software systems:

Peter Senge has demonstrated that we blame the wrong things (events, situations or processes) for our systemic problems.

W. Edwards Deming says that 94% of the time, the system is to blame for performance issues, not the individual parts of the system.

Jay Forrester discovered counterintuitiveness: most organizations “fix” systemic problems by inadvertently making them worse.

Donella Meadows said, “We'll go down in history as the first society that wouldn't save itself because it wasn't cost-effective.”

As relational complexity increases, we need to think in systems. I don't just mean adopt Kubernetes. Technology systems are always, also, people systems. Without systems thinking, nothing is transformed. As Robert Pirsig said,

"If a factory is torn down but the rationality which produced it is left standing, then that rationality will simply produce another factory."

Systems thinking is becoming a core and critical skill. The Iceberg Model, for example, helps us understand "the rationality that produced" our current situation. As a software professional, you can use itwhenever you want to understand the root cause of a system challenge.

Using tools like the iceberg model is deceptively simple. Avoiding the iceberg ... takes committed practice.

Next

Don't Hit the Iceberg