Domain-Oriented Modeling, Estimation and Improvement for Aerospace Jairus Hihn Jet Propulsion Laboratory, California Institute of Technology November 2, 2011 26th International Forum on COCOMO and Systems/Software Cost Modeling Background JPL is a FFRDC for NASA operated by Caltech JPL is a highly decentralized organization that allows great autonomy to its project managers at all levels JPL’s Engineering and Science Directorate (3000 people) has twice been certified at CMMI ML 3 (2007, 2010) Approximately 1000 people ($253M/year budget) in the software community This raises the question How do we do it How do we measure it? We turn process sins into virtues 2 Data Sources Data Sources • Metrics Collection at Key Milestones • Software Inventory (2006, 2007, 2009 and 2011) • Process performance measures (Tailoring Record, Work Product Checklist) • Defect tracking systems (PRS, ISA, AAMS, local databases) • SQI Surveys and Contact Log • Product and Process Quality Assurance Activities • Customer Feedback Communicate results as widely as possible • State of Software Report • Noontime seminars • Section manager meetings 3 Measuring Process Performance Overall performance is used to establish baselines Identifying the least performed activities provides a short list from which stakeholders can be engaged to discuss process improvement opportunities. Metrics use is one of the least performed activities 4 JPL Cost and Planning Models Collect data at major milestones for mission critical and mission support software Labor intensive requiring numerous interviews MSL flight software required 30-35 interviews Enables us to Calibrate cost models Develop effort by role use to do schedule models but they no longer work Effort growth from PDR Cost to repair defects Size growth Enables cost research Data mining models developed with Tim Menzies (WVU) 5 Baselines and Trends How are we doing? Trends Suggest Improvements in process discipline • Projects following a disciplined process exhibit below average budget growth and higher productivity rates • Project Flight Software 6 NASA Software Cost improvement Task Year 1: Establish Process and Product Baseline Product: Report that documents current state of practice at NASA with set of improvement recommendations and recommended metrics. Year 2: Core team works to facilitate the implementation of high priority recommendations across the Agency through a tailorable Agency-wide process. Institute a cost metrics repository to gather information on cost estimate accuracy and cost estimation processes. Year 3: Initiate a series of annual reports on NASA software cost estimation accuracy and cost estimation practices. • Continue to monitor and make recommendations 7