Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Patterns of Failure: The Basics of Systems Thinking

Systems thinking has its roots in system dynamics work first done by Jay W. Forrester at the Massachusetts Institute of Technology in the 1960s. Forrester recognized that the behaviors of the electrical feedback loops he was studying were in many ways very similar to larger patterns of behavior that he had observed within organizations, and even globally.

Open and Closed Systems: Feedback Loops are Standard Features in Common, Everyday Systems

The world is filled with open systems and closed systems. A heater with an on/off knob is an open system—it continues to heat the room regardless of how hot it gets. A heater with a thermostat is a closed system, because it has a feedback loop that senses the room temperature and shuts off the heater if it exceeds a preset value. However, in reality, even a simple heater can be part of a closed system; if a person acts as the sensor, they create a feedback loop, and thus a closed system. Feedback loops come in two flavors: reinforcing (positive feedback) loops, and balancing (negative feedback) loops. Reinforcing loops continually increase or continually decrease. Balancing loops ultimately converge on, or oscillate around, a stable equilibrium at some value. There are many real- life examples of both types of feedback loops. Compound interest, population growth, and the spread of an epidemic are all examples of reinforcing loops. Similarly, real estate cycles and the idea of “terminal velocity” in skydiving are examples of balancing loops. The feedback loops found in closed systems create complex, dynamic, and non-linear behaviors which are often unpredictable and defy traditional mathematics. Unfortunately, it is just these kinds of complex systems and behaviors that exist within most organizations.

Acquisition As a Dynamic System: Feedback Makes Acquisition Organizations Complex, Dynamic, Non-Linear Systems

Acquisition organizations are dynamic systems, where the interactions between the project management office, the contractor, subcontractors, sponsors, and users exhibit feedback. They are thus complex and non-linear—producing behavior that appears to be unpredictable and unmanageable. Beneath this unpredictability, however, are common structures that drive these behaviors which can be understood and managed. For example, when difficulties occur in software acquisition, the instinctive reaction is to address the effects that are causing the immediate pain to the program. This amounts to dealing with the symptom, rather than the underlying problem—and once the immediate pain is relieved, interest in dealing with the root cause is often forgotten. Left unchecked, this natural and intuitive response is not only ineffective in the long term, but erodes the program’s ability to solve the fundamental issue causing the problems. A systems thinking approach offers the chance to identify such dysfunctional behaviors, gain insights into the root causes of problems, and design interventions that can be used to manage, stop, and prevent such behaviors. The SEI has engaged in an exploration of patterns of failure in acquisition as viewed from a systems thinking perspective.