1 / 34

System Dynamics and Process Improvement

System Dynamics and Process Improvement. Jim Hart Software Process Dynamics, LLC www.spdynamics.com.

lapis
Download Presentation

System Dynamics and Process Improvement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. System Dynamics and Process Improvement Jim Hart Software Process Dynamics, LLC www.spdynamics.com ... creating a new theory ... is like climbing a mountain, gaining new and wider views, discovering unexpected connections between our starting point and its rich environment. But the point from which we started out still exists and can be seen, although it appears smaller and forms a tiny part of our broad view gained by the mastery of the obstacles on our adventurous way up. - Albert Einstein, The Evolution of Physics

  2. Personal Background • Process improvement experience • Disillusioned by existing process improvement gains • Inability to make change stick • Excessive focus on maturity levels, rather than on empowerment and creating environments of learning • Over-specifying processes through standardization, top-down policy deployment, and dehumanization of change • Not addressing the fragmentation of organizations by seeing the “whole”

  3. Presentation Objectives • Describe the benefits of applying systems thinking and system dynamics • Describe the key tools used and how they can be used to improve performance • Demonstrate these tools through several real-world examples • Provide some insights into how and where these tools can be integrated into existing process improvement processes

  4. What is a system? • A system is an organized collection of arranged components that interact with each other to achieve a common purpose • Synthesis of people, resources, equipment, and processes • We are interested in systems that create or modify systems/software: • Individuals • Projects, teams, groups • Companies, organizations, departments • Supplier-customer systems, software industry

  5. Context For a System System Stimuli Responses “Patterns of Behavior” • A system transforms a set of inputs (stimuli) into a set of outputs (response). • We can “measure” a system’s performance, and over time, observe patterns in its behavior. • These patterns give us an understanding of the system’s responsiveness to inputs (variability, reaction time, etc.) useful for determining system “goodness.”

  6. Modeling a System System “Patterns of Behavior” Stimuli Responses Σ Stimuli Responses Σ

  7. The Modeling Technology • The technology (methods, tools, know-how) exists to create such models. • It has been around for about 50 years. • If such a technology exists, why hasn’t it made inroads into the systems/software industry? • The use of this technology requires that we fundamentally shift how we envision systems operate. • We need a paradigm shift.

  8. Current Paradigm • Current models of a system have: • Functionally decomposed hierarchical structures with distinct lines of authority and roles • Interchangeable (plug compatible) parts • Programmable via rules and procedures, leading to seeing change as just “reprogramming” • Efficiency drivers that reduce redundancy • Goal-directed training, with pre- determined outcomes, behaviors and knowledge

  9. Paradigm in Peril • This view was adequate in the 20th century when: • Rates of change in technologies and methods were relatively low • Companies operated with high levels of autonomy • Systems being developed were relatively simple • But the new business model is driven now by: • Greater interoperability with other delivered systems • Greater interdependence between customers, suppliers and developers • Increased competition in a world market of suppliers • Demand for faster, better and cheaper products

  10. “Living Systems” Paradigm • Living systems have operated for eons under such conditions as I have just described. What can we learn from them? • Living systems, unlike mechanical systems, have several unique qualities. • Open • Non-deterministic • Non-directed learning • Nonlinear • Dynamic Systems constantly interact with their surrounding environment. Living systems do not transition from state to state following a set of rules or heuristics. Living systems are constantly adapting to a changing environment.

  11. Nonlinearity as a Quality Productivity Schedule Pressure • A system is linear when the system responds linearly to stimuli. Many mechanical systems (e.g., volume control on a stereo) are linear. • Nearly all living systems are nonlinear. • Examples in our industry: • COCOMO II: Effort = 2.94 * EAF * (KSLOC)E • COCOMO II: Duration = 3.67 * (Effort)SE • Mythical man-month • Non-scalability of work • Productivity effects from schedule pressure

  12. Dynamics as a Quality A B C D Causes Causes Causes A B D C • A system is dynamic when components interact through a mutual exchange of energy, matter and/or information. • Domino Thinking • In dynamic systems, knowledge of feedback is essential to understand system behavior. • The system’s web of interconnections are commonly referred to as the system’s dynamic structure.

  13. Simple Example of Dynamics Sources (Cause) Product Defects Problem (Effect) Functions Size Production Level Expectations Skill Level Communications Motivation Intervention Turnover # Staff Energy Production Gap Management People Sources (Cause) Sources (Cause) Production Goal

  14. A Causal Loop S Production Level O Motivation Production Gap S S Production Goal • We describe the closing of a sequence of interactions as a “causal loop.” • We assign the type of relationships. • We can then note whether the feedback is a “growth” cycle or “balancing” cycle.

  15. Benefits of System Models • Understand why a system behaves as it does • Examine potential future outcomes, possible ranges of results, and identify risks to better manage • Conduct “what-if” analysis of potential changes (processes, skills, decision-making policies, new equipment) • Provide skills development for people working with or in the system (e.g., “flight simulators”)

  16. 1. Why Living Systems Behave as They Do • Dynamics of living systems show: • The importance of delays on performance • Simple rules can create complex behavior • You cannot “decompose” a living system and solve the pieces of a problem as if they are independent • The interdependencies between variables can be complex • Example: Cost, schedule and quality Example: Driving an automobile while under the influence. Example: “BOIDs” behavior The effects of nonlinear feedback cannot always be ignored.

  17. Example Story (1) • Temple Systems GoDB Program • In Maintenance Mode for past 3 years • Quarterly release of product • Historically sustained market growth • GoDB Program Structure • Program manager prioritized and selected changes and bug fixes for release, and ensured products met their specifications • Development team defined requirements and developed software • Test team planned and performed system-level testing before product release

  18. Example Story (2) • Recent List of Problems: • Ballooning system-level testing • Longer development cycle • More delivered defects • Loss of market share and profits • Dissatisfied customers • Growing tension between the two teams • Development team complained that the test team was taking too long • Test team complained that development team was giving them a defective product to test

  19. The Storyline

  20. Key System Variables

  21. Graphing System Behavior

  22. Diagramming the Causal Loops Development Duration Time to Develop System Changes S O Time to Test System S Defects Found in System Test O Functional Enhancements Time To Find & Fix Defects O S Sound Engineering Practices O S Pressure To Be Productive O Defects Injected S O S Defects Found & Fixed in Reviews & Tests S Defects Delivered for System Testing O S O Perceived Level of Quality O

  23. 2. Examining Potential Outcomes • Using Monte Carlo simulations to identify risks and triggers for mitigation • Adjusting inputs within plausible ranges generate different results • Many runs may indicate some inputs are “highly sensitive” and require detailed monitoring • Nonlinear dynamics gives rise to chaos • Finding the boundaries to predictability • Need to distinguish between “randomness” and “chaos”

  24. A Simple Living System Model • A model is a self-contained abstract representation of a system we are interested in studying. • f(xn) represents the formula, equations or rules that we believe demonstrates how the system we are studying operates System f(xn) x0 xn xn+1 x0 is initial conditions xn is the “state” of x at time n “Behavior over Time” Diagram

  25. Applying a Simple Equation xn+1 = f(xn) =  ∙ xn (1 - xn) 1 f(xn) α 4 0 1 0 xn

  26. Effects of Chaos on Prediction

  27. 3. “What-If” Analysis of Changes • Effects of changing a nonlinear dynamic system is seldom proportional to the effort expended • Small changes can have big effects; big changes can have small effects • Effects can be non-intuitive so finding high leverage changes can be a major challenge • Critical to address the dynamic structure in a way that increases the likelihood changes will “stick”

  28. 4. Learning Environments • 85% of everything we know, we learn without a teacher or instructional guide. • So why do we persist in thinking we cannot do without teachers? • Learning Laboratory concepts: • People develop skills by doing not listening • People are naturally inquisitive, and learn faster through experience • Provide opportunities for “playing” without risk or “gaming.” • Self-directed learning emphasizes the learners’ responsibilities in the process

  29. Example: Project Management Learning Laboratory “Customer”/”User” • Aligns Actuals to Plan • Adjust staffing • Work overtime • Assign/shift tasking • Aligns Plan to Actuals • Change functionality • Change costs • Change schedule The System “Project Manager” Computer Model • Progress Indicators • Staffing Profiles • Production Levels • Costs • Defects • Project Data • Requirements • Budget • Schedule • Resources

  30. Summary • I have describe a number of benefits to using systems thinking/system dynamics in systems/software development: • Understand why a system behaves as it does • Examine potential future outcomes • Conduct “what-if” analysis of potential changes • Provide skills development for people

  31. Other Benefits Not Mentioned • Helps people see how their own actions affect the behavior of the system • Helps to break through barriers by getting people to see the full system interconnections (dynamics) • This technology can be integrated into existing process improvement effort (e.g., CMMI) • Supplements identifying high leverage for changes • Emphasizes behavior (performance) over process • Keeps focus on the right hierarchical system level for change • Emphasizes learning over training • Helps distinguish between randomness and chaos

  32. 6 Blind Men and the Elephant A Rope! A Wall! A Fan! A Tree! A Snake! A Spear!

  33. 6 Blind Men and the Elephant “And so these men of IndostanDisputed loud and long,Each in his own opinionExceeding stiff and strong,Though each was partly in the right,And all were in the wrong!” - John Godfrey Saxe

  34. If you want a copy of the slides in PDF format, write me at jim.hart@stise.com To purchase my book, write me or visit my website to find the link to AMAZON.COM: www.spdynamics.com Questions?

More Related