USC C S E University of Southern California Center for Software Engineering Value-Based Software Engineering: Case Study and Value-Based Control Barry Boehm, USC CS 510 Lecture Fall 2012 USC C S E University of Southern California Center for Software Engineering Outline • Value-based software engineering (VBSE) process framework • Application to case study; key practices • Conclusions and references ©USC-CSSE 2 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 • Engine: Theory W (stakeholder win-win): What values are important? – Enterprise Success Theorem – Theory of Justice – Win-Win Equilibrium and Negotiation • Four Supporting Theories – Dependency Theory: How do dependencies affect value realization? – Results chains; value chains; cost/schedule/performance tradeoffs – Utility Theory: How important are the values? – Multi-attribute utility; Maslow need hierarchy – Decision Theory: How do values determine decisions? – Investment theory; game theory; statistical decision theory – Control Theory: How to monitor and control value realization – Feedback control; adaptive control; spiral risk control ©USC-CSSE 3 USC C S E University of Southern California Center for Software Engineering VBSE Theory 4+1 Structure Dependency Theory How do dependencies affect value realization? Utility Theory What values are important? How is success assured? How important are the values? Theory W: SCS Win-Win How to adapt to change and control value realization? How do values determine decision choices? Control Theory Decision Theory ©USC-CSSE 4 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 Process – With a great deal of concurrency and backtracking 5a, 7b. Option, solution development & analysis Dependency Theory Utility Theory 2a. Results Chains 2. Identify SCSs 3b, 5a, 7b. Cost/schedule/ performance tradeoffs 3b, 7a. Solution Analysis 3. SCS Value Propositions (Win conditions) 4. SCS expectations management Theory W: SCS Win-Win 6, 7c. Refine, Execute, Monitor & Control Plans Control Theory 5a, 7b. Prototyping 5. SCS Win-Win Negotiation 1. Protagonist goals 3a. Solution exploration 7. Risk, opportunity, change Decision Theory management 6a, 7c. State measurement, prediction, correction; Milestone synchronization 5a. Investment analysis, Risk analysis SCS: Success-Critical Stakeholder ©USC-CSSE 5 USC C S E University of Southern California Center for Software Engineering Need Incremental Approach to VBSE Process • Cannot make all decisions in a single pass – – – – – Emergent technology: social networking Emergent requirements: outdo competitors TBD standards: information exchange; infrastructure Evolving platforms: mobile devices Emerging stakeholders: strategic partners, suppliers • Best to incrementally define scope, features, details – But do best-effort architecting for the future • Avoid easiest-first increments on large, critical projects • Concurrently determine requirements and solutions • Best to incrementally develop product features – Avoid obsolete deliveries – Early focus on critical infrastructure, high-value features ©USC-CSSE 6 USC C S E University of Southern California Center for Software Engineering Outline • Value-based software engineering (VBSE) process framework • Application to case study; key practices • Conclusions and references ©USC-CSSE 7 USC C S E University of Southern California Center for Software Engineering Example Project: Sierra Mountainbikes – Based on what would have worked on a similar project • Quality leader in specialty area • Competitively priced • Major problems with order processing – Delivery delays and mistakes – Poor synchronization of order entry, confirmation, fulfillment – Disorganized responses to problem situations – Excess costs; low distributor satisfaction ©USC-CSSE 8 USC C S E University of Southern California Center for Software Engineering Order Processing Project Goals Goals: Improve profits, market share, customer satisfaction via improved order processing Questions: Current state? Root causes of problems? Keys to improvement? Metrics: Balanced Scorecard of benefits realized, proxies – Customer satisfaction ratings; key elements (ITV: in-transit visibility) – Overhead cost reduction – Actual vs. expected benefit and cost flows, ROI ©USC-CSSE 9 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 Process, Steps 1 and 2 – With a great deal of concurrency and backtracking Dependency Theory 2a. Results Chains Utility Theory 2. Identify SCSs Theory W: SCS Win-Win 1. Protagonist goals Control Theory Decision Theory SCS: Success-Critical Stakeholder ©USC-CSSE 10 USC C S E University of Southern California Center for Software Engineering Frequent Protagonist Classes Without a pro-active protagonist, a project won’t start Protagonist Class Goals Authority Ideas Resources Leader with Goals, Baseline Agenda X X X X Leader with Goals, Open Agenda X X Entrepreneur with Goals, Baseline Agenda X Entrepreneur with Goals, Open Agenda X Inventor with Goals, Ideas X Consortium with Shared Goals X X X X X X (X) (X) •Sierra Moutainbikes: Susan Swanson, new CEO – Bicycle champion, MBA, 15 years’ experience – Leads with goals, open agenda ©USC-CSSE 11 USC C S E University of Southern California Center for Software Engineering DMR/BRA* Results Chain Order to delivery time is an important buying criterion INITIATIVE Contribution Implement a new order entry system ASSUMPTION OUTCOME Contribution OUTCOME Reduced order processing cycle (intermediate outcome) Increased sales Reduce time to process order Reduce time to deliver product *DMR Consulting Group’s Benefits Realization Approach ©USC-CSSE 12 USC C S E University of Southern California Center for Software Engineering Expanded Order Processing System Benefits Chain Distributors, retailers, customers Assumptions - Increasing market size - Continuing consumer satisfaction with product - Relatively stable e-commerce infrastructure - Continued high staff performance New order-entry system Developers Less time, fewer errors per order entry system New order fulfillment processes, outreach, training New order fulfillment system Safety, fairness inputs Less time, fewer errors in order processing Faster, better order entry system Interoperability inputs Increased customer satisfaction, decreased operations costs Faster order-entry steps, errors On-time assembly New order-entry processes, outreach, training Improved supplier coordination Sales personnel, distributors ©USC-CSSE Increased sales, profitability, customer satisfaction Increased profits, growth Suppliers 13 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 Process, Steps 3 and 4 – With a great deal of concurrency and backtracking Dependency Theory 2a. Results Chains 3b. Cost/schedule/ performance tradeoffs Utility Theory 2. Identify SCSs 3b. Solution Analysis 3. SCS Value Propositions (Win conditions) 4. SCS expectations management Theory W: SCS Win-Win 1. Protagonist goals Control Theory Decision Theory SCS: Success-Critical Stakeholder ©USC-CSSE 14 USC C S E University of Southern California Center for Software Engineering The Model-Clash Spider Web: Master Net - Stakeholder value propositions (win conditions) ©USC-CSSE 15 USC C S E University of Southern California Center for Software Engineering There is No Universal Quality-Value Metric • Different stakeholders rely on different value attributes – – – – – Protection: safety, security, privacy Robustness: reliability, availability, survivability Quality of Service: performance, accuracy, ease of use Adaptability: evolvability, interoperability Affordability: cost, schedule, reusability • Value attributes continue to tier down – Performance: response time, resource consumption (CPU, memory, comm.) • Value attributes are scenario-dependent – 5 seconds normal response time; 2 seconds in crisis • Value attributes often conflict – Most often with performance and affordability ©USC-CSSE 16 USC C S E University of Southern California Center for Software Engineering Major Information System Quality Stakeholders •Dependents - passengers, patients •Information Suppliers -citizens, companies •Information Brokers -financial services, news media Information System •Information Consumers -decisions, education, entertainment •Mission Controllers -pilots, distribution controllers Developers, Acquirers, Administrators ©USC-CSSE 17 USC C S E University of Southern California Center for Software Engineering Overview of Stakeholder/Value Dependencies • Strength of direct dependency on value attribute **- Critical ; *-Significant; blank-insignificant or indirect Stakeholders Info. Suppliers, Dependents Info. Brokers Info. Consumers Mission Controllers, Administrators Developers, Acquirers ©USC-CSSE ** ** * * * ** ** ** * * ** * ** * ** * * ** ** ** 18 USC C S E University of Southern California Center for Software Engineering Elaboration of Stakeholder/Value Dependencies Acquirers Administrators Info Consumers Cost Schedule Reusability Info Brokers Protection Safety Security Privacy Robustross Reliability Availability Survivability Quality of Service Performance Accuracy, Consistency Accessibility, ease of use; difficulty of misuse Evolvability Interoperability Dependents Info Suppliers Q-Attributes Developers, Maintenance Mission Controllers Stakeholders Mission crit uncrit * ** ** ** * ** ** ** ** * ** ** ** ** ** ** ** ** ** ** ** ** ** * ** ** ** ** ** ** ** * * * ©USC-CSSE ** ** ** ** ** ** *-** * ** ** * ** ** ** ** ** ** * ** ** * 19 USC University of Southern California C S E Center for Software Engineering Cost, Schedule, Quality: Pick any Two? C S Q ©USC-CSSE 20 USC University of Southern California C S E Center for Software Engineering Tradeoffs Among Cost, Schedule, and Reliability: COCOMO II 9 (RELY, MTBF (hours)) 8 (VL, 1) Cost ($M) 7 (L, 10) 6 5 (N, 300) 4 (H, 10K) 3 (VH, 300K) •For 100-KSLOC set of features •Can “pick all three” with 77-KSLOC set of features 2 1 -- Cost/Schedule/RELY: “pick any two” points 0 0 10 20 30 40 50 Development Time (Months) ©USC-CSSE 21 USC C S E University of Southern California Center for Software Engineering Cost, Schedule, Quality: Pick any Two? • Consider C, S, Q as Independent Variable – Feature Set as Dependent Variable C S C S Q ©USC-CSSE Q 22 USC C S E University of Southern California Center for Software Engineering C, S, Q as Independent Variable • Determine Desired Delivered Defect Density (D4) – Or a value-based equivalent • Prioritize desired features – Via QFD, IPT, stakeholder win-win • Determine Core Capability – 90% confidence of D4 within cost and schedule – Balance parametric models and expert judgment • Architect for ease of adding next-priority features – Hide sources of change within modules (Parnas) • Develop core capability to D4 quality level – Usually in less than available cost and schedule • Add next priority features as resources permit • Versions used successfully on 32 of 34 USC digital library projects ©USC-CSSE 23 USC C S E University of Southern California Center for Software Engineering Implications for Quality Engineering • There is no universal quality metric to optimize • Need to identify system’s success-critical stakeholders – And their quality priorities • Need to balance satisfaction of stakeholder dependencies – Stakeholder win-win negotiation – Quality attribute tradeoff analysis • Need value-of-quality models, methods, and tools – COCOMO example: cost-schedule-quality- size tradeoffs – Stakeholder win-win negotiation tools ©USC-CSSE 24 USC C S E University of Southern California Center for Software Engineering Win-lose Generally Becomes Lose-lose Proposed Solution “Winner” Loser Quick, Cheap, Sloppy Product Developer & Customer User Lots of Developer & User “bells and whistles” Customer Driving too hard a Customer & User bargain Developer Actually, nobody wins in these situations ©USC-CSSE 25 USC C S E University of Southern California Center for Software Engineering Key Concepts • Win Condition: Objective which makes a stakeholder feel like a winner • Issue: Conflict or constraint on a win condition • Option: A way of overcoming an issue • Agreement: Mutual commitment to an option or win condition ©USC-CSSE 26 USC C S E University of Southern California Center for Software Engineering WinWin Negotiation Model Win Condition Issue involves covers Agreement addresses adopts Option WinWin Equilibrium State - All Win Conditions covered by Agreements - No outstanding Issues ©USC-CSSE 27 USC C S E University of Southern California Center for Software Engineering EasyWinWin OnLine Negotiation Steps ©USC-CSSE 28 USC C S E University of Southern California Center for Software Engineering Red cells indicate lack of consensus. Oral discussion of cell graph reveals unshared information, unnoticed assumptions, hidden issues, constraints, etc. ©USC-CSSE 29 USC C S E University of Southern California Center for Software Engineering WikiWinWin: Identify and Resolve Issues ©USC-CSSE 30 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 Process, Step 5 – With a great deal of concurrency and backtracking 5a. Option, solution development & analysis Dependency Theory 2a. Results Chains 3b, 5a. Cost/schedule/ performance tradeoffs Utility Theory 2. Identify SCSs 3b. Solution Analysis 3. SCS Value Propositions (Win conditions) 4. SCS expectations management Theory W: SCS Win-Win 5a. Prototyping 5. SCS Win-Win Negotiation 1. Protagonist goals 3a. Solution exploration Control Theory Decision Theory 5a. Investment analysis, Risk analysis SCS: Success-Critical Stakeholder ©USC-CSSE 31 USC C S E University of Southern California Center for Software Engineering Project Strategy and Partnerships • Partner with eServices, Inc. for order processing and fulfillment system – Profit sharing using jointly-developed business case • Partner with key distributors to provide user feedback – Evaluate prototypes, beta-test early versions, provide satisfaction ratings • Incremental development using MBASE/RUP anchor points – Life Cycle Objectives; Architecture (LCO; LCA) – Core Capability Drivethrough (CCD) – Initial; Full Operational Capability (IOC; FOC) • Architect for later supply chain extensions ©USC-CSSE 32 USC C S E University of Southern California Center for Software Engineering Business Case Analysis • Estimate costs and schedules – COCOMO II and/or alternative for software – PRICE H or alternative for hardware – COSYSMO for systems engineering • Estimate financial benefits – Increased profits – Reduced operating costs • Compute Return on Investment – ROI = (Benefits – Costs) / Costs – Normalized to present value • Identify quantitative metrics for other goals – Customer satisfaction ratings • Ease of use; In-transit visibility; overall – Late delivery percentage ©USC-CSSE 33 USC C S E University of Southern California Center for Software Engineering Order Processing System Schedules and Budgets Milestone Due Date Budget ($K) Cumulative Budget ($K) Inception Readiness 1/1/2004 0 0 Life Cycle Objectives 1/31/2004 120 120 Life Cycle Architecture 3/31/2004 280 400 Core Capability Drivethrough 7/31/2004 650 1050 Initial Oper. Capability: SW 9/30/2004 350 1400 Initial Oper. Capability: HW 9/30/2004 2100 3500 Developed IOC 12/31/2004 500 4000 Responsive IOC 3/31/2005 500 4500 Full Oper. Cap’y CCD 7/31/2005 700 5200 FOC Beta 9/30/2005 400 5600 FOC Deployed 12/31/2005 400 6000 Annual Oper. & Maintenance 3800 Annual O&M; Old System 7600 ©USC-CSSE 34 USC C S E University of Southern California Center for Software Engineering Order Processing System: Expected Benefits and Business Case New System Current System Market Share % Sales Profits Market Share % Sales Profits Cost Savings Change in Profits Cum. Change in Profits Cum. Cost ROI Late Delivery % Customer Satisfaction (0-5) In-Transit Visibility (0-5) Ease of Use (0-5) Customers Market Size ($M) Financial 12/31/03 12/31/04 360 400 20 20 72 80 7 8 20 20 72 80 7 8 0 0 0 0 0 0 0 4 0 -1 12.4 11.4 1.7 3.0 1.0 2.5 1.8 3.0 12/31/05 12/31/06 440 480 20 20 88 96 9 10 22 25 97 120 10 13 2.2 3.2 3.2 6.2 3.2 9.4 6 6.5 -.47 .45 7.0 4.0 4.0 4.3 3.5 4.0 4.0 4.3 12/31/07 520 20 104 11 28 146 16 4.0 9.0 18.4 7 1.63 3.0 4.5 4.3 4.5 12/31/08 560 20 112 12 30 168 19 4.4 11.4 29.8 7.5 2.97 2.5 4.6 4.6 4.6 Date ©USC-CSSE 35 USC C S E University of Southern California Center for Software Engineering Initial VBSE Theory: 4+1 Process, Steps 6 and 7 – With a great deal of concurrency and backtracking 5a, 7b. Option, solution development & analysis Dependency Theory Utility Theory 2a. Results Chains 3b, 5a, 7b. Cost/schedule/ 2. Identify SCSs performance tradeoffs 3b, 7a. Solution Analysis 3. SCS Value Propositions (Win conditions) Theory W: SCS Win-Win 6, 7c. Refine, Execute, Monitor & Control Plans Control Theory 4. SCS expectations management 5a, 7b. Prototyping 5. SCS Win-Win Negotiation 1. Protagonist goals 3a. Solution exploration 7. Risk, opportunity, change Decision Theory management 6a, 7c. State measurement, prediction, correction; Milestone synchronization 5a. Investment analysis, Risk analysis SCS: Success-Critical Stakeholder ©USC-CSSE 36 USC C S E University of Southern California Center for Software Engineering A Real Earned Value System • Current “earned value” systems monitor cost and schedule, not business value – Budgeted cost of work performed (“earned”) – Budgeted cost of work scheduled (“yearned”) – Actual costs vs. schedule (“burned”) • A real earned value system monitors benefits realized – Financial benefits realized vs. cost (ROI) – Benefits realized vs. schedule - Including non-financial metrics – Actual costs vs. schedule ©USC-CSSE 37 USC C S E University of Southern California Center for Software Engineering Customer Satisfaction ITV Ease of Use 72 7.0 12.4 1.7 1.0 1.8 3/31/04 427 20 72 7.0 12.4 1.7 1.0 1.8 7/31/04 1050 7/20/04 1096 9/30/04 1400 9/30/04 1532 2.4* 1.0* 2.7* 9/30/04 3500 3432 12/31/04 4000 20 80 8.0 0.0 -1.0 11.4 3.0 2.5 3.0 12/20/04 4041 22 88 8.6 0.6 -.85 10.8 2.8 1.6 3.2 3/31/05 4500 300 9.0 3.5 3.0 3.5 3/30/05 4604 324 7.4 3.3 1.6 3.8 Full Op’l Capability CCD 7/31/05 5200 1000 7/28/05 5328 946 Full Op’l Capability Beta 9/30/05 5600 1700 9/30/05 5689 1851 12/31/05 6000 2200 22 106 12.2 3.2 -.47 7.0 4.0 3.5 4.0 12/20/05 5977 2483 24 115 13.5 5.1 -.15 4.8 4.1 3.3 4.2 6/30/06 6250 Deployed IOC Responsive IOC Full Op’l Capability Deployed Release 2.1 Increased COTS ITV risk, fallback identified. Using COTS ITV fallback; new HW competitor; renegotiating HW. 2.7* 1.4* 2.8* 10/11/04 Hardware IOC Risks/Opportunities Late Delivery % 20 ROI 400 Cum. Profits 3/31/04 Op’l Cost Savings Annual Profits ($M) Software Initial Op’l Capability (IOC) Annual Sales ($M) Core Capability Demo (CCD) Market Share % Life Cycle Architecture Cost ($K) Milestone Schedule Value-Based Expected/Actual Outcome Tracking Capability $200K savings from renegotiated HW. 3.5* 2.5* 3.8* New COTS ITV source identified, being prototyped. New COTS ITV source initially integrated. 3.8* 3.1* 4.1* ©USC-CSSE 38 USC C S E University of Southern California Center for Software Engineering Conclusions • Current SE methods are basically valueneutral • Value-neutral SE methods are increasingly risky • VBSE agenda making progress, but major challenges remain – Evolving VBSE theory – Creating VB counterparts for value-neutral SE methods ©USC-CSSE 39 USC C S E University of Southern California Center for Software Engineering References - I C. Baldwin & K. Clark, Design Rules: The Power of Modularity, MIT Press, 1999. S. Biffl, A. Aurum, B. Boehm, H. Erdogmus, and P. Gruenbacher (eds.), Value-Based Software Engineering, Springer, 2005. B. Boehm, “Value-Based Software Engineering,” ACM Software Engineering Notes, March 2003. B. Boehm, C. Abts, A.W. Brown, S. Chulani, B. Clark, E. Horowitz, R. Madachy, D. Reifer, and B. Steece, Software Cost Estimation with COCOMO II, Prentice Hall, 2000. B. Boehm and L. Huang, “Value-Based Software Engineering: A Case Study, Computer, March 2003, pp. 33-41. B. Boehm & K. Sullivan, “Software Economics: A Roadmap,” The Future of Software Economics, A. Finkelstein (ed.), ACM Press, 2000. B. Boehm and R. Turner, Balancing Agility and Discipline: A Guide for the Perplexed, Addison Wesley, 2003 (to appear). B. Boehm, L. Huang, A. Jain. R. Madachy, “ The ROI of Software Dependability: The iDAVE Model”, IEEE Software Special Issue on Return on Investment, May/June 2004. M. Denne and J. Cleland-Huang, Software by Numbers, Prentice Hall, 2004. ©USC-CSSE 40 USC C S E University of Southern California Center for Software Engineering References - II S. Faulk, D. Harmon, and D. Raffo, “Value-Based Software Engineering (VBSE): A Value-Driven Approach to Product-Line Engineering,” Proceedings, First Intl. Conf. On SW Product Line Engineering, August 2000. R. Kaplan & D. Norton, The Balanced Scorecard: Translating Strategy into Action, Harvard Business School Press, 1996. D. Reifer, Making the Software Business Case, Addison Wesley, 2002. K. Sullivan, Y. Cai, B. Hallen, and W. Griswold, “The Structure and Value of Modularity in Software Design,” Proceedings, ESEC/FSE, 2001, ACM Press, pp. 99-108. J. Thorp and DMR, The Information Paradox, McGraw Hill, 1998. S. Tockey, Return on Software, Addison Wesley, 2004. Economics-Driven Software Engineering Research (EDSER) web site: www.edser.org MBASE web site : sunset.usc.edu/research/MBASE ©USC-CSSE 41