Search

How Systems Thinking Can Be Applied To Agile Transformations

Systems thinking is a popular buzzword today. We hear about it a lot and in different contexts: Healthcare, business, coaching, transformation initiatives etc.In this article, we will try to understand the conceptual basics of system thinking and how it can be applied to the Agile transformation initiatives to get extraordinary results and the influence of system thinking on the agile practices. We will see the common problems that plague Agile transformation initiatives, and what could be an effective solution from systems thinking lens.Systems thinking has already been established as a key management competency of the 21st century. Therefore, it is very rewarding to become ‘System-aware’ and ‘System-wise’.Barry Richmond coined the term ’Systems Thinking’ in 1987. However, this became hugely popular through Peter Senge’s book: ‘The Fifth Discipline’.This discipline helps us to see how to change systems more effectively. Systems Thinking is the art and science of making reliable inferences about behavior by developing an increasingly deep understanding of underlying structure.System thinking examples includes ecosystems in which various elements such as air, water, movement, plants and animals work together to survive, whereas in organizations systems consists of people, structures and processes that work together to make an organization “healthy” or “unhealthy”.Whether we want it or not, we are a part of many systems and interact with them on a continuous basis. A family, a team, an organization, an automobile, a tax system etc are examples of some system we are part of and interact with.What is a system?But what exactly is a system and how do we know when we see it? How can we use this to manage our organizations and initiatives better by using this knowledge?A system can be defined as:A group of interacting, interrelated or interdependent parts that forms a unified whole and has a specific purpose.Let’s examine this definition closely and identify the characteristics of a system. These characteristics help in identifying the system:All systems have purposeAll parts of a system must be present for a system to carry out its purpose optimallyThe order in which the parts are arranged, affects the performance of a systemSystems attempt to maintain stability through feedbackWhole is more than the sum of its parts“Whole” and “Part” are relative abstractionsA system is always subject to redefinition by changing the perspectiveCollection or systemSometimes, we may tend to get confused between a system and a collection. When in doubt, always look for the interrelatedness, interdependence and purpose. If any of this is missing, you are more likely dealing with a collection, rather than a system. This may also change based on the assumptions we are making and the perspective of observation. The assumptions define the boundary of the system under consideration.Let’s take an example: multiple types of fruits kept together in a basket is obviously a collection, as there is no interrelation or interdependence between the fruits, neither is there a goal of the fruit basket. However, let us change the perspective  and look at the fruit basket at a microscopic level. In this case, it becomes a system, as certain fruits interact with each other at a molecular level. This intermolecular interaction either aggravates or slow down the decay of certain fruits kept together. This is an example of how a system is always subject to redefinition by changing the perspective.System diversity:To simplify our understanding of the system, the system can be classified based on two factors: Structure (capability to understand) and Behavior (Capability to predict). In terms of structure, a system can be either simple or complicated, and in terms of behavior, a system can be either ordered, complex or chaotic.We generally refer to the system as a combination of two factors, like Simple-Ordered, Simple-Complex, Complicated-ordered etc.An organization can typically be classified as a ‘Simple-Complex’ system. This means that while the structure of the organization can be easily understood (simple), yet its behavior is moderately difficult to predict, primarily because of the presence of human interaction (complex).System ThinkingThis picture summarizes what could go wrong if we are not system aware. When we focus on local optimization and ignore the global impact, we create more problems for the future.It is said that ‘today’s problems are yesterday’s solutions’. This is mainly the result of quick fixes, we create without considering the overall system.Reality can be seen through the following levels of perspectives: Events, patterns and systemic structures. This can be represented as an Iceberg to put the system in context.Events are occurrences we encounter on a day-to-day basis.Patterns are the accumulated memories of the event. When viewed together as a series over time, they reveal recurring trends.Systemic structures are the ways in which the part of the system are organized. The events and patterns are usually generated by these structures.We live in an event-oriented world and our language and actions are heavily rooted at the event level. Our decisions are majorly guided by events. In reality events are the results of deeper patterns and systemic structures. But these are not easily visible. Understanding where to act leads to a higher leverage action. A leverage point is a point where small change can yield large improvements in the system. As we go from events to patterns to systemic structures, the leverage increases.Why is systems thinking importantBetter decisions on the addition or modification of services, or the applications based on how they affect the overall system and business.Understand what is important to the business based on the system.Tools to constitute the interactionsSystem thinking uses some tools like feedback loops and behavior over time graphs to represent the interactions in the system. These can be thought of as the rules of grammar for the language.Application of systems thinking in Agile transformation can help us map the organization as a system using the reinforcing and balancing loops and identify the right leverage points to act. The following points should be considered:Take a systemic view→ draw the system diagramIdentify the central subject that needs attention. As a group, ideate on the different variables affecting the central theme or getting affected by it. Draw the causal loop diagram to identify whether it is a reinforcing loop or a balancing loop.Look out for leverage points→ an area where a small change can yield large improvement in the systemTypically a leverage point at a pattern level will be high in impact than at event level and the one at the systemic structure level will have greater impact, than at the pattern levelLook at the organization as a system and identify the system archetypeDrawing the systemic structure helps in identifying the system archetype. Since structure influences behavior therefore, this knowledge is key to understanding the system behavior and thus the right leverage points.Look for (and address) causes not the symptoms.Although we live in a event driven world, yet as system thinkers, our focus should be on identifying the patterns and systemic structures and act thereon. Today’s problems come from yesterday’s solutions hence localized solutions merely shift the problem from one part of the system to the otherThe following table gives a mapping between the level of perspective, and the action modes. The leverage decreases as we move from top to bottom in the table.Levels of perspectiveAction modeSystemic structuresCreativePatternsAdaptiveEventsReactivePrinciples of system thinking:A system is:Created by the nature or human beingsPhysical, abstract, or humanA whole separated from its environment by a borderAlways remember:The harder you push, the harder the system pushes back.Be sensitive towards the compensating feedback: When well-intentioned interventions result in responses from the system that offsets the benefits of the interventions.

How Systems Thinking Can Be Applied To Agile Transformations

1K
How Systems Thinking Can Be Applied To Agile Transformations

Systems thinking is a popular buzzword today. We hear about it a lot and in different contexts: Healthcare, business, coaching, transformation initiatives etc.

In this article, we will try to understand the conceptual basics of system thinking and how it can be applied to the Agile transformation initiatives to get extraordinary results and the influence of system thinking on the agile practices. We will see the common problems that plague Agile transformation initiatives, and what could be an effective solution from systems thinking lens.

Systems thinking has already been established as a key management competency of the 21st century. Therefore, it is very rewarding to become ‘System-aware’ and ‘System-wise’.

Barry Richmond coined the term ’Systems Thinking’ in 1987. However, this became hugely popular through Peter Senge’s book: ‘The Fifth Discipline’.
Agile TransformationsThis discipline helps us to see how to change systems more effectively. Systems Thinking is the art and science of making reliable inferences about behavior by developing an increasingly deep understanding of underlying structure.

System thinking examples includes ecosystems in which various elements such as air, water, movement, plants and animals work together to survive, whereas in organizations systems consists of people, structures and processes that work together to make an organization “healthy” or “unhealthy”.

Whether we want it or not, we are a part of many systems and interact with them on a continuous basis. A family, a team, an organization, an automobile, a tax system etc are examples of some system we are part of and interact with.

What is a system?

But what exactly is a system and how do we know when we see it? How can we use this to manage our organizations and initiatives better by using this knowledge?

A system can be defined as:

A group of interacting, interrelated or interdependent parts that forms a unified whole and has a specific purpose.

Let’s examine this definition closely and identify the characteristics of a system. These characteristics help in identifying the system:

  • All systems have purpose
  • All parts of a system must be present for a system to carry out its purpose optimally
  • The order in which the parts are arranged, affects the performance of a system
  • Systems attempt to maintain stability through feedback
  • Whole is more than the sum of its parts
  • “Whole” and “Part” are relative abstractions
  • A system is always subject to redefinition by changing the perspective

Collection or system

Sometimes, we may tend to get confused between a system and a collection. When in doubt, always look for the interrelatedness, interdependence and purpose. If any of this is missing, you are more likely dealing with a collection, rather than a system. This may also change based on the assumptions we are making and the perspective of observation. The assumptions define the boundary of the system under consideration.

Let’s take an example: multiple types of fruits kept together in a basket is obviously a collection, as there is no interrelation or interdependence between the fruits, neither is there a goal of the fruit basket. However, let us change the perspective  and look at the fruit basket at a microscopic level. In this case, it becomes a system, as certain fruits interact with each other at a molecular level. This intermolecular interaction either aggravates or slow down the decay of certain fruits kept together. This is an example of how a system is always subject to redefinition by changing the perspective.

System diversity:

To simplify our understanding of the system, the system can be classified based on two factors: Structure (capability to understand) and Behavior (Capability to predict). In terms of structure, a system can be either simple or complicated, and in terms of behavior, a system can be either ordered, complex or chaotic.

We generally refer to the system as a combination of two factors, like Simple-Ordered, Simple-Complex, Complicated-ordered etc.

An organization can typically be classified as a ‘Simple-Complex’ system. This means that while the structure of the organization can be easily understood (simple), yet its behavior is moderately difficult to predict, primarily because of the presence of human interaction (complex).

System Thinking
system thinkingThis picture summarizes what could go wrong if we are not system aware. When we focus on local optimization and ignore the global impact, we create more problems for the future.

It is said that ‘today’s problems are yesterday’s solutions’. This is mainly the result of quick fixes, we create without considering the overall system.

Reality can be seen through the following levels of perspectives: Events, patterns and systemic structures. This can be represented as an Iceberg to put the system in context.
Levels of perspective

  • Events are occurrences we encounter on a day-to-day basis.
  • Patterns are the accumulated memories of the event. When viewed together as a series over time, they reveal recurring trends.
  • Systemic structures are the ways in which the part of the system are organized. The events and patterns are usually generated by these structures.

Leverage of perspectiveWe live in an event-oriented world and our language and actions are heavily rooted at the event level. Our decisions are majorly guided by events. In reality events are the results of deeper patterns and systemic structures. But these are not easily visible. Understanding where to act leads to a higher leverage action. A leverage point is a point where small change can yield large improvements in the system. As we go from events to patterns to systemic structures, the leverage increases.

Why is systems thinking important

  • Better decisions on the addition or modification of services, or the applications based on how they affect the overall system and business.
  • Understand what is important to the business based on the system.

Tools to constitute the interactions

System thinking uses some tools like feedback loops and behavior over time graphs to represent the interactions in the system. These can be thought of as the rules of grammar for the language.
ToolsApplication of systems thinking in Agile transformation can help us map the organization as a system using the reinforcing and balancing loops and identify the right leverage points to act. The following points should be considered:

  • Take a systemic view→ draw the system diagram
  • Identify the central subject that needs attention. As a group, ideate on the different variables affecting the central theme or getting affected by it. Draw the causal loop diagram to identify whether it is a reinforcing loop or a balancing loop.
  • Look out for leverage points→ an area where a small change can yield large improvement in the system
  • Typically a leverage point at a pattern level will be high in impact than at event level and the one at the systemic structure level will have greater impact, than at the pattern level
  • Look at the organization as a system and identify the system archetype
  • Drawing the systemic structure helps in identifying the system archetype. Since structure influences behavior therefore, this knowledge is key to understanding the system behavior and thus the right leverage points.
  • Look for (and address) causes not the symptoms.
  • Although we live in a event driven world, yet as system thinkers, our focus should be on identifying the patterns and systemic structures and act thereon. Today’s problems come from yesterday’s solutions hence localized solutions merely shift the problem from one part of the system to the other

The following table gives a mapping between the level of perspective, and the action modes. The leverage decreases as we move from top to bottom in the table.

Levels of perspectiveAction mode
Systemic structuresCreative
PatternsAdaptive
EventsReactive


Principles of system thinking:

A system is:

  • Created by the nature or human beings
  • Physical, abstract, or human
  • A whole separated from its environment by a border

Always remember:
The harder you push, the harder the system pushes back.

Be sensitive towards the compensating feedback: When well-intentioned interventions result in responses from the system that offsets the benefits of the interventions.

Prince

Prince Mishra

Blog Author

Agile, Scrum and Kanban training and coaching , SAFe, CMMI, Process improvement, Metrics, ISO 9001:2008; ISO 27001, Open Source software process

Join the Discussion

Your email address will not be published. Required fields are marked *

Suggested Blogs

Combination Of Agile & DevOps – The Roots

Agile and DevOps are two notions that originate from the same schools of thought, but whose paths now have digressed. However, a major amount of confusion still remains within the IT services industry with regards to the relationship between the two and has emerging agile & devops trends in 2017. Hence, it is of value to look at the origins of each and to clarify the disparities between them. ‘Tell me what you want, what you really really want!!’ Does the tune ring a bell? Back in the 1990s, the Spice Girls were expressing to the world what they really really wanted, and similarly business owners and corporate leaders were doing pretty much the same, indicating what they wanted to software developers who were working on enabling these organizations through technology. Unfortunately, these business owners were not as lucky as the Spice Girls. More often than not they really didn’t get what they wanted. By the time business requirements were properly understood, validated and finally realized through software products the business requirements more or less had changed.  This was mainly due to the ‘application delivery lag time period’ that sometimes went up to three years. The result of the aforementioned delay from concept to realization meant that a large proportion of projects were stopped before completion. Even then, those that eventually reached the finish line more often than not did not meet the end users’ expectations.  The introduction of Agile – The change-driven management approach The search was on for a more lightweight approach to solution delivery and the result was ‘agile’ – a project management approach with a series of new concepts with regards to collaboration between business owners and the implementation team including UI / UX engineers, developers and even QA engineers. Instead of eliciting, documenting and signing off all the requirements up front and getting it signed off before work began, the focus shifted to delivering value through increments of functional software that would evolve over time. The results indicated that the software implementation team had become more productive, businesses could be more responsive in responding to queries of the implementation team, and user demands could be met more efficiently. However, problems remained. The agile approach didn’t always deliver on the promise of continuous, seamless software development. Blockers continued to exist. So, what is DevOps? The first thing to note is the fact that DevOps is not an individual tool or a suite of solutions but more of a philosophy whose primary purpose is to reduce the distance between the worlds of software development and IT operations. It defines how the original concepts of agile have moved downstream to the level of infrastructure and operations. The DevOps concept sounds relatively straightforward, but in reality it is a little bit more complicated. Software development and IT operations have historically had very different approaches. Software developers appreciate the ability to change things quickly and often they do end up changing things rapidly. In the meantime IT operators focus on stability and on minimizing alteration. This philosophical disparity has often resulted in conflicts. Thus, one of the main challenges of DevOps is to ensure that this conflict decreases before it affects the businesses. Importance of DevOps Principles For this very reason indicated above, it is very important to consider and act up on the core principles of DevOps. They are, Close collaboration and communication between developers, system operators and software testers Continuous integration that requires developers and operators to commit to changes more frequently Continuous delivery to increase the team’s speed and efficiency while enabling early detection of bugs Continuous deployment to ensure new developments can be released without system downtime The DevOps philosophy goes hand-in-hand with the delivery processes described in ITIL Framework in terms of support and IT services management. DevOps can therefore be seen as a way to implement ITIL processes in such a manner that meets the demands placed on systems today.  
3323
Combination Of Agile & DevOps – The Roots

Agile and DevOps are two notions that originate fr... Read More

Metrics that matters for DevOps Success

DevOps is generally introduced for the development teams to speed up the software delivery. DevOps is considered as a step beyond Agile. Many enterprises accepted DevOps as a part of software delivery process from planning, developing, deploying and updating an application, according to reviews. In this competitive world, DevOps allows businesses to speed up with the rapid pace of demands by the customers.Here are the top Ways to Obtaining Business Benefits of DevOps. Customers of today demand quality as well as security based products. DevOps, making the best use of its principles, provides superior quality and lowers the risk. On the contrary, in traditional software development approach, increased speed often results in poor quality and increased vulnerabilities. Why are metrics essential? Most organizations implement DevOps because of the demand for quality, time improvement and the need for defect-free products. Since DevOps has no specified framework, there exist a few standard ways to measure DevOps success. How do you find out how well it can work? How will you come to know whether it is working or not? The answer to this question, and the solution to all the existing problems, is the use of Metrics. Metrics are essential to stay in sync with DevOps. DevOps will be used extensively which therefore requires continuous treatment. But if you are not measuring its outcomes, you cannot understand how to incorporate DevOps in your organization. The focus of DevOps metrics is on deployment, operations, and support (feedback). Let us have a look at the Devops metrics which will lead to improved delivery performances. People: People are the major elements of the DevOps process. People-oriented metrics measure the things like yielding, capacity and response time. People are the hardest element of DevOps. So always start with the phase ‘People’. Process: In some ways, DevOps is considered as a process of  continuous deployment. There are many process-oriented metrics. Development to deployment is a large process-oriented metrics. Process metrics can be the measurement of speed, appropriateness and effectiveness. Technology: Technology metrics also plays a major role in DevOps. It measures the things like uptime (time during which the computer performs operations), network and support, and failure rate. Deployment (or Change) Frequency: DevOps metrics includes continuous deployment. Updated software deployment in every few days can be possible with fast feedback and piecemeal development. In a DevOps environment, deployment frequency can be measured in terms of the response time, the teamwork, the developer capacities, development tools and the overall efficiency. Change Lead Time: Change lead time is the time period between the initialization phase to the deployment phase. In DevOps, it is a measure of development process efficiency, code and the development systems’ complexity, and also of team capabilities. A protracted ‘change lead time’ is an indicator of an inefficient deployment system. Change Failure Rate: One of the main goals of DevOps is to do frequent deployment with less failure rates. Failure rates metrics should be decreased over time, as the experience and the capabilities of the team and developers get increased. If the frequency of failure is very high, it is definitely a red flag, as it gives rise to problems in the overall DevOps process. Mean Time to Recover: Time taken between ‘recovering the failure’ from the ‘failure’ is known as Mean Time to Recover (MTTR). It can be fragmented into three phases- detection, diagnosis and recovery phases. MTTR metrics is the sign of a good teamwork which identifies how effectively the teams handle the changes, and also, how collaboratively they do so. By all means, this metric is becoming a trend for DevOps to remodel organizational processes in a better way.
Metrics that matters for DevOps Success

DevOps is generally introduced for the development... Read More

Agile and DevOps Or Agile vs DevOps: Differences

Agile is the standard in today’s application development world. Development teams are adopting it over the last 10 years, as it has been proved to be more efficient methodology of getting quality software. Agile has improved user experience by frequently rewarding with focussed goals and quick delivery. In addition to this, the broad use of DevOps in Agile methodology has made it a more compelling approach for IT commercials. In this context, it is important to know that Agile is not DevOps, and DevOps is not Agile. It is difficult to achieve success in DevOps, if Agile practices are not followed. While Agile can make sense independent of DevOps, it can be more complete when accompanied by DevOps practices.Here are the emerging Agile and DevOps Trends. Many people have set their minds about Agile, that Agile means Scrum and DevOps means continuous delivery. This simplification creates unnecessary confusion between Agile and DevOps, making people think that they are perfectly compatible. So, let us have a look at the practical connections between Agile and DevOps. Planning for Unplanned work: In the DevOps circle, those using Agile acknowledges that Scrum is used to track the planned work. Tasks like releasing updated system, performing system upgrades etc, can be planned. On the other hand, the operations like performance spikes, system expiry, and standard security, can be unplanned. These types of tasks need immediate response. You cannot wait for the next sprint planning session. For this reason, many organizations embrace DevOps (more than Scrum and Kanban), which helps to track both kinds of work. Before, there were priorities from multiple masters, but now a single set of priorities are in use. Similarly, for a long list of assigned work, the time period is planned to accomplish the work. These lightweight management practices by Scrum make a huge difference for a team. Speed vs Risk: Teams using Agile with or without DevOps have to remember that, to support the rapid change, a sound application structure and a solid foundation are mandatory. Applications must have good underlying framework that must be used constantly by the team members. In the DevOps context, the teams must make sure that the changes which are made to the architecture should not introduce any risk. Also, there should not be any hidden side-effects associated with the changes, because the iterative process consists of regular changes in the architecture. So you should be concerned about the risks associated with each and every change made. Only with this type of work will you get rapid delivery without any risk. Agile and Quality: Both Agile and DevOps help develop an application fast, keeping sound structure and risk-free application.  But neither of them concentrates on the quality of the product. Mostly, IT organizations rely on the ‘fail fast’ principle- “ Early failures cost less to fix”. But with this, only fast deployments can be maintained, not quality. Agile produces applications that fit better with the desired requirements and can adapt quickly to respond to the requirement changes made on time, during the project life. DevOps, along with the automation and early bug removal, contributes to creating better quality. Developers must follow Coding and Architectural best practices to  embed quality in the applications. Agile and DevOps should try reach the next level to become highly effective within the organizations. They must conform to the industry standards using Agile and DevOps practices, to allow the development team to improve quality, make delivery faster and avoid software risks.
1442
Agile and DevOps Or Agile vs DevOps: Differences

Agile is the standard in today’s application dev... Read More

Useful links