** NOTE: This is an excerpt from my upcoming Agile Stream Thinking book **
In this Section, I will highlight the concepts of system thinking and how by examining the relationship between components, we improve transformation chances versus looking at components in isolation.
System thinking is rooted in Systems theory, an interdisciplinary study of systems that have a goal to discover patterns and derive principles from combining several fields of research. A central topic of systems theory is self-regulating systems where the system self-corrects through feedback.[1] Self-regulating systems are found everywhere in nature, in living entities, human learning, organizations, in ecosystems, and in climate.
System thinking is a problem solving approach that attempts to balance holistic thinking and reductionist thinking.[2] The approach is to examine the relationships between the components which compose a system to better understand the effects of one component on another, compared to examining the components in isolation.
In previous sections, I referred to our tendency as human beings, to break down complex systems into sequential steps and align individuals along processes such as Factory Systems[3] and Waterfall Model,[4] which are linear in cause and effect, while a system thinking approach would examine the cyclical relationships and focus on the "patterns that connect" them.
A system is defined:
• Composed of parts
• All parts of a system related directly or indirectly; otherwise, they are distinct systems.
• Has a boundary
• Boundary of a system is a decision made by an observer, or a group of observers
• A system can be nested inside another system
• A system can overlap with another system
• A system is bounded in time, but may be intermittently operational
• A system is bounded in space, though the parts are not necessarily co-located
• A system receives input from, and sends output into, the wider environment
• A system consists of processes that transform inputs into outputs
• A system is autonomous in fulfilling its purpose
As we tried to identify what was our system in Ayna, we concluded that our system included most of our startup. Our approach to define the system was tied to the value delivered to the customer. We sought to understand which components interacted together and exerted pressure on the quality and speed we deliver software.
From that point forward we established that any decisions made, would include representatives of the components that define our system and discussed how each decision would be reflected and addressed by each component to arrive to the desired state.
It would have been futile to make changes in one area and ignore the effect of existing relationships to move things forward.
We followed a very simple approach when engaging in system decisions.
• Engage representative of all components.
• Enlist buy-in from all.
• When in doubt about the efficacy of a decision, run an experiment.
• If we have competing ideas, run multiple experiments.
• We may find a solution when we experiment and assure not to improve, if we do not try.
I have had the opportunity to support large scale transformations and from my vantage point, I could see many missed opportunities and misalignment between the components of the System. And surprisingly enough in most of the enterprise scale transformations that I had examined, the System did not include HR, business, customers, or operations, which limited the success rate of these transformations.
I think one of the reasons agile transformations are easier in smaller and newer companies, is the dynamic relationship between the components which can be easily integrated into a modified decision making structure, compared to an enterprise where silos limit access to the system that affects the SDLC. This forces transformation to be conducted in isolation, increasing the costs of transformation and chances of failure.
[1] System Theory, Wikipedia https://en.wikipedia.org/wiki/Systems_theory
[2] System Thinking, Wikipedia https://en.wikipedia.org/wiki/Systems_thinking
[3] Factory System. (n.d.). In Wikipedia. Retrieved December 14, 2015, from https://en.wikipedia.org/wiki/Factory_system
[4] Waterfall Model. (n.d.). In Wikipedia. Retrieved December 14, 2015, fromhttps://en.wikipedia.org/wiki/Waterfall_model