System Dynamics and the CMMI

Download Report

Transcript System Dynamics and the CMMI

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
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”
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 realworld examples
Provide some insights into how and where
these tools can be integrated into existing
process improvement processes
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
Context For a System
System
Stimuli



“Patterns of
Behavior”
Responses
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.”
Modeling a System
System
Stimuli
“Patterns of
Behavior”
Responses
Σ
Stimuli
Σ
Responses
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.
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 predetermined outcomes, behaviors
and knowledge
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
“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
Systems constantly interact with their
surrounding
environment.
Living
systems do not
Non-deterministic
transition
state are
to state
Livingfrom
systems
Non-directed learning
following
a set ofadapting
rules or to a
constantly
Nonlinear
heuristics.
changing
environment.
Dynamic
Nonlinearity as a Quality


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
SE
 COCOMO II: Duration = 3.67 * (Effort)
 Mythical man-month
 Non-scalability of work
 Productivity effects
from schedule pressure

Productivity

Schedule Pressure
Dynamics as a Quality




A system is dynamic when components interact
through a mutual exchange of energy, matter
and/or information.
Domino Thinking A Causes B Causes C Causes D
In dynamic systems,
A
knowledge of feedback
B
is essential to understand D
system behavior.
C
The system’s web of interconnections are commonly
referred to as the system’s dynamic structure.
Simple Example of Dynamics
Sources (Cause)
Product
Defects
Problem
(Effect)
Functions
Size
Production
Level
Expectations
Communications
# Staff
Skill Level
Motivation
Intervention
Energy
Turnover
Management
People
Sources (Cause)
Sources (Cause)
Production
Gap
Production
Goal
A Causal Loop



We describe the closing of a sequence of
interactions as a
S
“causal loop.”
Production
Level
We assign the type
of relationships.
O
Motivation
Production
We can then note
S
Gap
whether the feedback
S
is a “growth” cycle or
Production
“balancing” cycle.
Goal
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”)
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
Example:
Driving
an automobile
while under
influence.
Youthe
cannot
“decompose”
a living system and
Example:
“BOIDs” behavior
solve the pieces of a problem as if they are
independent
The interdependencies
between
variables
The effects of nonlinear
feedback
cannot can
always be ignored.
be complex

Example: Cost, schedule and quality
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
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
The Storyline
Time
Info About
Situation
Decision/
Action
Expectation
Outcome/Result
Interpre
-tations
-18
Profits down
months
Policy set to Rising
limit project profit
size
share
Longer dev’t time
Increase # defects
Longer test time
Fewer enhancements
-6
Growing
months animosity
between
teams
Hold
Resolve
intergroup
conflicts
coordination
meetings
Continued animosity
Meetings
are not
working
Continued animosity
Problems
are
chronic
-3
CEO
months receives
customer
complaints
0
months
Under-stand
what is
happening
Key System Variables
Name
Definition
Development Duration
The (total) number of weeks the project is
given to plan, develop, test and deliver a
product version
Time to Develop Changes
The number of weeks the development team is
given to define and develop the changes for a
product version
System Test Duration
The number of weeks the test team is given to
complete the system-level testing (for delivery)
Defects Found in System
Test
The number of defects that are identified by
the test team during system-level testing
Graphing System Behavior
Ballooning System Testing
25
20
15
10
5
0
2002-2
2002-3
2002-4
2003-1
2003-2
2003-3
2003-4
2004-1
Release Number
Time to Develop Changes
Product Devt Duration
System Test Duration
Defects Found in ST
2004-2
2004-3
Diagramming the Causal Loops
Time To O
Find & Fix
Defects
O
Sound O
Engineering
Practices
Defects
Injected
S
Defects
Found &
Fixed in
Reviews
& Tests
S Defects
O Delivered
for System
Testing
S
Time to
Test
System
S
Pressure
To Be
Productive
O
Functional
Enhancements
O
S
S
Development
Duration
Time to
Develop
S
System
O Changes
O
Perceived
Level of
Quality O
S
Defects
Found in
System Test
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”
A Simple Living System Model

A model is a self-contained abstract
representation of a system we are interested
in studying.
System
x0
x0 is initial conditions
xn
f(xn)
xn is the “state” of x at time n

xn+1
“Behavior over Time”
Diagram
f(xn) represents the formula, equations or
rules that we believe demonstrates how the
system we are studying operates
Applying a Simple Equation
xn+1 = f(xn) =  ∙ xn (1 - xn)
1
f(xn)
α
4
0
0
xn
1
Effects of Chaos on Prediction
Chaos in a Deterministic System
1.0
0.8
0.6
0.4
0.2
0.0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
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”
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
Example: Project Management
Learning Laboratory
Aligns Plan to Actuals
• Change functionality
• Change costs
• Change schedule
“Customer”/”User”
Aligns Actuals to Plan
• Adjust staffing
• Work overtime
• Assign/shift tasking
The System
“Project
Manager”
Project Data
• Requirements
• Budget
• Schedule
• Resources
Computer
Model
Progress Indicators
•
•
•
•
Staffing Profiles
Production Levels
Costs
Defects
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
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
6 Blind Men and the Elephant
A Rope!
A Wall!
A Fan!
A Tree!
A Snake!
A Spear!
6 Blind Men and the Elephant
“And so these men of Indostan
Disputed loud and long,
Each in his own opinion
Exceeding stiff and strong,
Though each was partly in the right,
And all were in the wrong!”
- John Godfrey Saxe
Questions?


If you want a copy of the slides in PDF format, write
me at [email protected]
To purchase my book, write me or visit my website
to find the link to AMAZON.COM:
www.spdynamics.com