Software Creation Mystery - http://softwarecreation.org

How to Meet Challenges with Systems Thinking

A. Life Challenges and Systems

Your life continuously presents new challenges. And your success directly depends on your ability to meet these challenges. You can choose various approaches – react on problems as they come, appeal to supernatural forces or seek for advise.

But how many times

  • you didn’t understand why thing happen and what to do
  • you found that reality and challenges are more complex than they seem
  • your solutions create new problems and make things worse

Welcome to the messy world of complex systems that encompass your life and compose our Universe.

1. You can be the master of your life if you can understand and influence systems involved in your challenges. That means that you should become the Master of Systems Thinking.

However, it is daunting task to understand and use the systems around you. That is why many people stuck without career growth, cannot achieve their top level or stop pursuing big goals. They gave up attempts to master systems that drive our projects and life.

B. What is a system and systems thinking?

system – a group of independent but interrelated elements comprising an integrated whole

systems thinking – the process of understanding how system elements interact to produce system behavior.

The systems are characterized by
  • structure – composition of elements
  • behavior – involved inputs, processes and outputs of material, energy and/or information
  • interconnections – structural and functional relations between elements
  • emerging properties -system properties that do not appear in individual elements (e.g. car individual parts cannot move by themselves)

Systems are everywhere. They interact with each other and environment, belong to other systems and contain own sub systems. In addition, we, humans, constantly create new systems that usually cause more problems than solve.

The most valuable outcome of systems thinking is accurate explanation of the current state and right prediction of what will happen next.

2. Ability to predict and influence future is the most important skill of the Master of Systems Thinking

Examples of systems related to Software Development
  • Technology, software systems and operation environments
  • People, team, company
  • Business, industry, customers and user communities
  • Economy, society, world
  • Universe

C. Elusive Systems

Here is grim reality: “Large complex systems are beyond human capacity to evaluate” [Systemantics]

3. Inability to understand systems is the most serious obstacle for the Master of Systems Thinking. Unfortunately, most systems are complex and the master will not understand them.

Even a system with few components can be considered as complex – elements can be in multiple states, relations and participate in many interactions inside and outside of the system. People spend billions dollars on research of relatively simple systems as interaction of elementary particles and best minds cannot still can get the right theory. I doubt that anybody will spend large effort on research of more complicated peculiarities of your software development ecosystem and projects. In most cases, you are on your own to deal with problems.

Three properties of non-trivial systems make us almost incapable to understand them: Complexity, Metamorphosis and Delusion.

Complexity

There are few sources of complexity:

  • internal– system structure and behavior under specific circumstances and inputs (software system testing in lab, company employment policies)
  • feedback loops – the system output becomes new system input causing complex and unpredictable behavior (live software system crushes, changing requirements in process of development)
  • external – other systems and environment alter system behavior all the time (client doesn’t like final software system, management shifts business strategy)

In short, complex systems exhibit complex odd behavior.

Metamorphosis
Beside complex behavior, the system changes its essence over the time.
  • new structures introduce new functions and problems (e.g. software system after development and patching over time can completely departs from original design ideas – a convenient utility becomes bloated software suite)
  • lose of basic functionality – as system grows in size and complexity, it tends to alter or lose basic functionality and initial purpose (e.g. small agile startup can grow into large sluggish company )
  • self-serving goals – the system develops unintended goals (behave as it has will to live) and start to work for them (e.g. PM office is more concerned about adherence to the process than software delivery)
  • encroaching – the system tends to slowly expand to fill known Universe (e.g. meetings and documents take more time than development)
Delusion
The system (intentionally or not) disguise own behavior and influence people perception.
  • operational fallacy – the people in system do not do what system says they are doing and the system itself doesn’t do what it reports doing [Systemantics] (e.g. productivity improvement campaign consume people time and delay project).
  • distortion by system – people and their wills are absorbed by the system; their judgment and perspective become impaired (e.g. developers don’t see that their software completely unusable)
  • misinterpretation – obscure and difficult to get information (e.g. nobody has clue about software system logic and documentation is outdated)
  • ignoring reality – the system sees the world from reports, and “a system is not better than its sensory organs” [Systemantics] (e.g. project manager commits to delivery date without talking with developers)

D. Systems Thinking in Action

So, should we return to mystical or intuitive ways to solve the problems if systems thinking is extremely difficult?

4. You can still master complex systems if you realize that you cannot change complex systems as you wish and get predictable results.

You will be engaged into complex dance with the system until you can get positive results. I recommend five step dancing procedure:

1. Scope – define boundaries of systems, problems and solutions
  • what problems should you solve?
  • should you reframe the problem?
  • what would be an ideal solution?
  • what systems should be considered?
  • what belongs to these systems?
  • what is out of scope?

2. Model – come up with a model that describe the problem and a preferable solution

A model is a simplified system representation that helps to understand and predict future system behavior. Solution should be a part of the model as it is a dynamic interaction of Response (system A) and Problem (system B).
  • what is the structure of the involved system?
  • what are goals and known system behavior?
  • what system parameters can be influenced?
  • what can be a solution – the system of responses and actions?
  • what outcomes can be predicted?
3. Intervene – implement solution based on the model
Extent of solution should be based on level of certainty in the model. Focus on small local changes for the new untried model that is full of gaps. Go ahead with the new system (solution) if you are confident in the model.
Considerations:
  • target feedback loops – amplify stale beneficial, minimize unstable harmful feedback (e.g. increase customer feedback, reduce team interruptions)
  • stability – to remain unchanged, system should change: the system should effectively respond to various situations – even unknown!
  • interconnections – you cannot change only one thing and you cannot change everything.
  • beware of opposing reaction – The System always Kicks Back (Le Chatelier’s principle)
  • avoid new systems – they always cause new problems
  • evolve existing working solutions – it is better strategy than introducing new complex solutions
  • the first solution is imperfect – be ready to scrap it after learning and building better models
  • probe / stress test – try to run trial to assess impact of the changes before committing to intervention
  • design signal / sensory systems for measuring result of intervention and establish clear information paths

4. Review results of intervention

  • how well did intervention work?
  • did you meet challenge or at least improved situation?
  • did you create new problems?
  • are you sure you’ve got objective and full information?
  • have you got feedback from all participants?

5. Learn – analyze the gap between model and reality. Why did it work this way?

Learn by
  • studying mistakes and bugs
  • evaluating prior predictions
  • assessing assumptions
  • dispelling delusions and biases
  • exposing flaws of the model
  • detaching yourself from the system for better perspective
  • realizing real system goals, functions and interests (for humans)

Go to step 1 of the dance until you like results or run out of time and energy.

Finally remember: “Today solutions are tomorrow problems” [Fifth Discipline]

E. Circle of Influence

Your today actions will define your future. Do you have an idea what challenge you should focus on?

5. Focus on important challenges that you can really meet.

Here is how you can target your Systems Thinking and Focus.

Proactive people focus time and energy on things they can control (Circle of Influence) instead of reacting to or worrying about conditions over which they have little or no control (Circle of Concern). – Stephen Convey

Here you can review post arguments again
  1. You can be the master of your life if you can understand and influence systems involved in your challenges. That means that you should become the Master of Systems Thinking.
  2. Ability to predict and influence future is the most important skill of the Master of Systems Thinking
  3. Inability to understand systems is the most serious obstacle for the Master of Systems Thinking. Unfortunately, most systems are complex and the master will not understand them.
  4. You can still master complex systems if you realize that you cannot change complex systems as you wish and get predictable results.
  5. Focus on important challenges that you can really meet.

You cannot change Universe laws and can barely affect economical situation, but you can make a difference for your projects and life by becoming the Master of Systems Thinking and mastering systems under your control.

One of the next posts will explore concrete approaches of Systems Thinking.
Reference:
The Systems Bible: The Beginner’s Guide to Systems Large and Small [Systemantics], John Gall
The 7 Habits of Highly Effective People , Stephen R. Covey
The Fifth Discipline: The Art & Practice of The Learning Organization , Peter M. Senge
AddThis Social Bookmark Button AddThis Feed Button


Comments

how about some examples ?

Comment by belun | December 9, 2010 4:00 am

This blog have little value without you and your comments, thoughts and discussions. Please, leave your comments. You are welcome to debate and criticize any idea, but, please, don't attack other people. Thanks for your contribution!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Subscribe without commenting

Software Creation Mystery - http://softwarecreation.org
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .