Towards the Integration of Quality Attributes into a Software Product Line Cost Model Andy Nolan1, Silvia Abrahão2 Paul Clements3, John McGregor4, Sholom Cohen3 1Rolls-Royce, UK Politécnica de Valencia, Spain 3Software Engineering Institute, USA 4Clemson University, USA 2Universidad ©2011 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. 2 Rolls-Royce Rolls-Royce 3 Rolls-Royce The need for Software Product Lines 4 The Control Systems department is responsible for the Engine Electronic Rolls-Royce Controllers (EECs) for a range of small and large gas turbine engines for the aerospace industry. The software is developed to DO-178B Level-A standards The company has been developing high integrity software for over 20 years and has extensive data on its processes and productivity. We have the largest order book in history, new engine development places greater demand on the software team (shorter time scales and lower costs) Since 2008, Rolls-Royce has developed a PL which has potential for both the software and hardware aspects of engine design. The need for Cost Models 5 Since 2004, we have invested in cost models to predict software cost based on COCOMO II. The cost models have led to an improvement in stability and productivity, with an average of around 11% productivity gain This benefit has occurred because a project has a better understanding of the Quality Attributes that affect cost and risk. When the SPL initiative was launched in 2008, the development of a reliable and comprehensive estimation model was seen as critical to making the right decisions to develop core assets that would bring the greatest business value. Rolls-Royce 6 Recap of SPLC 2009 Rolls-Royce 7 Overview of the Model T ra d itio n a l PL C om m on L ib ra ry S te p 4 P ro je c t R e u s e P la n S te p 1 D e te rm in e A s s e t S ize S te p 2 D e te rm in e A s s e t V a lu e S te p 3 A s s e t to P ro je c t M a p p in g P P ro c e s s M odel S te p 5 P rL Asset D e ve lo p m e n t Rolls-Royce S te p 1 0 C o s t B e n e fit S te p 6 P L D e p lo ym e n t P la n S te p 7 P L P ro je c t C o s ts S te p 8 P L O rg a n is a tio n C o s ts S te p 9 P L E n viro n m e n t 8 Recap of SPLC 2010 Rolls-Royce 9 Cost = Size * Environment Environment Team capability Team experience Size isn't Team complexity and location everything! Process capability Management capability Tool & IT capability Size Lines of Code Complexity Project complexity Integration complexity Development approach Development standard Development domain Rolls-Royce 10 10 cost COCOMO II Size & Complexity COCOMO Quality Attribute Size, Complexity, Testability Maintainability Maturity, Reusability, Portability, Variability...... SPL Rolls-Royce cost The SPLC 2010 paper proposed that the existing cost model had to be extended with other Quality Attributes to get a better understanding of costs & benefits The evolution of cost models [2004] First generation of the Rolls-Royce cost model was based on COCOMO II The software product is represented as a single size measure (SLOC). Limited use of the architecture or characteristics of the product being developed [2008] Second generation of the model allowed us to estimate the cost to develop and deploy individual core assets The model estimates the cost-benefit of each core asset based on size, complexity, volatility, and difficulty to develop and deploy [2011] To understand the relevant Quality Attributes of the core assets and the relationship between them Rolls-Royce To understand and integrate Quality Attributes into the cost model 11 12 Selecting Quality Attributes SPLC 2011 Rolls-Royce Objectives Look at quality attributes and their impact on the costbenefit of Software Product Lines Every factor (question) a cost model considers is another opportunity to: Refine your understanding, make trade decisions and optimise the project Incorporate quality attributes into the Rolls-Royce Cost Model to analyze: The cost/benefit of having core assets with certain qualities The impact on quality attributes of design decisions Use the cost model to derive design principles for the core asset team For example how much variability should there be and when ius there too much or too little? Rolls-Royce 13 Maturity Maturity of a core asset has been defined here as the “degree to which an asset is free from further modification”. A low maturity asset is likely to be exposed to changes and depending on when they manifest, this can lead to high levels of effort to fix defects Maturity becomes a sensitive issue for SPLs especially if products are using low maturity assets. Maturity can be estimated from process exposure and project exposure Rolls-Royce 14 Testability It is an important quality attribute for any type of product, and in particular for safety-critical products. A non-SPL safety-critical product invests around 52% of its total development effort on some form of verification and validation. In a SPL at Rolls-Royce, data shows that RELATIVELY up to 72% of a product’s overall effort will be spent in some form of V&V Testability can be estimated from the number of test cases (decision points) required to exercise the complete asset Rolls-Royce 15 Variability The selection of a specific variation mechanism for a core asset can have an impact on the final product development & deployment cost. The cost of variability in a core asset is calculated by multiplying the cost of deploying the asset (in a specific process) by the cost of using the different variation mechanisms Future Work Need estimation tool based on both the number AND type of variations Rolls-Royce 16 Reusability The reusability of core assets largely determines the success of product line projects. Higher reusability of core assets indicates the potential for a higher return-on-investment. This can be measured retrospectively. Future Work Need to develop a pre-process measure of reusability Rolls-Royce 17 Maintainability Maintainability of core assets is of great importance. It is also important to understand the degree of maintainability that a core asset should have to be cost-effective to the business. Measured by the effort to maintain an asset (normalised by size). Future Work Need to develop a pre-process measure of maintainability Rolls-Royce 18 19 Trade off analysis SPLC 2011 Rolls-Royce Quality Attribute Trade-offs Firstly, we created a hypotheses diagram to show the relationship between the Quality Attributes Rolls-Royce 20 Quality Attribute Trade-offs Then we measured the relationship between the attributes (strength and direction) Rolls-Royce 21 Quality Attribute Trade-offs Now we can derrive information from the model ? is it better to have 2 simpler assets or 1 larger asset, to have selectable assets rather than configurable, constrain the requirements or build in variability? Rolls-Royce 22 23 SPLC 2012? Rolls-Royce 24 Next Steps The Rolls-Royce estimation model will need to be updated to take into account the other quality attributes selected (i.e., maturity, variability and testability) Other quality attributes will be evaluated and the model developed further Volatility -L Variability -H -H Testability -M L H M -H Maturity M H H L H Reusability H H M H M Cost H Benefit H H Model v.2. Without derived relationships M H M M Customer Sat. M H M H ROI Rolls-Royce Maintainability M Project Sat. M L Business Sat. 25 1st International Workshop on Quantitative Methods in Software Product Line Engineering (QMSPLE 2011) QMSPLE 2011 Rolls-Royce