Escolar Documentos
Profissional Documentos
Cultura Documentos
Learn
Create a model
Assess risk
Act
Make decisions
Simplify with separation Increase performance with integration Maintain relevance with adaptability Establish control with regulation
Design
8
Version 26 Nov 2013
Implementation Guide
- Using checklists to translate systems thinking principles into practice -
Applied Systems Thinking Checklists outlines the concepts and actions used to build and maintain a systems perspective during project work. Many of the checklist items presented overlap with and draw out similarities between project management, systems engineering, lean, agile, and industrial engineering principles.
As shown in the graphic on the next page, project work requires frequent back and forth iteration between learning, acting, and designing as feedback flows in, changes occur, and products are created. These checklists provide a flexible, short, and easily accessible guide for tuning each project iteration to converge on project goals.
More iteration is helpful in conditions of high uncertainty, but the amount of iteration should be constrained by the risk profile of the project. In turn, the risk profile is established by assessment and modeling. By changing connectedness (separation vs. integration) and control methods (adaptive vs. regulation), the amount of iteration a project (or product) is capable of can be adjusted to fit situation specific goals.
Dont use these checklists as absolute or step-by-step procedure. Use them to identify productive actions, focus attention, and encourage thoroughness. Use them as a source of ideas for systemic intervention in ongoing projects. Over time, they will provide a subtle advantage when dealing with complex situations and projects.
Project Iteration
Situation space
Design
Act
Product 1.0
Product 2.0
Product 3.0
Learn
Example iterative path through systems thinking elements and the supporting checklists
1
1
Situation Assessment
Set Conditions for Insight
3
Prioritize transparency over objectivity Prioritize understanding over blame or fault Resist narrative until late in assessment Hold strong opinions weakly Articulate mental frameworks before debating the resulting positions Expect to expend time, resources, and effort
2
Use a models to encourage reflection and debate Engage a broad range of stakeholders
Gather Information
Observe system behaviour in person Study existing documentation, theory, and data Evaluate similar and competing systems Recruit and confer with experts Explicitly define assumptions Identify what is missing, uncertain, or not represented Evaluate the important vs. the quantitative and accuracy vs. precision
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged. Author: Gabe OConnor Version 26 Nov 2013
Cycle between deep dives and big picture analysis Look for events, results, and transactions Look for patterns of behavior over time Look for organizing rules, priorities, and structures
5
Define purposes and values before defining problems Use purposes and values to guide problem definition Use purposes and values to guide boundary definition State problems in solution independent terms
2
1
Model Creation
Create a Model
3
Model the situation as a system changing over time Use modeling to establish context, increase transparency, and guide iteration Do more modeling when experiment is impractical or environmentally damaging Do less modeling when iterative/spiral development is possible Maintain and improve models as understanding grows Limit precision of outputs to the precision of inputs Dont do more modeling than the available data warrants
2
Improve accuracy of input data and assumptions Check model results against empirical data
Model long time periods to understand system cycles Use visual tools such as flow charts, pictures, and maps to build group understanding and encourage debate Identify dominant system dynamics elements: buffers, stocks, flows, parameters, rules, rates, and goals Model changes to system design > Ref. CHKLST 6,7,8,9 Assess model sensitivity over a wide range of inputs, scenarios, and high consequence events Challenge conventional wisdom Use models to provoke thought outside familiar timescales and frameworks Explore contradictory and incomplete information Search for unintended/unanticipated consequences
Gain acceptance for models before offering results Explicitly account for uncertainty Prioritize developing insight over making predictions Prioritize consequences over probabilities Use modeling to support, but not replace decision making Recognize models and people are optimistic
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged. Author: Gabe OConnor Version 26 Nov 2013
3
1
Risk Assessment
Define Risk
3
Define the consequences of system success and failure Use risk assessment to guide and constrain decisionmaking and iteration > Ref. CHKLST 4,5 Use tight constraints for activities with environmentally damaging consequences
2
Increases in size, speed, and concentration Unbounded limits on system behavior and areas of exponential growth Bottlenecks and constraints High levels of isolation, specialization, regulation, or chaos > Ref. CHKLST 6,7,8,9 Poorly understood or uncontrolled interrelationships Dependence on accurate forecasting
Mitigate Risk
> Ref. CHKLST 6,7,8,9
Reliance on trust or idealism Interventions that hide rather than address underlying risk Internal and external system interfaces Rule beating behavior Heavy optimization of any part of the system Lack of open information flows High power concentration with low accountability Indeterminate outcomes or failures
Require system proponents to identify and respond to risk Leave open a deliberate margin for error
4
1
Decision Making
Identify Decision Making Constraints
3
Constrain decision making and iteration tempo based on risk assessment > Ref. CHKLST 3 Use long-term purposes and values to guide decision making
2
Utilize the power of system design > Ref. CHKLST 6,7,8,9 Enable action Make sense through several reference frames and perspectives Minimize exceptions, special cases, and fine print Are robust within a wide range of future possibilities Require fewer follow on decisions Address problems at an operational level Build in and maintain options Identify accountability for future decisions
4
Foster, monitor, and respond to decision feedback Remain open to exploration, new information, and different perspectives See self as part of the situation, the situation as part of the system, and the system as part of the surrounding environment See the system as a cause of in-system behavior Embrace uncertainty and ambiguity Prevent uncontrolled expansion of work and beware of empty compromises Avoid accumulating excuses Ask why at least 5 times
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged.
Do not exclusively rely on analytical decision tools Do not decide issues that do not need decisions Do not decide issues that are better decided elsewhere Do not make decisions that justify past decisions Use authoritative decision making selectively
5
1
Iteration
Leverage Iteration
3
Make early and meaningful contact with the problem Use rapid iteration to address uncertainty Use iteration to successively deepen understanding Prefer tests over expert opinions Use the desired end state as a guide
Complete more iterations Use scientific method when possible Prioritize rough representation of the overall system over detailed representation of a single element Evaluate iteration methods frequently Iterate in a series of stable but progressively improved states Progressively freeze features Progressively eliminate defects Cherish and learn from exceptions and failures Eliminate safety margins to surface issues and constraints Reduce clutter and simplify
4
Fail quickly, cheaply, and in diverse ways Combine local overconfidence with global stability Prioritize rewards for success over penalties for failure Prioritize iteration speed over defect rate Iterate using system models Ramp-up selection pressure Define and measure short-term criteria correlated with long-term goals
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged. Author: Gabe OConnor Version 26 Nov 2013
> CHKLST 2
Preform reflection after each iteration Make imperfections visible Test each iteration in an end use environment Use both independent and participatory monitoring Identify and monitor thresholds that trigger contingency plans Identify errors of omission and commission
6
1
Separate
Simplify
3
Organize Modules
Create manageable problems by separating system elements Manage elements using abstraction and modularity
Use activity sequencing to reduce module interdependencies Design external functionality before internal functionality Do not send data to modules without a need to know Use module proximity to change rates of information flow Postpone fixed binding until the last possible moment Create libraries of reusable modules Use configuration options to vary and reuse modules
4
Isolate variability, risk, and uncertainty Group related elements and separate unrelated Group elements with high rates of information exchange Partition so modules send finished products to other modules Partition to minimize complexity differences between modules Partition to create checks and balances Partition at different levels of abstraction Partition so modules exchange inputs and outputs at similar levels
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged.
Author: Gabe OConnor Version 26 Nov 2013
Design interfaces to manage module interconnections Design interfaces for low external module complexity (loose coupling) and high internal complexity (strong cohesion) Design interfaces between the system and the environment Make the interfaces clear and visible Enforce the interfaces requirements Test the interfaces before the implementation
7
1
Integrate
Connect
3
Lean
Strengthen connections to increase system performance Optimize and lean connections Use margin to mitigate integration risk
2
Achieve high quality first Minimize waste Create flow Minimize delay and inactivity Create a cadence for operations Reduce queues Reduce or eliminate batch processing
4
Optimize
Create a usable system before optimizing Prioritize optimization at the system level over the module level Optimize better understood elements Optimize to increase efficiency Use more optimization in competitive environments Use optimization to surface problems Beware of non-linear activity in optimized systems Use decentralization to increase local optimization Maintain flexibility with configurability Increase sensing and reaction speed to reduce optimization risk
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged.
Hold Margin
Hold margin for known risks Reduce margin and increase exploration for unknown risks Aggregate margin above a diverse group of optimizing subsystems Use high margins to rapidly overcome obstacles Build margin into interfaces Store margin in flexible forms
8
1
Adapt
Adapt
3
Decentralize
Use adaptability to respond to unknowns Use adaptability to simplify regulation Use decentralization to increase adaptability Understand change by identifying what is stable Value connectedness over continuity
2
Present decentralization as a set of skills, rather than a philosophy Support decentralized execution with centralized regulation > CHKLST 9 Select and maintain a few key core processes and rules Clearly articulate principles and purpose behind objectives Audit actions based on conformance to guiding principles Ensure decision makers feel both costs and benefits Use incentives to influence behavior Place responsibility for rule enforcement and dispute management at the local level Make feedback local Retain data locally but make it accessible globally Provide tools for local planning, rather than controlling local planning Increase info flow and decrease power differentials Build the level of talent in the trenches
Increase Sensitivity
Invest in sensing and monitoring capability Quickly respond to deviations (decrease inertia) for dynamic goals Prioritize change speed over change management Increase the diversity of resources that flow into the system Increase the system's capacity to use diverse resources Increase the size of the population and element independence Recognize highly adaptive systems resist long term planning
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged. Author: Gabe OConnor Version 26 Nov 2013
9
1
Regulate
Regulate
3
Make Rules
Use regulation to reduce the gap between plan and reality Clearly define desired results before creating regulation Use risk management to regulate uncertainty residing outside the system
Establish and maintain regulatory power through a mix of legitimate, referent, expert, reward, and coercive means Use rules to coordinate processes and hold systems together Direct rules towards prevention of error over punishment Make rules easily available and understood Specify what cannot be done rather than what can be done Look for distortions and rule beating caused by rules Do not make unenforceable , contradictory, or retroactive rules Do not frequently change rules Resist the attraction of across the board rules
4
Carefully vet increases in regulation; it quickly increases cost, offers diminishing returns, and dampens innovation
When increasing regulation, plan for increases in planning and monitoring Beware oscillation from mismatched regulation and response cycles Prefer regulate based on events instead of schedules Prioritize preventative over reactive regulation Regulate processes in addition to inputs and outputs
2
Stabilize
Reduce Variation
Invest in early warning mechanisms Keep a compelling scoreboard and a cadence of accountability Maintain pressure on resources at a sufficient level of discomfort Create buffers and margin > CHKLST 7 Build in redundancy, quick swap, and multipurpose elements
Use repetition, dry runs, and test cycles Reduce negative consequences of variation Substitute cheap variability for expensive variability Move variability to where its cost is lowest
This checklist is not intended to be comprehensive. Additions and modifications to fit local practice are encouraged. Author: Gabe OConnor Version 26 Nov 2013