Andy Nolan1, Silvia Abrahão2 Paul Clements3,

Slides:



Advertisements
Similar presentations
Chapter 22 Product Line Engineering Week 1 CIS 673.
Advertisements

Outline About author. The problem that discussed in the article.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
©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.
A GOAL-BASED FRAMEWORK FOR SOFTWARE MEASUREMENT
©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.
SE 555 Software Requirements & Specification Requirements Management.
©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.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
©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.
©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.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Capability Maturity Models Software Engineering Institute (supported by DoD) The problems of software development are mainly caused by poor process management.
Software Measurement & Metrics
University of Sunderland CIFM03Lecture 2 1 Quality Management of IT CIFM03 Lecture 2.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
Software Engineering (CSI 321) Software Process: A Generic View 1.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
ITIL: Service Transition
Project Cost Management
Strategic Information Systems Planning
Thoughts on IT Enterprise Architecture Maturity Models for the
Overview Software Maintenance and Evolution Definitions
Effects of Reuse on Quality, Productivity and Economics
Lecture 3 Prescriptive Process Models
The Development Process of Web Applications
CSC 480 Software Engineering
Chapter 18 Maintaining Information Systems
Identify the Risk of Not Doing BA
Software Engineering (CSI 321)
Failure mode and effect analysis
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Product Lines
Maintaining Quality Test Optimization with Increasing Software Complexity Ankit Goyal Software Engineer II Adobe Systems.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Requirements and the Software Lifecycle
Constructive Cost Model
Asset Governance – Integrated Strategic Asset Management
CS 425/625 Software Engineering Software Evolution
Effects of Reuse on Quality, Productivity and Economics
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Applicable Areas Business Logic Case Presentation Cost Design
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Testing and Maintenance Maintenance and Evolution Overview
Chapter 9 – Software Evolution and Maintenance
Chapter 13 Quality Management
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
Software Process Models
DMAIC Roadmap DMAIC methodology is central to Six Sigma process improvement projects. Each phase provides a problem solving process where-by specific tools.
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 8 Software Evolution.
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Requirements Document
Define Your IT Strategy
Chapter 26 Estimation for Software Projects.
METHODS FOR ANALYZING AND SUPPORTING A SUSTAINABLE PRODUCTION SYSTEM
A Case Study of Variation Mechanism in an Industrial Product Line
Software Verification and Validation
Presentation transcript:

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 2Universidad Politécnica de Valencia, Spain 3Software Engineering Institute, USA 4Clemson University, USA

2 Rolls-Royce

The need for Software Product Lines 4 The Control Systems department is responsible for the Engine Electronic 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.

6 Recap of SPLC 2009

Overview of the Model 7 This picture shows the overview of the model. Step 1: provided the size of each individual asset based on a library of features from past projects. Step 2: determine the asset value. The assets has been “weighted” to reflect their value rather than size. This was done because it was observed that not all assets are equal --- 30% of the assets account for 70% of the costs so, SIZE is not the KEY factor---. A new step “P-Process Model” was added to model the safety-critical development process and to understand which processes are required to develop an asset and which processes are required to deploy an asset. We also recognized that the process used to develop and deploy an asset varies depending on the asset variation mechanism. Step 3: was used to map the life of features ACROSS THE FUTURE ENGINE PROGRAMS. Step 4: was introduced so that the SPL team could understand the COSTS to develop a project using the TRADITIONAL METHODS and then COMPARE these costs with the SPL development costs (see step 10). Step 5 was introduced to model the additional costs to develop a SPL asset. This information was taken from CO-PL-MO – the RUSE (developing for reuse) and DOCU (additional documentation) factors. Step 6 was used to map the deployment of SPL assets into projects to understand if there was a net benefit, per asset, when considering the development, deployment and maintenance of assets. The step also revealed those features that would be bespoke to each project. Step 7 was a mechanical process and generated all the information together to understand the new costs for developing a project based on SPL assets. Step 8 was added to model the organization costs. This was derived from the SIMPLE model and consists of costs above-and-beyond traditional project development. Step 9 was added to model the effect of introducing the SPL initiative into the business. With any change comes an initial “shock” followed by a settling in period. COCOMO II was again used to model the business environment. Step 10 performed the final analysis and compared and contrasted the benefits of the SPL with a more traditional project centric organization. --------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------ Rather then write more, this was taken from the paper. I quickly described the 10 steps and showed how we added drag factors to create a “realistic” business case. This may not be relevant to this paper. I suggest, when presenting, ask the audience to read the paper for more detail. OK! ------------------------------------------- The model can be used for a variety of purposes such as to communicate with business leaders, model decisions at the business, perform risk analysis, assess the return on investment of improvements, etc.

8 Recap of SPLC 2010

Cost = Size * Environment Size isn't everything! Environment Team capability Team experience Team complexity and location Process capability Management capability Tool & IT capability Project complexity Integration complexity Development approach Development standard Development domain Size Lines of Code Complexity

cost cost SPL COCOMO II Size & Complexity Quality Attribute 10 cost COCOMO cost COCOMO II Size & Complexity Quality Attribute Size, Complexity, Testability Maintainability Maturity, Reusability, Portability, Variability...... SPL 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 11 [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 To understand and integrate Quality Attributes into the cost model

Selecting Quality Attributes 12 Selecting Quality Attributes SPLC 2011

Objectives 13 Look at quality attributes and their impact on the cost- benefit 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?

Maturity 14 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

Testability 15 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

Need estimation tool based on both the number AND type of variations Variability 16 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

Need to develop a pre-process measure of reusability 17 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

Need to develop a pre-process measure of maintainability 18 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

19 Trade off analysis SPLC 2011

Quality Attribute Trade-offs 20 Firstly, we created a hypotheses diagram to show the relationship between the Quality Attributes

Quality Attribute Trade-offs 21 Then we measured the relationship between the attributes (strength and direction)

Quality Attribute Trade-offs 22 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?

23 SPLC 2012?

Next Steps 24 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 Model v.2. Without derived relationships Cost Business Sat. Project Sat. Variability Volatility Testability ROI Benefit Maturity Reusability Customer Sat. Maintainability -L -H -M H L M

25 1st International Workshop on Quantitative Methods in Software Product Line Engineering (QMSPLE 2011) QMSPLE 2011