Title: Software Process Dynamics III
1Software Process Dynamics III
Ray Madachy madachy_at_usc.edu CSCI 510 November
17, 2006
2Outline
- System dynamics modeling review
- Spiral hybrid process model for
Software-Intensive System of Systems (SISOS) - References
3Background
- 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.
4Systems and Software Engineering Challenges
- What to build? Why? How well?
- Stakeholder needs balancing, business case
- Who to build it? Where?
- Staffing, organizing, outsourcing
- How to build? When in what order?
- Construction processes, methods, tools,
components, increments - How to adapt to change?
- In user needs, technology, marketplace
- How much is enough?
- Functionality, quality, specifying, prototyping,
test
5System Dynamics Notation
- System represented by x(t) f(x,p).
- x vector of levels (state variables), p set of
parameters - Legend
- Example system
6Model Elements
7Model Elements (continued)
8Outline
- System dynamics modeling review
- Spiral hybrid process model for
Software-Intensive System of Systems (SISOS) - References
9Spiral Hybrid Process Introduction
- The spiral lifecycle is being extended to address
new challenges for Software-Intensive 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 (U.S. Army Future Combat
Systems)
10Future Combat Systems (FCS) Network
11Scalable 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
12Spiral Hybrid Model Features
- Estimates cost and schedule for multiple
increments of a hybrid process that uses three
specialized teams (agile re-baseliners,
developers, VVers) 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
13Model Input Control Panel
14Model Overview
- Built around a cyclic flow chain for capabilities
- Arrayed for multiple increments
- 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
VVed into V Ved capabilities - Productivities and team sizes for development and
VV calculated with a Dynamic COCOMO variant and
continuously updated for scope changes - Flow rates between capability changes and V
Ved 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
15Volatility Cost Functions
- 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
16Staffing Parameters
17Staffing Profile for Increment 1 Baseline
(Unperturbed)
18Sample 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
19Sample 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
20Total Effort and Schedule
21Total Costs Including Mission Value Loss
22Spiral 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 - Model can help find the optimum balance
- 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
- Additional staffing options
- Rayleigh curve staffing profiles
- Constraints on development and VV 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
- Include capabilities flowing back from developers
and VVers - 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
23Outline
- System dynamics modeling review
- Spiral hybrid process model for
Software-Intensive System of Systems (SISOS) - References
24References
- Boehm, B., Egyed, A., Kwan, J., Port, D., Shah,
A., and Madachy, R. Using the WinWin Spiral
Model A Case Study IEEE Computer, July (1998) - Boehm, B., Abts C., Brown A., Chulani S., Clark
B.,Horowitz E., Madachy R.,Reifer D., Steece B.
Software Cost Estimation with COCOMO II,
Prentice-Hall (2000) - Boehm, B., Brown, A.W., Basili, V., Turner, R.
Spiral Acquisition of Software-Intensive Systems
of Systems, CrossTalk. May (2004) - Boehm, B. Some Future Trends and Implications
for Systems and Software Engineering Processes,
USC-CSE-TR-2005-507 (2005) - Boehm, B., Turner, R. Balancing Agility and
Discipline, Addison Wesley (2003) - Madachy R., Software Process and Business Value
Modeling, Proceedings of the 6th International
Workshop on Software Process Simulation and
Modeling, St. Louis, MI, IEE, May (2005) - Madachy R, Software Process Dynamics, Wiley-IEEE
Computer Society Press, Washington, D.C., 2007
(to be published)