Disciplined Agile

Systems Thinking and How It Can Be Applied to Frameworks and Methods

Systems thinking: People are already doing their best, the problems are with the system. Edwards Deming

What is Systems Thinking?

Systems thinking is considering a system to be an interrelated and interdependent set of parts which is defined by its boundaries and is more than the sum of its parts (subsystems). Changing one part of the system affects other parts and often ripples through the entire system. While the specific impact itself may not be predictable, there are many patterns of behavior which are.

The goal of systems thinking is to systematically discover the system’s dynamics, constraints, conditions and elucidating principles (purpose, measure, methods, tools, etc.) that can be discerned. With this knowledge improvements can be suggested and then run as experiments, knowing that seemingly simple changes often will create unknown side-effects.

A Quick Overview of Systems Thinking

Consider a single-engine airplane. What part of it is responsible for flight? It’s a pretty silly question, actually. While you need an engine for power, wings for lift, controls to direct it,  a place for the pilot, and other things, not one of them is responsible for flight. They are all responsible. If you improve one of them (e.g., make a stronger engine) you may actually damage the ability of the plane to fly (e.g., you may now not have large enough wings to provide you with enough lift). This illustrates the first lesson of systems thinking – systems work as a whole and improving one part may degrade the performance of the whole.

There is another aspect of systems thinking related to this. Consider identifying the fifty best cars in the world. Now, consider which of these cars has the best transmission, which one has the best engine, which one the best seats, and so forth until you have the best parts of the best cars. Now, let’s take it a step further and get these best parts of the best cars and try to put them together. They won’t fit. You’ll just have a pile of junk. But let’s say you somehow got them to fit- you still wouldn’t have a working car. This illustrates the second lesson of systems thinking – it is more important to see how the parts of a system fit together than what the parts themselves are. 

Some of the lessons from these two insights are:

  • Never assume a local improvement in a system will be a system wide improvement
  • When making a change to a component in the system, you need to attend to how other parts of the system relate to the component

Systems Thinking and Complexity

Systems thinking tells us to attend to the relationships between the components of a system more than the components themselves. The challenge is as the number of components increase the number of relationships between them increases exponentially. And, when these relationships have to do with human behavior they are only somewhat predictable. But this complexity does not mean that we cannot make reasonably accurate predictions about the effects of change in a system. Nor that we can’t learn how to make better predictions when we are wrong. While it is true that one cannot have certainty on what affects a change will make, there is a fair amount of predictably available.

The approach to take is to make predictions based on the laws of development present and on the known relationships and current state of the organization. We can make a change, but know we may be missing some relationships and possibly be misinterpreting others. We therefore consider the change an experiment. One that we think will work. If we don’t get an improvement we have likely found out about a relationship we weren’t aware of or a relationship that we have to be careful of. In either event we’ve learned something and our next “experiments” should be better.

Systems Thinking Suggests Attending to How People Will React to the Suggested Approach

Systems thinking is a foundation of DA FLEX. In order to consider the system as a whole we must look at what we want the system to achieve – quick realization of business value, predictably, sustainable and with high quality. When we get challenges to this we want to look and see why and what can be done about it.

However, looking at the work mechanistically is insufficient. How the organization will react to any changes must be considered by any approach you take. Their reaction is part of the system. The natural laws of software development are now pretty well known. The challenge is not just what are the correct practices as much as how to get people to adopt them.

Our approach must be understanding our challenges, the intentions they are blocking and considering different solutions to eliminate the challenges. Many of these challenges are in fact how people react to change. We cannot just say “follow this” without attending to how people react to that mandate. With apologies to Nike, you can’t just say “just do it.” The greatest areas of unpredictably in a system is how people will react – not the laws of product development.

If the approach you are undertaking doesn’t incorporate this systems thinking perspective, expect difficulties and resistance. If your approach requires that people need to be a certain way (e.g., commitment, focus, openness, respect and courage), you must ask yourself “what will happen if they don’t have these qualities?”. You should not be surprised if you don’t get the results the approach purports. In this situation you should also ask “how can I change the system so as to encourage these values?”.

DA FLEX recognizes that it becomes part of the system when used to improve it. Hence it considers how people learn and change in its guidance. When applying DA FLEX, it is important to see how people react to it. Some of this is in the ability of the coach to interact with people. This is one of the reasons that DA FLEX is designed to be used in a step-wise manner attending to the culture of the organization.

Applying Systems Thinking to Frameworks

A system is a network of interdependent components that work together to try to accomplish the aim of the system. A system must have an aim. Without the aim, there is no system. Edwards Deming

There are several ways systems thinking can be applied to frameworks. These include:

  • Beware of taking part of a framework and applying it. While starting with part of a framework can be a good way to start, taking parts of a framework may have unintended consequences. Systems thinking tells us that not attending to the relationship this part has with others may cause problems. This is not to say not to do this, but to be aware of challenges it may cause.
  • Ensure the goal of the system is made clear throughout the organization. Alignment is not possible if people are working at cross-goals.
  • Everyone needs to do their work within the context of the intent of the system.  While delegation is a cornerstone of Lean and Agile, the delegator must always make the desired outcome clear. This might even be that the delegatee must clarify things. People at all levels in the organization must attend to how their local actions will affect the big picture.

A system must be managed. It will not manage itself. Left to themselves, components become selfish, competitive, independent profit centers, and thus destroy the system. Edwards Deming

December 2022