Upload
alexey-krivitsky
View
3.816
Download
0
Embed Size (px)
DESCRIPTION
A presentation from Agile Gathering IV run by AgileUkraine.org
Citation preview
Theory of Constraints and System Dynamics: thinking tools for the
Change Agent
Serhiy Yevtushenko [email protected]
A thought that does not result in action is nothing much, and action which does not proceed from a thought is nothing at all
George Bernanos
Content
TOC: theory of constraintsSystems Dynamics
TOC: history
Created by Dr. Eliyahu Goldratt
“Goal”“It’s not Luck”…
TOC: Prerequisites
Determine the system and its purposeDetermine the systems fundamental measurements
TOC: fundamental measurements
ThroughputOperating ExpensesInventory
InventoryExpensesOperatingThroughputROI _−
=
TOC: Basic Idea
TOC: Five focusing steps
1. Identify systems constraint2. Decide how to exploit it3. Subordinate everything else to the
decisions made in step 1 and 24. Elevate the systems constraint5. Don’t allow inertia to be system
constraint. When constraint has been broken, go to step 1
TOC and agile software development
Agile software development methods make assumption, that software development is the most constrained resource (i.e. bottleneck)
TOC Thinking tools
Introduction of TOC required training of people, doing it, think like Jonah
This has led to the creation of the TOC thinking Tools
TOC: Thinking Tools
Logic based framework for analysis of situation and performing changesAnswer on 3 basic questions:
What to change?What to change to?How to cause a change?
TOC: Thinking Tools
Current Reality Tree Evaporating CloudsTransition TreeFuture Reality TreePrerequisite Tree
For Checking Validity of Thinking there are Categories of Legitimate Reservations
Categories of Legitimate Reservations
Entity ExistenceCausality existenceClarity
Additional EffectInsufficient CausePredicted Effect
Current Reality Tree
Tool, that is similar to the Toyota “Five Why”Allows analyzing current situation, and defining root causes of the problems, present in current situation
Current Reality Tree Example (incomplete)
UDE1: Unit tests are
failing often
1: Developers are not running test before check-in
2: Whole test suite is taking to
long time to run
3: Developers does not update
& run tests before doing
check-in
4: Developers write unstable
tests
TOC Links
http://www.dbrmfg.co.nz – one of the best sites on TOC and TOC thinking toolsAgile Management for Software Engineering: Applying the Theory of Constraints for Business ResultsBy David J. Anderson, Eli Schragenheim – TOC in the context of Software development
System Dynamics
Recommended reading list from CSM training
…The Blind Men and the Elephant: Mastering Project Work, David Schmaltz, Berrett-Koehler Publishers; , March 2003Corps Business, David Freedman, HarperCollins, 2000Industrial Dynamics, Jay W. Forrester, MIT Press, 1961
System Dynamics: History
Created by J. ForresterDeveloped from 1956 in MIT1961: Industrial Dynamics1969: Urban Dynamics1971: World Dynamics 1990: Peter Senge: “Fifth Discipline”1992: Beyond the Limits: Confronting Global Collapse, Envisioning a Sustainable Future
Building Blocks of the System Dynamics
Feedback loops
Action
Information about problem Results
Kind of Feedback loops
Positive (Exponential Growth)Chain reactionAvalanche
Negative (Balancing)Thermostat…
Rates and flows
Elements of the model in the System Dynamics can be of 2 types:
Flows (speed of change)Stock (something, that is being accumulated)
To flows decision rules may be attached, which determine management policies
Delays
Additionally, also delays are used in models (Delay may be simulated by using rates and flows, and some decision rules)
Researchers in System Dynamics have found, that people in general are very bad in predicting effects of delays
Simulations
Creation of the system dynamics model clarifies structure of the feedback loops, existing in real world system, and allows to reason qualitatively about problemAfter that, quantity based modeling may be performedAllows trying out effects of different decisions before making their implementations
Example
System Dynamics Application in Software
There is a full system dynamics model of the Software Development ProcessFor different processes of software development (for example, inspections) there are system dynamics models“Quality Software Management” of Gerald Weinberg contains quite a lot system thinking models for SDSome firm has created simulators, which allow simulation of the Software Project Management based on System Dynamics Models
Experience from applications
In many cases, when TOC or System Dynamics has been applied for the evaluation of the problems in firms, it was found out, that a firm policies were the reasons for the problems, which the firm was experiencing.
12 ways to influence systems12. Constants, parameters, numbers (subsidies, taxes, standards)11. Size of buffers and other stabilizing stocks, relative to flows 10. Structure of material flows9. Length of delays, relative to the rate of system changes8. The strength of negative feedback loops, relative to the effect they are trying to correct7. The gain around driving positive feedback loops
12 ways to influence systems
6. The structure of the information flow (who does and does not have access to what kinds of information)5. The rules of system (such as incentives, punishments, constraints)4. The power to add, remove or self-organize system structure3. The goal of system2. The mindset or paradigm, from which the system rises out1. The power to transcend paradigms
System Dynamics Resources
http://sysdyn.clexchange.org/road-maps/home.html - training course on system dynamicsPeter Senge “Fifth Discipline”Форрестер «Основы кибернетики предприятия»Donella Meadows: 12 leverage points