Herding Cats: A Compendium of Managing Complex Systems

source:

Herding Cats: A Compendium of Managing Complex Systems

MARCH 14, 2020

A Compendium of Managing Complex Systems

The picture is used by a Complexity advocate to conjecture that complex systems cannot be managed.

This is not correct, as many of the claims made by self-proclaimed complexity experts. I’ve seen this scene of flocking birds first hand. It is mesmerizing to watch.

Turns out these birds can be modeled with BoidsFlock Simulation of BirdsThe Convergence of Bird FlockingFlocking algorithm for autonomous flying robots, and numerous others.

This collection of resources for the Management of Complex Adaptive Systems and starts with the INCOSE Working Group on Complex Systems. There are alternative paradigms for how to manage Complex Systems that range from other professional organizations to commercial tools. To individuals selling their ideas directly. This list will first provide sources that have been peer-reviewed. Then I’ll provide other sources clearly labeled as commercial or personal opinion.

These resources are about managing complex systems, not about taxonomies of complexity, simple and simple-minded box charts, with pseudo-scientific units, but actual units of measures for the project’s elements. These are about the engineering processes in the presence of complexity found on any system. The engineering of systems includes conceptualizing and building systems with large numbers of concurrently operating and interacting components—usually including both human and non-human elements. 
Systems Engineering is the Engineering of Complex Systems.

Let’s start with some definitions:

  • Systems Engineers have initiatives to enable Model-Based Systems Engineering.  But these initiatives may not be capturing the idea that these systems are complex. INCOSE and ISO-15288  Process areas capture best practices to address complicated systems, but there are additional methods required to address the emergent behavior found in Complex Systems.
  • A popular understanding of Systems Engineering is that if an organization is mature in the INCOSE Process Area, then the products and services it produces will be optimal (low cost, high reliability, optimal stakeholder satisfaction).
  • This is an optimization of a static, complicated system, but not necessarily an optimization of a complex, dynamic system, with emergent behavior – particularly in terms of social-technical systems.
  • In our Software Intensive System of Systems domain, it’s social-technical systems that are important, since people are always involved. In building the systems. Maintaining the Systems. Making decisions with the Systems. Using the Systems in the accomplishment of the Mission or fulfilling the Business Strategies. Even when these systems interact with other systems, the social-technical aspects are in place.

In order to engage in the high complexity system problem, the hard technology perspective must be expanded  to include  soft perspectives that account for human, political, managerial, and policy elements of the complex system problem.

So How Can We Manage in the Presence of Complexity? [3] 


  1. Think like a Gardner, not a watchmaker.
  2. Acknowledge the complexity, encourage variety, explore new solutions.
  3. Take an adaptive stance in the same way living systems cope with complexity.
  4. Use free order in architecting and design solutions.
  5. Identify patterns and use them to describe the system and its possible solutions 
  6. Zoom in and Zoom out to see the elements of the complex system.
  7. See through new eyes since complex systems look different from different perspectives.
  8. Collaborate with information sharing, active listening, establish trust and make decisions transparent.
  9. Achieve balance rather than optimization.
  10. Learn from problems.
  11. Apply metacognition.
  12. Focus on designing regions of the solution space rather than detailed outcomes.
  13. Understand the motives of autonomous agents, since incentives will motivate behavior.
  14. Maintain adaptive feedback loops to correct variations in outputs.
  15. Integrate problems by focusing on relationships rather than addressing them separately. 

The Ten Things to Understand About Systems ‡


  1. A system exists within a wider context or environment.
  2. A system is made up of parts that interact with each other and a lifecycle.
  3. A system has structure, function, performance, behavior, and a lifecycle.
  4. A system has system-level properties (emergent properties) that are properties of the whole system not attributes of individual parts.
  5. A system both changes its environment and adapts to its environment when it is deployed.
  6. Systems contain multiple feedback loops with variable time-constants.
  7. A system may be part of one or several wider containing systems.
  8. A system may have one of three basic types of relationships with the environment: distinct, close-coupled, fluid and dynamic
  9. A system may offer affordances for interaction.
  10. Types of the system include technical, biological, social, ecological, environmental, and combinations of these.

‡ Architecting Systems: Concepts, Principles, and Practice, Hillary Sillitto, College Publications, 2014

Add Now The Real Problem †


  • System Engineers cannot Control complex systems development. They can only influence projects by targeted communications to manage In the Presence of Complexity.
  • System Engineers need dynamic models of the Social Behavior of their teams in order to steer them through targeted communications.
  • System Boundaries should be drawn around the stakeholders and environment of the system, not the development team.
  • System Engineers need to bridge the gap between the Natural Sciences, the Social Sciences, and the Humanities.

† “Complexity and its Implications for Systems Engineering Process,” Brian Castellini, Kent State University

Complexity is challenging to communicate and describe to others and is a poorly understood aspect of contemporary engineering work.

Resources for Complex Systems Engineering


Let’s start with a map of the Complexity Science, with links to each site.

Screen Shot 2020-03-14 at 10.48.59 AM

The science of Complex Adaptive Systems is the study of interactive and dynamic systems that change over a range of individual and evolutionary time scales

The following resources are in support of work in a broad range of domains from space and defense, power systems, software intensive system of systems, intelligence systems, enterprise information systems, distributed process control systems, risk management, program planning and controls, and other domains we work in

Complex Systems Organizations

Complexity Journals Applicable to Complex Engineered System of Systems

System Complexity Books Used on Complex System of Systems

Complexity Tools

  • Complex-IT is a web-based and downloadable software 
  • AnyLogic is a simulation modeling tool 

Papers, Presentations, Thesis for Engineering, and Managing Complex Projects and the Principles of Chaos Engineering

For each paper here, go to the bibliography to find the resources used there to expand on the concept of complex systems and their management

Posted at 11:52 AM

source:

Herding Cats: A Compendium of Managing Complex Systems