Harvesting Reference Points for Cost Estimation: A Step in the SEI’s Cost Estimation Method Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Robert W. Stoddard Dennis Goldenson Rhonda Brown 24 October 2013 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University Introduction QUELCE (Quantifying Uncertainty for Early Lifecycle Cost Estimation) is a multi-year research project led by the Software Engineering Measurement and Analysis (SEMA) team within the SEI Software Solutions Division. Research team membership comprises SEI technical staff with cost estimation background in collaboration with several external faculty (Dr. Ricardo Valerdi, Univ of Arizona, & Dr. Eduardo Miranda, CMU). This research is motivated by (1) the WSARA Act requiring cost estimates pre-Milestone A and (2) DoD’s need for more accurate cost estimation methods that provide continuous monitoring of changing assumptions and constraints. 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 3 Information Flow for Early Lifecycle Estimation Proposed Material Solution & Analysis of Alternatives Expert Judgments Information from Analogous Programs/Systems Program Execution Change Drivers System Characteristics Trade-offs •KPP selection •Systems design •Sustainment issues ... Operational Capability Trade-offs •Mission / CONOPS •Capability-based analysis ... Technology Development Strategy •Production quantity •Acquisition mgt •Scope definition/responsibility •Contract award Driver States & Probabilities Plans, Specifications, Assessments Probabilistic Modeling (BBN) & Monte Carlo Simulation Cost Estimates •Analogy •Parametric Models •Engineering •CERs Program Execution Scenarios with Conditional Probabilities of Drivers/States 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 4 Repository: Analyze Existing Data to Model Program Execution Uncertainties – 1 Materiel Solution Analysis Phase – Pre-Milestone Estimate 2. Reduce Cause and Effect Relationships via Dependency Structure Matrix Techniques 1. Identify Change Drivers & States Program Change Repository Prog DDG51 JTRS F22 State cond 1 Driver CONOPS cond 2 cond 3 cond 1 cond 2 cond 1 cond 2 cond 3 System CapDef InterOp Produc Contract Function CONOPS 3. Assign Conditional Probabilities to BBN Model Records show that Strategic Vision changed in 45% of the MDAPS Change Driver Nominal State Alternative States Additional Production Scope Reduction deliverable (e.g. downsized (funding reduction) training & manuals) Program New echelon becomes Joint Trade-offs Subtraction Variance [performance vs affordaility, etc.] Obligated vs. FFRDC ceiling Funding change for Funding spread allocated funds issue end of year out shifted Advocate Service owner Senator did not Change in senior requires change different than get re-elected pentagon staff in mission CONOPS users scope Scope Definition Mission / CONOPS Stable Users added Additional (foreign) customer defined New condition New mission Capability Definition Stable Addition Funding Schedule Established Funding delays tie up resources {e.g. operational test} Stable Joint service program loses particpant Advocacy Change Closing Technical Gaps (CBA) ● ● ● Selected Trade studies are sufficient Technology does not achieve satisfactory performance Technology is too expensive Selected solution cannot achieve desired outcome ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Technology not New technology not performing as testing well expected ~~~~ ~~~~ 5. Monte Carlo Simulation to Compute Cost Distribution The Materiel Solution of a global network command and control system anticipates a possible change in Strategic Vision that will include allied participation. For C2 systems, how often does Strategic Vision change? Driver State Matrix 4. Calculate Cost Factor Distributions for Program Execution Scenarios A Sharing information with allies creates new encryption requirements (a change in Mission/CONOPs). These changes lead to changes in Capability Definition. Repository identifies probability of change in MDAP cost drivers. 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 5 Repository: Analyze Existing Data to Model Program Execution Uncertainties – 2 Materiel Solution Analysis Phase – Pre-Milestone Estimate 2. Reduce Cause and Effect Relationships via Dependency Structure Matrix Techniques Sharing information with allies creates new encryption requirements (a change in Mission/CONOPs). 70% of the time the Mission/CONOPS changes 2 2 2 1 1 1 2 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 2 2 1 1 2 1 2 2 2 0 1 0 1 1 1 1 1 1 1 1 1 1 3 1 1 2 2 2 1 2 2 2 1 2 1 1 3 1 1 1 1 1 1 1 1 1 2 1 2 0 3 2 0 2 2 2 1 2 2 2 1 1 2 1 1 1 1 3 2 1 0 1 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 3 2 2 2 2 1 1 2 1 1 1 3 3 1 2 2 1 1 2 1 1 2 2 2 0 2 1 1 1 1 1 1 1 0 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 2 1 1 2 2 2 2 2 3 1 2 1 6 29 16 6 34 27 29 21 33 16 5 10 5 19 12 14 6 5 6 10 7 7 4 0 0 2 2 0 0 0 0 0 0 1 3 5 0 0 1 0 2 2 2 1 2 5 2 4 3 0 0 0 0 0 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 1 1 2 1 1 Number right of diagonal 1 1 1 3 Total 2 0 2 1 Product Challenge 1 2 2 1 0 2 3 2 Project Challenge 1 3 3 Size 3 Contractor Performance 3 3 Data Ownership Mission / CONOPS Change in Strategic Vision Capability Definition Advocacy Change Closing Technical Gaps (CBA) Building Technical Capability & Capacity (CBA) Interoperability Systems Design Interdependency Functional Measures Scope Definition Functional Solution Criteria (measure) Funding Schedule Acquisition Management Program Mgt - Contractor Relations Project Social / Dev Env Prog Mgt Structure Manning at program office Scope Responsibility Standards/Certifications Supply Chain Vulnerabilities Information sharing PO Process Performance Sustainment Issues Contract Award Production Quantity Data Ownership Production Quantity ~~~~ Contract Award ~~~~ Sustainment Issues ~~~~ PO Process Performance ~~~~ ~~~~ Information sharing ~~~~ ~~~~ Supply Chain Vulnerabilities ~~~~ ~~~~ Causes Standards/Certifications ~~~~ Technology not New technology not performing as testing well expected Scope Responsibility Selected solution cannot achieve desired outcome ~~~~ Manning at program office Technology is too expensive ~~~~ Prog Mgt Structure Technology does not achieve satisfactory performance ~~~~ Project Social / Dev Env ● ● ● Selected Trade studies are sufficient Program Mgt - Contractor Relations Joint service program loses particpant Closing Technical Gaps (CBA) Acquisition Management Funding delays tie up resources {e.g. operational test} Stable Advocacy Change Funding Schedule Addition Established Functional Solution Criteria (measure) Stable Funding Schedule Scope Definition Capability Definition Change Drivers - Cause & Effects Matrix Effects Functional Measures New mission Interdependency Additional (foreign) customer New condition Systems Design Users added defined Interoperability Stable Building Technical Capability & Capacity (CBA) Alternative States Additional Production Scope Reduction deliverable (e.g. downsized (funding reduction) training & manuals) Program New echelon becomes Joint Trade-offs Subtraction Variance [performance vs affordaility, etc.] Obligated vs. FFRDC ceiling Funding change for Funding spread allocated funds issue end of year out shifted Advocate Service owner Senator did not Change in senior requires change different than get re-elected pentagon staff in mission CONOPS users scope Scope Definition Mission / CONOPS Closing Technical Gaps (CBA) Change Driver Nominal State These changes lead to changes in Capability Definition. DSM Cause-Effect Matrix Advocacy Change Driver State Matrix Test & Evaluation System De CapDef InterOpera Production Contract Functional CONOPS Capability Definition F22 Driver CONOPS Change in Strategic Vision JTRS cond 2 cond 3 cond 1 cond 2 cond 1 cond 2 cond 3 If Strategic Vision changes, what else changes? Mission / CONOPS Prog State DDG51 cond 1 5. Monte Carlo Simulation to Compute Cost Distribution The Materiel Solution of a global network command and control system anticipates a possible change in Strategic Vision that will include allied participation. Cost Estimate Program Change Repository 4. Calculate Cost Factor Distributions for Program Execution Scenarios 3. Assign Conditional Probabilities to BBN Model Industry Company Assessment 1. Identify Change Drivers & States A 1 3 1 1 1 2 1 1 2 2 2 6 Repository: Analyze Existing Data to Model Program Execution Uncertainties – 3 Materiel Solution Analysis Phase – Pre-Milestone Estimate 4. Calculate Cost Factor Distributions for Program Execution Scenarios 3. Assign Conditional Probabilities to BBN Model When both Strategic Vision & Mission/CONOPs experience change, the BBN calculates that Capability Definition will also change Sharing information with allies creates new encryption requirements (a change in Mission/CONOPs). 95% of the time. 2 1 1 2 2 1 2 2 1 2 1 2 2 1 1 1 1 1 2 0 1 1 1 2 1 1 1 1 1 1 1 1 1 3 2 1 1 1 2 2 2 2 2 1 2 1 1 3 1 1 1 1 1 1 1 2 1 2 0 3 2 0 2 2 2 1 2 2 2 1 1 1 3 2 1 0 1 2 1 1 2 2 1 1 1 1 1 1 1 2 2 1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 2 3 2 2 2 2 1 1 2 1 1 1 3 3 1 2 2 1 1 2 1 1 2 2 2 0 2 1 1 1 1 1 1 1 0 1 1 1 2 1 1 2 1 1 1 1 1 1 1 2 Product Challenge 1 2 0 1 Contractor Performance 2 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 3 1 1 1 2 1 Number right of diagonal 2 2 2 1 1 1 2 Total 1 1 1 3 Scope Responsibility Acquisition Management Funding Schedule Functional Solution Criteria (measure) 2 0 2 1 Test & Evaluation ~~~~ 1 2 2 1 0 2 3 2 Cost Estimate ~~~~ 1 3 3 Industry Company Assessment ~~~~ 3 Data Ownership ~~~~ 3 3 Production Quantity ~~~~ Mission / CONOPS Change in Strategic Vision Capability Definition Advocacy Change Closing Technical Gaps (CBA) Building Technical Capability & Capacity (CBA) Interoperability Systems Design Interdependency Functional Measures Scope Definition Functional Solution Criteria (measure) Funding Schedule Acquisition Management Program Mgt - Contractor Relations Project Social / Dev Env Prog Mgt Structure Manning at program office Scope Responsibility Standards/Certifications Supply Chain Vulnerabilities Information sharing PO Process Performance Sustainment Issues Contract Award Production Quantity Data Ownership Industry Company Assessment Cost Estimate Contract Award ~~~~ Technology not New technology not performing as testing well expected Sustainment Issues ~~~~ PO Process Performance ~~~~ Information sharing Selected solution cannot achieve desired outcome ~~~~ ~~~~ Supply Chain Vulnerabilities Technology is too expensive ~~~~ ~~~~ Standards/Certifications Technology does not achieve satisfactory performance ~~~~ Manning at program office Selected Trade studies are sufficient Prog Mgt Structure ● ● ● Project Social / Dev Env Closing Technical Gaps (CBA) Scope Definition Advocacy Change Causes Functional Measures Joint service program loses particpant Interdependency Funding delays tie up resources {e.g. operational test} Stable Systems Design Addition Established Interoperability Stable Funding Schedule Building Technical Capability & Capacity (CBA) Capability Definition Closing Technical Gaps (CBA) New mission Advocacy Change Additional (foreign) customer New condition Capability Definition Users added defined Change in Strategic Vision Stable Mission / CONOPS Effects Alternative States Additional Production Scope Reduction deliverable (e.g. downsized (funding reduction) training & manuals) Program New echelon becomes Joint Trade-offs Subtraction Variance [performance vs affordaility, etc.] Obligated vs. FFRDC ceiling Funding change for Funding spread allocated funds issue end of year out shifted Advocate Service owner Senator did not Change in senior requires change different than get re-elected pentagon staff in mission CONOPS users scope Scope Definition Mission / CONOPS Program Mgt - Contractor Relations Driver State Matrix Change Driver Nominal State These changes lead to changes in Capability Definition. BBN Model Change Drivers - Cause & Effects Matrix Project Challenge DSM Cause-Effect Matrix 5. Monte Carlo Simulation to Compute Cost Distribution The Materiel Solution of a global network command and control system anticipates a possible change in Strategic Vision that will include allied participation. Size 2. Reduce Cause and Effect Relationships via Dependency Structure Matrix Techniques 1. Identify Change Drivers & States A 6 29 16 6 34 27 29 21 33 16 5 10 5 19 12 14 6 5 6 10 7 7 4 0 0 2 2 0 0 0 0 0 0 0 0 1 3 5 0 0 1 0 2 2 2 1 2 5 2 4 3 0 0 0 0 0 0 0 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 3 1 1 1 2 2 2 2 7 Develop Efficient Techniques to Calibrate Expert Judgment of Program Uncertainties Solution Step 2: Iterate through a series of domainspecific tests Step 3: Feedback on test performance Step 1: Virtual training using reference points Outcome: Expert renders calibrated estimate of size Program Change Repository 1) Size of ground combat vehicle targeting feature xyz in 2002 consisted of 25 KSLOC Ada 2) Size of Army artillery firing capability feature abc in 2007 consisted of 18 KSLOC C++ 3) … Un-Calibrated Calibrated Calibrated = more realistic size and wider range to reflect true expert uncertainty Estimate of SW Size Used with permission from Douglas Hubbard Copyright HDR 2008 dwhubbard@hubbardresearch.com 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 8 Research Challenge QUELCE team found the “mining” of domain reference points challenging in terms of requisite knowledge, effort, and schedule. The use of an NVivo-like platform was hypothesized to address the intermediate step of identifying potential change driver experiences documented in historical MDAP artifacts • without losing the context of a given artifact, • enabling queries by attributes across MDAPs, and • achieving review by others prior to committing to a refined domain reference point statement 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 9 How CAQDAS May Help Computer-Assisted/Aided Qualitative Data AnalysiS (CAQDAS) is the “use of computer software to aid qualitative research such as transcription analysis, coding and text interpretation, recursive abstraction, content analysis, discourse analysis, grounded theory methodology, etc.”1 CAQDAS software initially developed for social science researchers needed a way to assemble, annotate, and make sense out of a myriad of textual artifacts. The QUELCE team conceived of the use of CAQDAS in the sense that “research” has always been inherent in the use of analogy for cost estimation. CAQDAS enables a more formal treatment of that activity. 1 Wikipedia, http://en.wikipedia.org/wiki/CAQDAS 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 10 NVivo Experiment Phase 1: Domain experts coded an assigned set of DoD program artifacts likely to exhibit potential change drivers • Checkpoint synchronization in the middle of this phase Phase 2: Domain experts and the research team conducted queries against the artifacts using NVivo text analytic and search capabilities Phase 3: Feedback gathered from all regarding NVivo usage • • • On the NVivo experience On high-value documents On the co-occurrence and/or cascading of change drivers 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 11 Experimental Procedure Approximately 200 artifacts of an inventory of 1,500 artifacts were identified for coding. We operated in standalone mode, with each domain expert assigned a unique NVivo project on the server. Each NVivo project possessed a unique subset of the 200 artifacts (we balanced the workload among 7 experts). Experts were asked to open assigned artifacts, one at a time, within NVivo and identify the apparent change drivers, if any. We asked that experts to track their time in hours during the coding so that we could gauge the productivity rate in forecasting future coding projects. 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 12 Detailed Experimental Work Flow STEP 1: Open NVivo project STEP 2: Open a file to code STEP 4: Sequentially identify change events STEP 6: For each change instance, highlight the text and tag with a Change Driver code STEP 3: Peruse the entire artifact for context STEP 5: Within a change event, identify one or more change instances STEP 7: For each change instance, optionally highlight and tag separate elements of Stimulus, Response, and Outcome 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 13 An NVivo Demonstration Platform 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 14 NVivo Coding Artifacts with Change Drivers 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 15 NVivo Summary of Change Driver Coding 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 16 NVivo Simple Query on a Change Driver 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 17 NVivo Search on “Aerospace” and Schedule Change Driver 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 18 NVivo Word Frequency 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 19 NVivo Word Search Cluster Analysis 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 20 NVivo Analysis of Reproducibility 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 21 NVivo Search on Co-occurrence of Change Drivers Within Artifacts 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 22 Early Experimental Feedback Although individual NVivo projects may be employed and then merged together, efficiencies may be possible via the team server setup. The NVivo performance across sensitive networks can be troublesome. Installing NVivo with today’s security infrastructure remains quite challenging. Experts found the coding within NVivo to be painless, e.g., as easy as highlight and drag or highlight and click on a pull-down list of change drivers. Queries provide a means to scan a large portfolio of artifacts for key words, change driver codes, co-occurrence of change drivers, etc… 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 23 Future Work Need to enlist additional experts to code the same artifact set and evaluate reproducibility. Need to design and implement expert judgment experiments for improvement in judgment “calibration” using a coded NVivo repository as a reference. Need to refine the query results from an extensive NVivo code repository with the aim of producing refined domain reference points. Need to consider the at-scale implications and logistics using a tool such as NVivo, e.g., as a living DoD asset. 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 24 Contact Information Robert W. Stoddard Principal Researcher Software Solutions Division, SEAP Telephone: +1 412-268-1121 Email: rws@sei.cmu.edu U.S. Mail Software Engineering Institute Customer Relations 4500 Fifth Avenue Pittsburgh, PA 15213-2612 USA Web www.sei.cmu.edu www.sei.cmu.edu/contact.cfm Customer Relations Email: info@sei.cmu.edu Telephone: +1 412-268-5800 SEI Phone: +1 412-268-5800 SEI Fax: +1 412-268-6257 2013 COCOMO Forum Stoddard, 24 October 2013 © 2013 Carnegie Mellon University 25