Using Parametric Software Estimates During Program Support Reviews Chris Miller Office of the Deputy Director, Software Engineering and System Assurance SYSTEMS & SOFTWARE ENGINEERING Office of the Deputy Under Secretary of Defense for Acquisition and Technology US Department of Defense October 2008 Version 2.0 OUSD (AT&L) Organization May 2006 USD, Acquisition Technology & Logistics DUSD, Acquisition & Technology Dir, Joint Advanced Concepts Defense Procurement and Acquisition Policy Dir, Systems and Software Engineering Industrial Programs Systems & Software Engineering – Chris Miller, October 2008 Dir, Portfolio Systems Acquisition Small Business Programs Defense Acquisition University Defense Contract Management Agency Slide 2 Systems and Software Engineering Director, Systems & Software Engineering Deputy Director Enterprise Development Deputy Director Developmental Test & Evaluation Systems & Software Engineering – Chris Miller, October 2008 Deputy Director Software Engineering & System Assurance Deputy Director Assessments & Support Slide 3 Elements of a DoD Strategy for Software • Support Acquisition Success – Ensure effective and efficient software solutions across the acquisition spectrum of systems, SoS and capability portfolios • Improve the State-of-the-Practice of Software Engineering – Advocate and lead software initiatives to improve the state-of-thepractices through transition of tools, techniques, etc. • Leadership, Outreach and Advocacy – Implement at Department and National levels, a strategic plan for meeting Defense software requirements • Foster Software Resources to meet DoD needs – Enable the US and global capability to meet Department software needs, in an assured and responsive manner Promote World-Class Leadership for Defense Software Engineering Systems & Software Engineering – Chris Miller, October 2008 Slide 4 Notional View of Software Measurement Determine methods of obtaining cost estimating data Generate SW appropriate WBS Earned Value Management (EVM) for SW Use estimation tools, techniques, processes, & practices Link SW quality indicators to EVM Concepts - Requirements - Arch/Design Maintenance Development - Software Engineering and Systems Assurance (SSA) initiatives • Program feasibility analysis using estimation models • Software Resources and Data Report: Feasibility Study • Revision of MIL-HDBK-881A to improve software guidance • Integration of software metrics with EVM to assess consistency of estimates Systems & Software Engineering – Chris Miller, October 2008 Driving Technical Rigor Back Into Programs “Program Support Reviews” • Program Support Reviews provide insight into a program’s technical execution focusing on: – SE as envisioned in program’s technical planning – T&E as captured in verification and validation strategy – Risk management - integrated, effective and resourced – Milestone exit criteria as captured in Acquisition Decision Memo – Acquisition strategy as captured in Acquisition Strategy Report • Independent, cross-functional view aimed at providing risk-reduction recommendations The PSR reduces risk in the technical and programmatic execution of a program Systems & Software Engineering – Chris Miller, October 2008 6 Program Support Review Activity (as of August 2008) Decision Support Reviews NunnPSRs/NARs completed: 57 AOTRs completed: 13 Nunn-McCurdy Certification: 13 Participation on Service-led IRTs: 3 Technical Assessments: 13 OTRR 9% McCurdy 13% Pre-MS C 19% Other 25% Pre-MS A 3% Pre-MS B 26% Programs by Domain Area Service-Managed Acquisitions Air Force 33% Agencies 9% DAE Review 5% Business 2% Missiles 9% Fixed Wing 18% Other 2% Space 4% Comms 3% Marine Corps 10% Navy 21% Army 27% Systems & Software Engineering – Chris Miller, October 2008 Land 13% Rotary Wing 21% Munitions 3% C2-ISR 13% Ships 8% Unmanned 4% 7 DoD Software Performance: What We’re Seeing* • Software issues are significant contributors to poor program execution – Schedule realism (compressed, overlapping) – Software requirements not well defined, traceable, testable – Immature architectures, COTS integration, interoperability, obsolescence (electronics/hardware refresh) – Software development processes not institutionalized, planning documents missing or incomplete, reuse strategies inconsistent – Software test/evaluation lacking rigor and breadth – Lessons learned not incorporated into successive builds – Software risks/metrics not well defined, managed *Based on over 60 program reviews over the past 3 ½ years Systems & Software Engineering – Chris Miller, October 2008 8 Software Engineering and System Assurance (SSA) Role • SSA produced software estimates to support several PSR teams in 2007 – Program A: SSA was asked to assess software schedule feasibility prior to MS B – Program B: Significant software issues • Opportunity for SSA to support program decision making by providing software estimates – Estimation activities aimed at gauging overall program feasibility and quantifying magnitude of top program risks – Focus on support for engineering vs. budgeting decisions Systems & Software Engineering – Chris Miller, October 2008 9 Program A • PSR of aircraft program with ambitious schedule – Three years (36 months) from Milestone B to LRIP – Modifications needed to meet U.S. requirements • Developed three software estimates – Software size (SLOC) estimates provided by program office – Re-estimated both new and reused code » Based on reuse and code growth » Estimates for optimistic, typical, and pessimistic were identified as “Min”, “Mid”, and “Max” – Used three parametric models » COCOMO II, SLIM, and SEER-SEM – Most input parameters set at nominal Systems & Software Engineering – Chris Miller, October 2008 10 Program A • Estimation & Feasibility Analysis – Given an adjusted code size (ASIZE) of 918K to 1590K SLOCs – A range of 5375 to 9571 person months should be expected over a 62 to 74 calendar month schedule COCOMO II ASize (KSLOC) Effort (PM) Duration (CM) Min Mid 918 5375 62 1,204 7147 68 Max 1590 9571 74 – All three models forecasted 65 to 68 months (assuming a 50% confidence-level) • Result: – Analysis revealed existing acquisition strategy was not feasible – Service added more schedule to acquisition strategy – DUSD(A&T) estimates change in acquisition strategy saved $5 billion Systems & Software Engineering – Chris Miller, October 2008 11 Program B • Major subcontractor with significant software content did not use any parametric estimating tool – Firm Fixed Price subcontract • At one point there was a substantial conflict on estimates between major subcontractor and prime, related to requirements – One portion of software grew from ~250KSLOC to 863KSLOC (3.5x), reflecting “shall not degrade current capability” requirement • Increase in software engineering staff by 57 percent (40 people) over 9 month period – Based on schedule, contractor should be drawing down software staff • Significant variation in code estimates during review Systems & Software Engineering – Chris Miller, October 2008 12 Program B Changes in SLOC estimates… CSCI Supplier 1 A 2 B 3 A Original NM Review 2 wks. later New Reuse 40,000 374,739 250,844 201,144 49,700 27,000 50,363 50,363 40,363 10,000 20,000 38,962 38,962 38,962 0 Test coverage to-date DR's/Problem reports 75% 68% 47 90% 85% 0 71% 60% 5 Complete % 4 1 C 325,000 415,249 401,732 131,921 269,811 98% 98% 7 D 65,000 283,255 25,467 18,367 7,100 82% 60% 0 8 C 33,000 373,587 100,129 68,129 32,000 99% 99% 0 9 E 15,000 7,879 7,879 2,000 5,879 100% 100% 1 10 F 114,000 218,609 218,609 16,409 202,200 99% 95% 0 11 G 26,000 25,622 34,544 8,922 25,622 100% 100% 2 12 H 6,000 16,580 16,580 15,580 1,000 100% 100% 2 13 H 2,000 34,806 34,806 17,206 17,600 100% 100% 0 14 I 33,000 42,355 42,355 31,655 10,700 99% 97% 1 15 G 15,000 126,238 119,626 6,433 113,193 100% 100% 0 16 K 23,000 26,404 26,404 2,604 23,800 91% 91% 1 17 L 7,000 12,500 12,500 1,000 11,500 100% 100% 1 18 C 1,000 29,121 29,121 25,621 3,500 100% 100% 7 19 M NA 100 1,000 1,000 Unavail 100% 100% 0 20 C NA 2,600 2,600 400 2,200 81% 43% 0 752,000 2,078,969 1,413,521 5 6 5 0 Systems & Software Engineering – Chris Miller, October 2008 13 Program B Schedule Estimates 75 KSLOC remaining based on last estimate 1200 150 KSLOC (Optimal Schedule) Staff Months 1000 800 100 KSLOC (Optimal Schedule) 600 400 150 KSLOC (Nominal) 50 KSLOC (Optimal Schedule) 200 100 KSLOC (Nominal) 50 KSLOC (Nominal) 0 0 5 10 15 20 25 30 Months Time from Detailed Requirements Complete Through End of Developmental Testing Systems & Software Engineering – Chris Miller, October 2008 14 Program B • Estimation and Feasibility Analysis – Contractor appears to be driven to meet schedules versus costs » Significant increase in effort for minimal schedule savings – Uncertainty in scope of remaining software development » Need to develop firmer size estimates • Recommendations – PMO reach a decision on unstable requirements to prevent further code growth – in or out – Program office bring in parametric estimating consultant to review contractor’s estimates for most volatile software components • Result – Acquisition Decision Memorandum requires Service to conduct software review Systems & Software Engineering – Chris Miller, October 2008 15 Integrating Management Indicators Prioritized Risks Estimation & Planning SDP: WBS, IMP, IMS, Metric Definitions Systems & Software Engineering – Chris Miller, October 2008 Program Context Data & Insight Risk Management Insight Needed Risk Mitigation Status Measurement & Analysis 16 SSA Software Measurement & Analysis Initiatives • Software EVM Study/Pilot – Focus: Development of cost controls for software component of program – Execution: Partnering with DCMA, ARA, PA&E, Contractors • Cost Estimation / SRDR Feasibility Study – Focus: Analysis on software cost estimation practices, availability of historical data, and increasing confidence in estimates – Execution: Partnering with PA&E/DCARC and Hill AFB STSC to evaluate existing data sources • Work Breakdown Structure Handbook Update – Focus: Recommendations for update of MIL HDBK 881 to improve handling of software – Execution: Partnering with Services, DCMA, ARA, DAU, NDU, PA&E/DCARC and using NDIA expert panel Systems & Software Engineering – Chris Miller, October 2008 Software EVM Study/Pilot • Development of a methodology combining EVM and software metrics analysis to predict cost and schedule overruns • Piloting on a 5-year ACAT 1D SW development program, as part of a cross-cutting study • Pilot indicator shows ETC (estimate-to-complete) forecasts for: – Existing program management plans – EVM measures – Software metrics (i.e, growth profile of size, effort, and defects) Equivalent ETC forecasts provides an increased confidence in project plans Systems & Software Engineering – Chris Miller, October 2008 Integrated EVM Concept EV ETC SW Metric CPMO Spiral - Sample Summary ETC Performance Measurement Baseline $1,800 Program Plan ETC $1,600 $1,420 BAC = $1420 $1,400 $1,318 $1,559 $1,579 $1,471 $1,370 $1,200 DOLLARS ($K) $1,051 $1,145 $1,251 EV Metrics Calculated Schedule Range: 09/08/08 - 10/12/08 $941 $1,000 $1,032 $792 $800 Calculated Estim ate at Com plete Range: $1,797K - $2,515K $706 715 $600 $478 $565 Cum ulative CPI = 0.79 SW Metrics Calculated Schedule Range: 05/14/08 - 06/18/08 $400 $291 $200 $338 Data Date $228 $71 Calculated Estim ate at Com plete Range: $1,570K - $1,710K $47 $0 Oct07 Nov07 Dec07 Jan08 Feb08 M ar08 Apr08 M ay08 Jun08 Jul08 Aug08 Sep08 Oct08 Nov08 Dec08 TIME (Months) BAC BCWS (PV) BCWP (EV) ACWP (AC) ETC Acquisition Oversight confidence increases as ETCs overlap i.e., as multiple measures indicate to same conclusion Systems & Software Engineering – Chris Miller, October 2008 SRDR Feasibility Study • SSA funded a STSC feasibility study on normalizing DCARC data – Purpose of the study was to determine if the DCARC data set could be used to develop a parametric software estimation model – Dr. Randall Jensen at Hill AFB is the creator of Sage and SEERSEM • Preliminary study results – Data was submitted using a wide variety of definitions that made it difficult to use directly, but was successful in normalizing the data and validating the results – The data collected in the SRDR forms allows a first-level parametric model to be constructed (lack of environment information prohibits the creation of a detailed model) – Minimum development time projection model Systems & Software Engineering – Chris Miller, October 2008 Minimum Software Development Time Projection Model Impossible Zone Analysis of CSCI data: • Apparent Maximum Size of 200 KSLOC (per CSCI) • Apparent Minimum Schedule (Impossible Zone) • Environment & Complexity are primary drivers of variation • Apparent Maximum Schedule of 50 months Source: Long, L. G. et al, Aerospace Corp Report,2004 Systems & Software Engineering – Chris Miller, October 2008 Updating MIL-HDBK-881A for Software Overview • Revision objectives: – Revise to make handbook acceptable of software engineering practice – Correct errors • Notable changes: – Replace 'material item' with ' acquisition program' – Add words to make 'artifacts' equal to 'products' – Include words that make 'product-oriented' and 'DoDAF architecture' views interchangeable WRT to creating a WBS • Results – Compiled a Comment matrix – Drafted a new Appendix B (for software) • During final review and clean up, the working group was made aware of 90’s effort (draft MIL-HDBK-171) Systems & Software Engineering – Chris Miller, October 2008 MIL-HDBK-881A Next Steps • The Software Cost Control working group goal is to provide an community-coordinated set of recommendations • Reached out to industry members of NDIA to review the suggested changes – Ensure recommended changes are improvements from industry perspective – Obtain additional examples to include in Appendix B – NDIA feedback is due on September 19th • Submission of suggested changes to PA&E ARA will take place after collection of NDIA feedback and consolidate into a single baseline Systems & Software Engineering – Chris Miller, October 2008 Questions/Discussion Contact Information: Chris Miller SSE/SSA Support Software Engineering & Systems Assurance ODUSD(A&T) Systems & Software Engineering Christopher.miller.ctr@osd.mil Systems & Software Engineering – Chris Miller, October 2008 24