Building a Comprehensive Software Product Line Cost Model Andy Nolan BSc Hons, CEng, FBCS, CITP Chief of Software improvement – The Software Centre of Excellence ©2010 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used for any purpose other than that for which it is supplied without the express written consent of Rolls-Royce plc. This information is given in good faith based upon the latest information available to Rolls-Royce plc, no warranty or representation is given concerning such information, which must not be taken as establishing any contractual or other commitment binding upon Rolls-Royce plc or any of its subsidiary or associated companies. Engine Control Systems 2 The control system is fundamental to the certification of the engine and Airframe. The Control system software is classed as safety critical Electronic Engine Controller Certification evidence cannot be easily generated centrally but must be gathered on each project instance, during system integration and integration with the hardware Gathering this evidence, which can be over 50% of the Control Systems project’s total cost, has to be incurred on each configured project instance. Projects are typically low volume and are individually configured for their application. Rolls-Royce data 3 Source Lines of Code Size (Functionality) The demand for software functionality is growing Functional Growth between 4% and 10%/year AND a growing legacy of obsolete platform requiring refresh 0% 1990 Rolls-Royce data 1995 2000 2005 2010 2015 Process Improvement will soon end 4 EEC Control System Software Cost per Function Relative to"Baseline" Cost Per Function Relative to "baseline" 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Evolution has halved the costs of our projects. Process refinement may be reaching its natural limits. The next improvements will be in product design 0% 1994 Rolls-Royce data 1996 1998 2000 2002 2004 2006 2008 2010 2012 2014 5 Inputs SIMPLE CO-PL-MO level cash flow and benefits guide the Project – when to adopt, when to clone and own, when to say “No” guide the Architects – select the right assets & the right variation mechanisms Rolls-Royce Asset Data Rolls-Royce data Rolls-Royce Process Data Rolls-Royce Past Project Data Experience COCOMO guide the Business - to estimate business COCOMO – The Development Environment Relative Productivity PREC – Preceden ce (Novelty) SITE – organisati on sites Relative Productivity TEAM – team cohesion PMAT Process Maturity Experienc e (APEX, PLEX & LTEX RESL Risk and Architecture result ion TOOL Capability REVL Requirements Volatility Baseline Project 1 Project 2 Project 3 Project 4 Project 5 Project 6 Project 7 Project 8 Project 9Project 10 Project You do not necessarily need products in your Product Line to add value to the business Rolls-Royce data 6 7 Overview of the Model Traditional PL Common Library Step 4 Project Reuse Plan Step 1 Determine Asset Size Step 2 Determine Asset Value Factors for asset “value” rather than size Step 3 Asset to Project Mapping P Process Model Step 5 PrL Asset Development Step 10 Cost Benefit Step 6 PL Deployment Plan Step 7 PL Project Costs Disruption to the “environment” (CO-CO-MO) Number of deployments Factors for safety critical processes and The additional verification performed by Product Line each project development costs (CO-PL-MO) Rolls-Royce data Step 8 PL Organisation Costs The organisational overheads to govern PL and train the business Only relative benefits used Step 9 PL Environment 8 Business Model Outputs PL Benefit Cross Over Point Cumulative $$€ Traditional Cumulative$M Product Line $M PL Develop P1 Rolls-Royce data P2 P3 P4 P5 P6 P7 P8 P9 P10 9 Asset Management Net Benefit Including development and deployment SLOC 69% #DIV/0! #DIV/0! 69% 63% 54% 54% 54% #DIV/0! 0% 0% 57% 16% #DIV/0! #DIV/0! #DIV/0! 0% 0% 0% 57% 57% 57% 57% 57% 57% 57% 57% -42% 57% 57% 70% 57% 53% 53% 68% 53% 57% 57% 57% 57% 26% 25% 42% 39% In some cases, it may be more economical to clone and own an asset rather than use a Product Line option Rolls-Royce data 69% 54% 57% -175% -42% 57% -42% 57% 53% -42% 35% Project n Project 8 Project 7 Project 6 Project 5 Project 4 Project 3 Project 2 Function (Step 1) Function 1 Function 2 Function 3 Function 4 Function 5 Function 6 Function 7 Function 8 Function 9 Function 10 Project 1 % Saved (green) or lost (Red) PL Traditional Develop PL Deploy Hours Hours Hours % Saved 69% 69% 69% 69% 1445 288 455 49% 54% 54% 63% -50% 9754 1464 4678 37% 57% 57% 65% #DIV/0! 13434 3925 7671 14% #DIV/0! #DIV/0! 16% -175% 68298 2993 87847 -33% -42% 57% 57% -42% 17055 6011 13454 -14% 57% 57% 57% 44% 12233 3453 5464 27% 57% 57% 65% -42% 21079 8582 11034 7% 57% 65% 57% -42% 9697 2432 4209 32% 53% 62% 53% -55% 149154 17585 72791 39% 57% 57% -42% -42% 96111 31616 54722 10% 44% 46% 41% 19% 2528110 233896 1619160 In some cases, there is no overall benefit from developing a Product Line Asset In conclusion If you do not have a cost model of your Product Line – then make one! Despite some people’s beliefs, they are relatively easy to build The best solution is often counter intuitive don’t rely on subjectivity (alone) Data makes decision making and persuasion very easy Rolls-Royce data 10 Back u slides ©2010 Rolls-Royce plc The information in this document is the property of Rolls-Royce plc and may not be copied or communicated to a third party, or used for any purpose other than that for which it is supplied without the express written consent of Rolls-Royce plc. This information is given in good faith based upon the latest information available to Rolls-Royce plc, no warranty or representation is given concerning such information, which must not be taken as establishing any contractual or other commitment binding upon Rolls-Royce plc or any of its subsidiary or associated companies. Some observations from the model You must select assets based on their value rather than size. Not every assets will benefit from being made into a Product Line Doing nothing is still expensive in a safety critical world (verification of the asset in situ). You do not need products in your Product Line in order to add value! Introducing a Product Line strategy "disturbs" the organisation – factor for it Rolls-Royce data 12 A model is at the heart of a business 13 Do you know if you can meet your business goals? Business Goals Set Project Goals & Targets Do you know what you are capable of achieving? Understand Capability Do you know what is important and what to monitor? Estimate & Plan Project Improve capability Monitor & Control Project Benchmark Capability Do you know what to improve? Rolls-Royce data 14 Cost (Effort) Our philosophy Rolls-Royce data New New Product Development The costs to start with a blank sheet of paper From traditional reuse (clone and own) we would have expected some savings The business case is based on the delta between the Product Line and Traditional what the project would have cost What the project would have cost had we not used a Product Line (some clone and own) Product Line Cost of the project based on Product Line Strategy 15 Estimated Resource Estimated Resource Profiles (FTE) Resource (Engineers) PL Deployment PL Asset Development & Overheads Traditional Project Year 1 Year 2 Year 3 Rolls-Royce data Year 4 Year 5 Year 6 Year 7 Year 8 Year 9 Year 10 Year 11 Year 12 Year 13 Year 14 Year 15 Year 16 Year 17 Year 18