Economic Governance of Software Delivery Walker Royce Chief Software Economist
Economic Governance of Software Delivery
Walker Royce
Chief Software Economist
Software Delivery is an Economic Discipline
Engineering ����
Engineering ����
Engineering ����
Engineering ����
Religion
Philosophy
History
Economics
Biology
Chemistry
Physics
Mathematics
Software ����
Software ����
Software ����
Software ����
Level 5: Completely irreducible uncertainty
Level 4: Partially reducible uncertainty
Level 3: Fully reducible uncertainty
Level 2: Risk without uncertainty
Level 1: Complete certainty
Lo, Andrew, and Mark Mueller. MIT Sloan School of Management,
Moody’s/NYU 6th Annual Credit Risk Conference, New York, March 2010.
IBM Software Group | Rational software
Engineering Governance
Transforming for Improved Predictability and Speed
Business value and outcome led
Measure progress/quality trends in change managed code and test base
Sequence of released capabilities with ever increasing value
No distinct boundary between development and maintenance
Continuously evolving systems
Economic Governance
Requirements/Technology led
Measure activities and artifacts
Requirements-design-code-test Sequence of activities
Distinct handoff to maintenance
Distinct development phase
Deterministic Engineering Discipline Probabilistic Economic Discipline
IBM Software Group | Rational software
4
Deliver business critical software product release within 12 months
ESTIMATE11 Months
BUSINESSNEED
SCHEDULE
6 12 18
SCHEDULE
IBM Software Group | Rational software
Late Scrap and Rework
ACTUAL DELIVERY
5
Ben’s probable outcome…REALITY
PLANNED TARGET
100%
0%
6 12 18
DESIGN REVIEW
PR
OG
RE
SS
SCHEDULE
Integration Begins
IBM Software Group | Rational software
Program parameters are delivery predictions Cost, schedule, effort, quality, …
6
INSIGHTP
RO
BA
BIL
ITY
SCHEDULE
6 12 18
Mean estimate =
11MONTHSArea under curve =
Probability of delivering in
11 to 12 MONTHS
IBM Software Group | Rational software
7
There is roughly a 50% chance of making the date
COIN FLIPP
RO
BA
BIL
ITY
SCHEDULE
6 12 18
52%
IBM Software Group | Rational software
PR
OB
AB
ILIT
Y
SCHEDULE
6 12 18
8
Move out the date to improve likelihood of shipping?
OPTION 1
95%
IBM Software Group | Rational software
9
Decrease time estimate by Sacrificing quality or content?
OPTION 2P
RO
BA
BIL
ITY
SCHEDULE
6 12 18
95%
IBM Software Group | Rational software
Reduce the variance to improve likelihood of shipping
10
OPTIMIZEP
RO
BA
BIL
ITY
SCHEDULE
6 12 18
90%
IBM Software Group | Rational software
Uncertainty in stakeholder satisfaction
Uncertainty in Plans, Scope and Design
MINIMUMVIABLE PRODUCT
11
Measure validated learningReduce the variance
ORIGINAL PLAN
INITIAL TARGET
OPTIMIZE
Best/Worst practices in agile measurement
Quality measures
Quantify cost-of-change
trends to demonstrate
true agility
Progress measures
Quantify progress trends
from the integrated code
and test base
Plans/management
Plan for integration
to precede
unit testing
Integrate Collaborate Optimize
Don’t attack the easy
things first
Don’t rely on subjective
and speculative measures
Avoid false precision in
plans and requirements
Measured Improvement: Progress Measures
Conventional Engineering Governance
Modern Economic Governance
PlanningProgress
Early Releases Test ReleasesRequirements
Design
Coding
Test and Release
TechnicalProgressLate scrap
and reworkProgressions and digressions
EconomicProgress
Measured Improvement: Quality Measures
Conventional Engineering Governance
Modern Economic Governance
MaturityDefectTrend
IntegrationUnit Test Operation
OperationsIntegration Unit Test
ModularityChange Volume
TrendIntegrationUnit Test Operation
OperationsIntegration Unit Test
AdaptabilityCost of Change
TrendIntegrationUnit Test Operation
Integration OperationsUnit Test
15
Target
Date
Months0
Probability
3 6 9 12
Target
Date
Months0
Probability
3 6 9 12
Bayesian Reasoning For Better Predictions in the Face of Uncertainty
� Mathematical foundations– Probability and statistics– Common distributions– Computer simulation of large number
of possible outcomes
� Understanding sources of uncertainty in extremely complex systems
� Making better decisions
P(A) = d(e)deA∫
Probability DensityProbability DensityProbability DensityProbability Density
P(B | A) =
P(A | B)P(B)
P(A)
Bayes TheoremBayes TheoremBayes TheoremBayes Theorem
PriorsPriorsPriorsPriors(Well reasoned
Predictions)
EvidenceEvidenceEvidenceEvidence(New facts)
PosteriorsPosteriorsPosteriorsPosteriors(More ReliablePredictions)
++++ ����
Bayesian ReasoningBayesian ReasoningBayesian ReasoningBayesian Reasoning
Monte Carlo Monte Carlo Monte Carlo Monte Carlo SimulationsSimulationsSimulationsSimulations
Monte Carlo simulation of project scope items
17
DeveloperDuration Estimates
Actual distribution of work item
completion times
2w 4w 6w
Monte Carlo
Simulation of
remaining work
CodeWork ItemsUser storiesPlan Item(s) Release
2w 4w 6w
++++
=>=>=>=>
IBM Research Prototype
Likelihood measure
Risk Trend
Burndown status and forecast
History Slider
• Achieve predictable outcomes
• Manage risk
• Ensure compliance
• Improve software economics
• Visibility and transparency
Accelerated delivery demands a quid pro quo
EngineeringPractitioners
Embrace Measurement
GovernanceStakeholders
Enable Agility
• Design, create, test
• Reuse knowledge,
best practices
• Address uncertain things first
• Be adaptive to change
The Speed Of Trust
The Moral of This Story
Better software economics is a result of:
1. Measured improvement for improved predictability
• The foundation of economic governance
• Measurement helps you manage uncertainty
2. Agility for improved operational efficiency
• Best measured by cost of change trends
• Best achieved by accelerating integration testing
3. Automated Bayesian analytics for improved predictability
• Painless governance and less overhead perceived by practitioners
• Quantum leaps in trust among stakeholders
If you play better defenseyou can play more offense!
References
1. S. Ambler, A. Brown, W. Royce, “Agility at Scale: Economic Governance, Measured Improvement, and Disciplined Delivery,” Proceedings of ICSE 2013. May, 2013.
2. Cantor, Murray, “Estimation Variance and Governance,” The Rational Edge, March 2006.3. Murray Cantor, “Filling in the Blanks, The Math behind Nate Silver’s The Signal and the
Noise,” IBM Developer Works, 2013.4. W. Royce, “Measuring agility and architectural integrity,” International Journal of Software
Informatica, vol. 5, no. 3, 2011, ISCAS.5. M. Cantor and W. Royce, “Economic Governance,” To be published.