Modeling System and Software Engineering Processes with System Dynamics

advertisement
University of Southern California
Center for Systems and Software Engineering
Modeling System and Software Engineering
Processes with System Dynamics
Ray Madachy
USC Center for Systems and Software Engineering
madachy@usc.edu
Annual Research Review
March 17, 2008
3/16/08
©USC-CSSE
1
University of Southern California
Center for Systems and Software Engineering
Outline
• Background and Introduction
• System Dynamics Examples
– Optimizing quality assurance, defect dynamics
– Brooks’s Law model
– Process model for very large SISOS
• References
• Detailed Backups
–
–
–
–
3/16/08
Inspection model
Value-based business and software process/product model
Spiral hybrid process model for SISOS
Process concurrence
©USC-CSSE
2
University of Southern California
Center for Systems and Software Engineering
Background
• The evaluation of process strategies for the
architecting and engineering of complex systems
involves many interrelated factors.
• Effective systems and software engineering
requires a balanced view of technology, business
or mission goals, and people.
• System dynamics is a rich and integrative
simulation framework used to quantify the
complex interactions and the strategy tradeoffs
between cost, schedule, quality and risk.
3/16/08
©USC-CSSE
3
University of Southern California
Center for Systems and Software Engineering
System Dynamics Principles
• Major concepts
–
–
–
–
–
–
–
Defining problems dynamically, in terms of graphs over time
Striving for an endogenous, behavioral view of the significant dynamics of a
system
Thinking of all real systems concepts as continuous quantities interconnected in
information feedback loops and circular causality
Identifying independent levels in the system and their inflow and outflow rates
Formulating a model capable of reproducing the dynamic problem of concern by
itself
Deriving understandings and applicable policy insights from the resulting model
Implementing changes resulting from model-based understandings and insights.
• The continuous view
– Individual events are not tracked
– Entities are treated as aggregate quantities that flow through a system
3/16/08
©USC-CSSE
4
University of Southern California
Center for Systems and Software Engineering
System Dynamics Notation
• System represented by x’(t)= f(x,p).
• x: vector of levels (state variables), p: set of parameters
• Legend:
level
source/sink rate
information link
auxiliary variable
defects
• Example system:
defect generation
rate
undetected defects
defect escape
rate
defect detection rate
defect detection
efficiency
detected defects
3/16/08
©USC-CSSE
5
University of Southern California
Center for Systems and Software Engineering
Model Elements
Element
level
rate
level
information link
Description
Process Instances
An accumulation over time, also
called a stock or state variable. A
storage device for material, energy,
information.
Flows; the “actions” in a system that
often represent policies. They exist
with and effect the changes in levels.
source/
rate
sink
iary variable
information link
level
source/
auxiliary variable
rate
sink
Represent infinite supplies or
repositories, indicating real-world
accumulations outside boundary of
the system being modeled
information link
3/16/08
©USC-CSSE

work artifacts (requirements, tasks,
lines of code, documentation pages)
 defect levels
 personnel levels
 effort expenditure
 revenue
 software productivity rate
 defect generation rate
 personnel hiring and de-allocation
 learning rate
 burn rate
 source of requirements
 software delivered to customers
 employee hiring sources and attrition
sinks
6
University of Southern California
Center for Systems and Software Engineering
level
Model Elements (continued)
source/
rate
sink
Element
Description
information link
level
auxiliary variable
/
Process Instances
Converters of input to output that
elaborate detail of stock and flow
structure. They often represent
“score-keeping” variables.
Information linkages.
rate
 quantitative goals or planned values
 constants like average delay times
 percent of job completion
 defect density
 progress and status information for
decision making
 linking process parameters to other
information link
vaariables
uxiliary variable
3/16/08
©USC-CSSE
7
University of Southern California
Center for Systems and Software Engineering
Modeling Criteria Overview
Process V&V
Does not catch specific defects, but can model the aggregate effects of processes on defect
rates/levels. Modeling the effects on n different types of defects involves scaling up a model
multiplicatively by n model elements (flow chains, rates, levels and parameters).
• E.g. Dynamic ODC COQUALMO has defect chains replicated for 10 types (see slides later)
Ambiguity Tolerance
No tolerance for ambiguity in flow chain representation, but parameters can be stochastic.
Scalability
The size of process is unlimited. As the size/complexity grows, the technique can cut the level
of entity aggregation higher. No overhead for increasing # of entities at a chosen aggregation.
• E.g. Extremely large SISOS processes we have modeled at the capability level (see slides later)
Extensibility
Requires little to moderate training in simulation to extend existing models.
Coverage
Well suited to estimate high-level budgets, schedules, and quality levels.
Uniquely suited to monitor progress with respect to plans interactively and/or continuously.
• E.g. Earned Value model and others in Software Process Dynamics can generate time-phased
plans, track them against actuals, and recalibrate new plans based on actuals
No independent composition of documents or process elements.
Dynamism
Perfectly suited to model instant or time-phased changes to processes.
• E.g. Brooks’s Law model of adding people to a late project (see slides later)
• E.g. Dynamic ODC COQUALMO model of quality process changes on defect introduction and
removal rates (see slides later)
Distribution
3/16/08
Widely supported mature commercial modeling tools, but no vendors of software process
©USC-CSSE
8
models.
University of Southern California
Center for Systems and Software Engineering
Additional Strengths / Weaknesses
•
Strengths
– Provides a global system perspective and the ability to analyze combined strategies
– Analysis of integrated process factors and feedback loops (e.g. holistic enterprise
models, positive and negative feedback, process delays, process concurrence)
– Finding the right process balance (e. g., quality assurance levels, staffing levels)
– Adapting to change; strategic long-term policy analysis
– Can model inherent tradeoffs between schedule, cost and quality
– Attractive for schedule analysis accounting for critical path flows, task
interdependencies and bottlenecks not available with static models or PERT/CPM
methods
•
Weaknesses
– Assumption of homogeneity of entities; cannot attach attributes to individual
entities
– Sequential activities difficult to represent
– Queuing and other discrete statistics not captured
3/16/08
©USC-CSSE
9
University of Southern California
Center for Systems and Software Engineering
Outline
• Background and Introduction
• System Dynamics Examples
– Optimizing quality assurance, defect dynamics
– Brooks’s Law model
– Process model for very large SISOS
• References
• Detailed Backups
–
–
–
–
3/16/08
Inspection model
Value-based business and software process/product model
Spiral hybrid process model for SISOS
Process concurrence
©USC-CSSE
10
University of Southern California
Center for Systems and Software Engineering
QA Policy Tradeoff Analysis
2500
re w o rk a nd te s ting c o s t
Cost (person-days)
Cost (person-days)
3000
2000
1500
1000
QA cost
500
0
0
10
20
30
40
50
5500
o v e ra ll pro je c t c o s t
5000
4500
4000
3500
3000
0
Q A e ffo rt % o f to ta l
10
20
30
40
50
Q A e ffo rt % o f to ta l
From [Abdel-Hamid/Madnick 91]
3/16/08
©USC-CSSE
11
University of Southern California
Center for Systems and Software Engineering
Dynamic ODC COQUALMO Portion
•
Portion for Requirements Completeness defects only:
3/16/08
©USC-CSSE
12
University of Southern California
Center for Systems and Software Engineering
Dynamic ODC COQUALMO
Sample Outputs
•
Example of applying increased V&V for Execution Testing and Tools at 18 months:
3/16/08
©USC-CSSE
13
University of Southern California
Center for Systems and Software Engineering
Brooks’s Law Model
•
•
“Adding manpower to a late software
project makes it later” [Brooks 75].
A simple model based on the
following assumptions:
– New personnel require training by
experienced personnel to come up
to speed
– More people on a project entail
more communication overhead
– Experienced personnel are more
productive then new personnel, on
average.
3/16/08
©USC-CSSE
14
University of Southern California
Center for Systems and Software Engineering
Brooks’s Law Model Output
Function points/day
Days
Sensitivity of Software Development Rate to Varying Personnel Allocation Pulses
(1: no extra hiring, 2: add 5 people on 100th day, 3: add 10 people on 100th day)
3/16/08
©USC-CSSE
15
University of Southern California
Center for Systems and Software Engineering
•
Large SISOS Model Overview
Built around a cyclic flow chain for
capabilities
–
•
•
•
Each team is represented with a level and
corresponding staff allocation rate
Changes arrive a-periodically via the
volatility trends time function and flow
into the level for capability changes
Changes are processed by the agile team
and allocated to increments per the
deferral policies
–
•
Constant or variable staffing for the agile team
For each increment the required
capabilities are developed into developed
capabilities and then V&V’ed into V &
V’ed capabilities
–
–
•
Arrayed for multiple increments
Productivities and team sizes for development
and V&V calculated with a Dynamic
COCOMO variant and continuously updated
for scope changes
Flow rates between capability changes and V
& V’ed capabilities are bi-directional for
capability “kickbacks” sent back up the chain
User-driven changes from the field are
identified as field issues that flow back
into the capability changes
3/16/08
©USC-CSSE
16
University of Southern California
Center for Systems and Software Engineering
Sample Response to Volatility
•
•
•
•
An unanticipated change occurs at month 8 shown as a volatility trend [1] pulse
It flows into capability changes [1] which declines to zero as the agile team processes the change
The change is non-deferrable for increment 1 so total capabilities [1] increases
Development team staff size dynamically responds to the increased scope
1: volatility trend s[1]
1:
2:
3:
4:
2: ca pabi lity chan ges[1]
3: devel opme nt team
4
1
40
20
4: total capa bili ties [1]
3
3
3
3
1:
2:
3:
4:
2
1
20
15
1:
2:
3:
4:
0
0
0
10
4
4
4
4
1
0.00
2
1
6.00
2
1
12 .00
2
1
18 .00
2
24 .00
Months
In crem ent 1
* [1] refers to increment #1
3/16/08
©USC-CSSE
17
University of Southern California
Center for Systems and Software Engineering
Outline
• Background and Introduction
• System Dynamics Examples
– Optimizing quality assurance, defect dynamics
– Brooks’s Law model
– Process model for very large SISOS
• References
• Detailed Backups
–
–
–
–
3/16/08
Inspection model
Value-based business and software process/product model
Spiral hybrid process model for SISOS
Process concurrence
©USC-CSSE
18
University of Southern California
Center for Systems and Software Engineering
References
•
•
•
•
•
•
Abdel-Hamid T, Madnick S, Software Project Dynamics, Englewood Cliffs, NJ,
Prentice-Hall, 1991
Kellner M, Madachy R, Raffo D, Software Process Simulation Modeling: Why? What?
How?, Journal of Systems and Software, Spring 1999
Madachy R, System Dynamics Modeling of an Inspection-Based Process, Proceedings of
the Eighteenth International Conference on Software Engineering, IEEE Computer
Society Press, Berlin, Germany, March 1996
Madachy R, Boehm B, Lane J, Spiral Lifecycle Increment Modeling for New Hybrid
Processes, Journal of Systems and Software, 2007
Madachy R., Software Process Dynamics, Wiley-IEEE Computer Society, 2008
Madachy R., Boehm B., Assessing Quality Processes with ODC COQUALMO,
Proceedings of the 2008 International Conference on Software Process, Liepzig,
Germany, 2008
USC Web Sites
• http://csse.usc.edu/softwareprocessdynamics
• http://rcf.usc.edu/~madachy/spd
3/16/08
©USC-CSSE
19
University of Southern California
Center for Systems and Software Engineering
Outline
• Background and Introduction
• System Dynamics Examples
– Optimizing quality assurance, defect dynamics
– Brooks’s Law model
– Process model for very large SISOS
• References
• Detailed Backups
–
–
–
–
3/16/08
Inspection model
Value-based business and software process/product model
Spiral hybrid process model for SISOS
Process concurrence
©USC-CSSE
20
University of Southern California
Center for Systems and Software Engineering
Inspection Model Example
• Research problem addressed
– What are the dynamic effects to the process of performing inspections?
• Model used to evaluate process quantitatively
– Demonstrates effects of inspection practices on cost, schedule and quality
throughout lifecycle
– Can experiment with changed processes before committing project
resources
– Benchmark process improvement
– Support project planning and management
• Model parameters calibrated to Litton and JPL data
– Error generation rates, inspection effort, efficiency, productivity, others
• Model validated against industrial data
3/16/08
©USC-CSSE
21
University of Southern California
Center for Systems and Software Engineering
System Diagram
3/16/08
©USC-CSSE
22
University of Southern California
Center for Systems and Software Engineering
System Diagram (continued)
3/16/08
©USC-CSSE
23
University of Southern California
Center for Systems and Software Engineering
Inspection Policy Tradeoff Analysis
• Varying error generation rates shows diminishing returns from
inspections [Madachy 94]:
Total Effort (Person-days)
5500
5000
w ith inspections
w ithout inspections
4500
4000
3500
3000
10
20
30
40
50
60
70
80
Defects/KSLOC
3/16/08
©USC-CSSE
24
University of Southern California
Center for Systems and Software Engineering
Value-Based Model Background
• Purpose: Support software business decisionmaking by experimenting with product strategies
and development practices to assess real earned
value
• Description: System dynamics model relates the
interactions between product specifications and
investments, software processes including quality
practices, market share, license retention, pricing
and revenue generation for a commercial software
enterprise
3/16/08
©USC-CSSE
25
University of Southern California
Center for Systems and Software Engineering
Model Features
• A Value-Based Software Engineering (VBSE) model covering the
following VBSE elements:
–
–
–
Stakeholders’ value proposition elicitation and reconciliation
Business case analysis
Value-based monitoring and control
• Integrated modeling of business value, software products and
processes to help make difficult tradeoffs between perspectives
–
Value-based production functions used to relate different attributes
• Addresses the planning and control aspect of VBSE to manage the
value delivered to stakeholders
–
–
Experiment with different strategies and track financial measures over time
Allows easy investigation of different strategy combinations
• Can be used dynamically before or during a project
–
–
3/16/08
User inputs and model factors can vary over the project duration as opposed to a static model
Suitable for actual project usage or “flight simulation” training where simulations are
interrupted to make midstream decisions
©USC-CSSE
26
University of Southern California
Center for Systems and Software Engineering
Model Sectors and Major Interfaces
• Software process and
product sector computes
the staffing and quality
over time
• Market and sales sector
accounts for market
dynamics including effect
of quality reputation
• Finance sector computes
financial measures from
investments and revenues
3/16/08
Product Specifications
Software
Process and
Product
©USC-CSSE
Product Quality
Market and
Sales
Sales Revenue
Staffing Rate
Finances
27
University of Southern California
Center for Systems and Software Engineering
Software Process and Product
cumulative effort
effort and schedule calculation
with dynamic COCOMO variant
staffing rate
learning function
start staff
estimated total effort
manpower buildup parameter
~
Function Points
effort multiplier
~
Reliability Setting
defect density
defects
product defect flows
~
defect generation rate
3/16/08
actual quality
©USC-CSSE
defect removal rate
28
University of Southern California
Center for Systems and Software Engineering
Finances, Market and Sales
investment and revenue flows
software license sales
market share dynamics
including quality reputation
3/16/08
©USC-CSSE
29
University of Southern California
Center for Systems and Software Engineering
Quality Assumptions
• COCOMO cost driver Required Software Reliability is a proxy for all quality
practices
• Resulting quality will modulate the actual sales relative to the highest potential
• Perception of quality in the market matters
– Quality reputation quickly lost and takes much longer to regain (bad news travels fast)
– Modeled as asymmetrical information smoothing via negative feedback loop
3/16/08
©USC-CSSE
30
University of Southern California
Center for Systems and Software Engineering
Market Share Production Function
and Feature Sets
Features with
Diminishing Returns
Added Market Share Percent
25%
20%
Reference Case
(700 Function Points)
Cases from Example 1
15%
Case 1 and Case 2
(550 Function Points)
High Payoff
Features
10%
5%
Core
Features
0%
0
2
4
6
8
Cost ($M)
3/16/08
©USC-CSSE
31
University of Southern California
Center for Systems and Software Engineering
Sales Production Function and Reliability
100%
Very High
High
Percent of Potential Sales
90%
Required Reliability
Settings
80%
70%
Nominal
60%
Reference Case
and Case 1
50%
Cases from Example 1
40%
Case 2
Low
30%
0.9
3/16/08
1
1.1
1.2
Relative Effort to Achieve Reliability
©USC-CSSE
1.3
32
University of Southern California
Center for Systems and Software Engineering
Example 1: Dynamically Changing
Scope and Reliability
• Shows how model can assess the effects of combined
strategies by varying the scope and required reliability
independently or simultaneously
• Simulates midstream descoping, a frequent strategy to
meet time constraints by shedding features
• Three cases are demonstrated:
– Unperturbed reference case
– Midstream descoping of the reference case after ½ year
– Simultaneous midstream descoping and lowered required
reliability at ½ year
3/16/08
©USC-CSSE
33
University of Southern California
Center for Systems and Software Engineering
Control Panel and Simulation Results
Descope
1: staffing rate
1:
2:
3:
15
35
3
2: market share
3: ROI
Case 1
1
1
2
2
3
2
1:
2:
3:
8
23
1
3
2
2
1:
2:
3:
3
3
3
0
10
-1
0.00
1
2.00
1.00
1
3.00
Page 1
Unperturbed Reference Case
5.00
Years
Descope +
Lower Reliability
1: sta ffin g rate
1:
2:
3:
1
4.00
2: market share
3: ROI
Case 2
15
35
3
1
1
1:
2:
3:
8
23
1
3
3
2
2
3
2
3
3
1:
2:
3:
0.00
Pag e 1
3/16/08
©USC-CSSE
2
0
10
-1
1.00
1
2.00
1
3.00
2
1
4.00
Ye ars
34
5.00
University of Southern California
Center for Systems and Software Engineering
Case Summaries
Case
Delivered
Size
(Function
Points)
Delivered
Reliability
Setting
Cost
($M)
Delivery
Time
(Years)
Final
Market
Share
ROI
Reference Case:
Unperturbed
700
1.0
4.78
2.1
28%
1.3
Case 1:
Descope
at Time = ½ years
550
1.0
3.70
1.7
28%
2.2
Case 2:
Descope and
Lower Reliability
at Time = ½ years
550
.92
3.30
1.5
12%
1.0
3/16/08
©USC-CSSE
35
University of Southern California
Center for Systems and Software Engineering
Example 2: Determining the Reliability
Sweet Spot
• Analysis process
– Vary reliability across runs
– Use risk exposure framework to find process optimum
– Assess risk consequences of opposing trends: market delays and bad
quality losses
– Sum market losses and development costs
– Calculate resulting net revenue
• Simulation parameters
– A new 80 KSLOC product release can potentially increase market share
by 15%-30% (varied in model runs)
– 75% schedule acceleration
– Initial total market size = $64M annual revenue
• Vendor has 15% of market
• Overall market doubles in 5 years
3/16/08
©USC-CSSE
36
University of Southern California
Center for Systems and Software Engineering
Cost Components
$35
development cost
market delay loss
bad quality loss
total cost
Cost (Millions)
$30
$25
3-year time horizon
$20
$15
$10
$5
$0
Low
Nominal
High
Very High
Software Reliability
3/16/08
©USC-CSSE
37
University of Southern California
Center for Systems and Software Engineering
Value-Based Model Conclusions
• To achieve real earned value, business value attainment must be a
key consideration when designing software products and processes
• Software enterprise decision-making can improve with information
from simulation models that integrate business and technical
perspectives
• Optimal policies operate within a multi-attribute decision space
including various stakeholder value functions, opposing market
factors and business constraints
• Risk exposure is a convenient framework for software decision
analysis
• Commercial process sweet spots with respect to reliability are a
balance between market delay losses and quality losses
• Model demonstrates a stakeholder value chain whereby the value
of software to end-users ultimately translates into value for the
software development organization
3/16/08
©USC-CSSE
38
University of Southern California
Center for Systems and Software Engineering
Value-Based Model Future Work
• Enhance product defect model with dynamic version of COQUALMO
to enable more constructive insight into quality practices
• Add maintenance and operational support activities in the workflows
• Elaborate market and sales for other considerations including pricing
scheme impacts, varying market assumptions and periodic upgrades of
varying quality
• Account for feedback loops to generate product specifications (closedloop control)
– External feedback from users to incorporate new features
– Internal feedback on product initiatives from organizational planning and control
entity to the software process
• More empirical data on attribute relationships in the model will help
identify areas of improvement
• Assessment of overall dynamics includes more collection and analysis
of field data on business value and quality measures from actual
software product rollouts
3/16/08
©USC-CSSE
39
University of Southern California
Center for Systems and Software Engineering
Outline
• Research introduction
• Value-based business and software
process/product model
• Spiral hybrid process model for SoftwareIntensive System of Systems (SISOS)
• References
• Backup slides
3/16/08
©USC-CSSE
40
University of Southern California
Center for Systems and Software Engineering
Spiral Hybrid Process Introduction
•
•
•
The spiral lifecycle is being extended to address new challenges for SoftwareIntensive Systems of Systems (SISOS), such as coping with rapid change
while simultaneously assuring high dependability
A hybrid plan-driven and agile process has been outlined to address these
conflicting challenges with the need to rapidly field incremental capabilities
A system-of-systems (SOS) integrates multiple independently-developed
systems and is very large, dynamically evolving, unprecedented, with
emergent requirements and behaviors
– However, traditional static approaches cannot capture dynamic feedback loops and
interacting phenomena that cause real-world complexity (e.g. hybrid processes,
project volatility, increment overlap and resource contention, schedule pressure,
slippages, communication overhead, slack, etc.)
•
•
A system dynamics model is being developed to assess the incremental hybrid
process and support project decision-making
Both the hybrid process and simulation model are being evolved on a very
large scale incremental project for a SISOS
3/16/08
©USC-CSSE
41
University of Southern California
Center for Systems and Software Engineering
Scalable Spiral Model Increment Activities
•
•
•
•
Organize development
into plan-driven
increments with stable
specs
Agile team watches for
and assesses changes,
then negotiates changes
so next increment hits
the ground running
Try to prevent usage
feedback from
destabilizing current
increment
Three team cycle plays
out from one increment
to the next
3/16/08
Unforseeable Change
(Adapt)
Rapid
Change
Short
Development
Increments
Agile
Future Increment Baselines
Rebaselining for
Future Increments
Deferrals
Foreseeable
Change (Plan)
Increment N Baseline
Stable Development
Increments
Current V&V
High
Assurance
Resources
Short, Stabilized
Development
of Increment N
Artifacts
Increment N Transition/O&M
Concerns
V&V
of Increment N
Future V&V
Resources
Continuous V&V
©USC-CSSE
42
University of Southern California
Center for Systems and Software Engineering
Spiral Hybrid Model Features
• Estimates cost and schedule for multiple
increments of a hybrid process that uses three
specialized teams (agile re-baseliners, developers,
V&V’ers) per the scalable spiral model
• Considers changes due to external volatility and
feedback from user-driven change requests
• Deferral policies and team sizes can be
experimented with
• Includes tradeoffs between cost and the timing of
changes within and across increments, length of
deferral delays, and others
3/16/08
©USC-CSSE
43
University of Southern California
Center for Systems and Software Engineering
Model Input Control Panel
3/16/08
©USC-CSSE
44
University of Southern California
Center for Systems and Software Engineering
Model Overview
•
Built around a cyclic flow chain for
capabilities
–
•
•
•
Each team is represented with a level and
corresponding staff allocation rate
Changes arrive a-periodically via the
volatility trends time function and flow
into the level for capability changes
Changes are processed by the agile team
and allocated to increments per the
deferral policies
–
•
Constant or variable staffing for the agile team
For each increment the required
capabilities are developed into developed
capabilities and then V&V’ed into V &
V’ed capabilities
–
–
•
Arrayed for multiple increments
Productivities and team sizes for development
and V&V calculated with a Dynamic
COCOMO variant and continuously updated
for scope changes
Flow rates between capability changes and V
& V’ed capabilities are bi-directional for
capability “kickbacks” sent back up the chain
User-driven changes from the field are
identified as field issues that flow back
into the capability changes
3/16/08
©USC-CSSE
45
University of Southern California
Center for Systems and Software Engineering
Volatility Cost Functions
Volatility Effort Multiplier
•
•
Lifecycle Timing Effort
Multiplier
The volatility effort multiplier for construction effort and schedule is an aggregate
multiplier for volatility from different sources (e.g. COTS, mission, etc.) relative to the
original baseline for increment
The lifecycle timing effort multiplier models increased development cost the later a
change comes in midstream during an increment
3/16/08
©USC-CSSE
46
University of Southern California
Center for Systems and Software Engineering
Sample Response to Volatility
•
•
•
•
An unanticipated change occurs at month 8 shown as a volatility trend [1] pulse
It flows into capability changes [1] which declines to zero as the agile team processes the change
The change is non-deferrable for increment 1 so total capabilities [1] increases
Development team staff size dynamically responds to the increased scope
1: volatility trend s[1]
1:
2:
3:
4:
2: ca pabi lity chan ges[1]
3: devel opme nt team
4
1
40
20
4: total capa bili ties [1]
3
3
3
3
1:
2:
3:
4:
2
1
20
15
1:
2:
3:
4:
0
0
0
10
4
4
4
4
1
0.00
2
1
6.00
2
1
12 .00
2
1
18 .00
2
24 .00
Months
In crem ent 1
* [1] refers to increment #1
3/16/08
©USC-CSSE
47
University of Southern California
Center for Systems and Software Engineering
Sample Test Results
•
•
•
•
Test case for two increments of 15 baseline capabilities each
A non-deferrable change comes at month 8 (per previous slide)
The agile team size is varied from 2 to 10 people
Increment 1 business value also lost for agile team sizes of 2 and 4
Total Effort (PM)
3500
4000
Agile Effort (PM)
3500
Effort (PM)
2000
1500
2500
500
500
0
0
8
10
65
60
2
4
6
8
10
# Agile People
# Agile People
3/16/08
70
1500
1000
6
75
2000
1000
4
85
3000
2500
2
Total Schedule (Mths.)
80
Dev+V&V Effort (1) (PM)
3000
Effort (PM)
Dev+V&V (2) Effort (PM)
©USC-CSSE
48
Schedule (Mths
4000
University of Southern California
Center for Systems and Software Engineering
Spiral Hybrid Model
Conclusions and Future Work
•
•
•
System dynamics is a convenient modeling framework to deal with the complexities of a
SISOS
A hybrid process appears attractive to handle SISOS dynamic evolution, emergent
requirements and behaviors
Initial results indicate that having an agile team can help decrease overall cost and schedule
–
•
•
Will obtain more empirical data to calibrate and parameterize model including volatility and
change trends, change analysis effort, effort multipliers and field issue rates
Model improvements
–
–
–
–
•
3/16/08
Additional staffing options
• Rayleigh curve staffing profiles
• Constraints on development and V&V staffing levels
More flexible change deferral options across increments
Increment volatility balancing policies
Provisions to account for (timed) business/mission value of capabilities
Additional model experimentation
–
–
–
•
Model can help find the optimum balance
Include capabilities flowing back from developers and V&V’ers
Vary deferral policies and volatility patterns across increments
Compare different agile team staffing policies
Continue applying the model on a current SISOS and seek other potential pilots
©USC-CSSE
49
University of Southern California
Center for Systems and Software Engineering
Process Concurrence Basics
• Process concurrence describes interdependency
constraints between tasks
– can be an internal constraint within a development stage or an
external constraint between stages
• Describes how much work becomes available for
completion based on previous work accomplished
• Accounts for realistic bottlenecks on work availability
– vs. a model driven solely by resources and productivity that can
finish in almost zero time with infinite resources
• Concurrence relations can be sequential, parallel, partially
concurrent, or other dependent relationships
3/16/08
©USC-CSSE
50
University of Southern California
Center for Systems and Software Engineering
Process Concurrence Suitability for
Integration of Processes
• Process concurrence models the constraints on making
work available between process activities.
• Provides a framework to characterize different approaches
in terms of their ability to parallelize or accelerate
activities
– Can be used to derive optimal staffing profiles for different project
situations
• Hence, it can model the integration and sequencing (in
aggregate) of systems engineering and software
engineering activities
– E.g. The following external concurrence model can optimize
staffing levels for given system architectural profiles
3/16/08
©USC-CSSE
51
University of Southern California
Center for Systems and Software Engineering
External Concurrence Model
the time profile of tasks
ready to elaborate ~
“ideal” staffing curve shape
3/16/08
©USC-CSSE
52
University of Southern California
Center for Systems and Software Engineering
Simulation Results and Sample Lessons
flat
Rayleigh
COTS pulse
at front
N/A
Critical customer decision delays
slow progress
- e.g. can’t design until timing
performance specs are known
Early stakeholder concurrence
enables RAD
- e.g. decision on architectural
framework or COTS package
3/16/08
©USC-CSSE
53
Download