A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE



Similar documents
Simulation for Business Value and Software Process/Product Tradeoff Decisions

The COCOMO II Estimating Model Suite

Effect of Schedule Compression on Project Effort

Cost Estimation Driven Software Development Process

COCOMO-SCORM Interactive Courseware Project Cost Modeling

A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique

Cost Drivers of a Parametric Cost Estimation Model for Data Mining Projects (DMCOMO)

Safety critical software and development productivity

Software project cost estimation using AI techniques

Quantitative Project Management Framework via Integrating

COSMIC-based Project Management in Agile Software Development and Mapping onto related CMMI-DEV Process Areas

Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase

Assessing Quality Processes with ODC COQUALMO

AN ENHANCED MODEL TO ESTIMATE EFFORT, PERFORMANCE AND COST OF THE SOFTWARE PROJECTS

Network Security Project Management: A Security Policy-based Approach

Performing Early Feasibility Studies of Software Development Projects Using Business Process Models

Cost Estimation for Secure Software & Systems

Fuzzy Logic based framework for Software Development Effort Estimation

Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.

A Case Study: CRM Adoption Success Factor Analysis and Six Sigma DMAIC Application

Division of Transportation Planning. Cost-Benefit Analysis of Park & Ride/Intermodal Strategies within the State Highway System in Southern California

Towards a Methodology to Estimate Cost of Object- Oriented Software Development Projects

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

COCOMO II Model Definition Manual

An Intelligent Approach to Software Cost Prediction

Modern Tools to Support DoD Software Intensive System of Systems Cost Estimation

Software Cost Estimation Metrics Manual for Defense Systems

Project Estimation Kostas Kavoussanakis, EPCC. Overview. 4Aim:

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Estimating Size and Effort

A Software Development Simulation Model of a Spiral Process

STSC CrossTalk - Software Engineering for End-User Programmers - Jun 2004

Keywords Software Cost; Effort Estimation, Constructive Cost Model-II (COCOMO-II), Hybrid Model, Functional Link Artificial Neural Network (FLANN).

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Success Factors of Agile Software Development

Extending CMMI Level 4/5 Organizational Metrics Beyond Software Development

Three Things I Wish I Learned in School

A Systematic Review of Productivity Factors in Software Development

Cost Estimation for Web Applications

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling

DEVELOPING THE KNOWLEDGE MANAGEMENT SYSTEM BASED ON BUSINESS PROCESS

How To Model The Economic Cost Of Software Reuse

Knowledge-Based Systems Engineering Risk Assessment


A WBS-Based Plan Changeability Measurement Model for Reducing Software Project Change Risk

The Dynamics of Software Testing

CISC 322 Software Architecture

This past year, electronic commerce

Use of Metrics in High Maturity Organizations

Knowledge Infrastructure for Project Management 1

The software maintenance project effort estimation model based on function points

Software Engineering for Software-Intensive Systems: III The Development Life Cycle

Dynamics of Software Maintenance

A Method for Estimating Maintenance Cost in a Software Project: A Case Study

Enterprise Frameworks: Guidelines for Selection

An Initial Investigation of Test Driven Development in Industry

Software Engineering

Outline. III The Development Life Cycle. Characteristics of Software Development Methodologies. The Prototyping Process

REVIC 11: Converting the REVIC Model to COCOMO I1

Optimal Resource Allocation for the Quality Control Process

CURRICULUM VITA BYUNGCHAE JIN

Domain Analysis for the Reuse of Software Development Experiences 1

Dr. Barry W. Boehm USC Center for Software Engineering

Valuation of Software Intangible Assets

CISC 322 Software Architecture. Example of COCOMO-II Ahmed E. Hassan

Volume 5 No. 4, June2015 A Software Cost and Effort Estimation for web Based Application

A Configuration Management Model for Software Product Line

ALGORITHM OF SELECTING COST ESTIMATION METHODS FOR ERP SOFTWARE IMPLEMENTATION

Transcription:

By Hoh Peter In, Jongmoon Baik, Sangsoo Kim, Ye Yang, and Barry Boehm A QUALITY-BASED COST ESTIMATION MODEL FOR THE PRODUCT LINE LIFE CYCLE In reusing common organizational assets, Figure the 1. software Overview product of qcoplimo. line (SPL) provides substantial business opportunities for reducing the unit cost of similar products, improving productivity, reducing time to market, and promoting customer satisfaction [4]. By adopting effective product line practices, return on investment (ROI) becomes increasingly critical in the decision-making process. The majority of SPL cost estimation COCOMO II Size Estimate and ROI models [5 9] confine RUSE themselves to software development DOCU COPLIMO costs and savings. However, RELY if software quality cost is considered in the spectrum of the SPL life cycle, product lines can result in considerably larger payoffs, compared to non-product lines. Other Cost Driver & Scale Factor COQUALMO This article proposes a quality-based product line life cycle cost qcoplimo estimation model, called qcoplimo, and investigates the effect of software quality cost on the ROI of SPL. qcoplimo In fig is derived 1 (12/06) from two COCOMO suite models: COPLIMO and COQUALMO, as presented in Figure 1. COPLIMO [2] provides a baseline cost estimation model of the product line life cycle, and COQUALMO [3] estimates the number of residual defects. These models are used to estimate software quality cost. Both models are an extension of COCOMO II [1]. ROI, Savings Remaining Defects Figure 1. Overview of qcoplimo. ROI COMMUNICATIONS OF THE ACM December 2006/Vol. 49, No. 12 85

QUALITY-BASED SPL COST ESTIMATION MODEL (QCOPLIMO) Existing SPL cost estimation models [5 9] do not significantly consider the software quality cost, which is spent on removing undetected defects after product release. In general, the future costs for correction of defects undetected at product release consume a large portion of total maintenance costs. The proposed model is recommended, which includes the software quality cost in the SPL business case analysis. qcoplimo consists of the following two cost models: Relative Cost of Writing for Reuse (RCWR) for initial product line development and Relative Cost for Reuse (RCR) for the following product development cases. Relative Cost of Writing for Reuse (RCWR): RCWR is the added cost of writing software to be most cost-effectively reused across a product line family of applications, relative to the cost of writing a standalone application. The software quality cost is added to the baseline SPL for RCWR (COPLIMO RCWR ), proposed in [2], as Relative Cost for Reuse (RCR): RCR is the cost of reusing the software in a new application with the same product line family, relative to developing newly built software for the application. After the initial product is developed using product line engineering practice, which concentrates on development for future reuse, the portion or the whole can be used for other products in the same product line family. Like RCWR, the software quality cost is added to the baseline SPL cost for RCR (COPLIMO RCR ), [2], as The estimated quality-based SPL cost for developing N products is as 86 December 2006/Vol. 49, No. 12 COMMUNICATIONS OF THE ACM

Table title: Primary ROI Input Parameters. Parameters Initial Software Size LaborRate EM NPL (all cost drivers are Nominal) EM 2 PL Values 100 KSLOC $8,000 / MM 1.0 1.78227 Parameters Software size for reuse Effort Adjustment for RCWR 1 Testing Effectiveness (TE) Cost per Defect (CD) Values 50.11 KSLOC 1.469362 0.9 $10,000 1 Effort Adjustment is calculated by PFRAC + RCWR * (AFRAC+RFRAC)). PFRAC (the Product-specific FRACtion of the software product s size) is the portion of the software unique to the particular product of a product family. The Adapted-software FRACtion of the software (AFRAC) is the portion of the product line software that must be modified to operate effectively. The Reusedsoftware FRACtion of the software (RFRAC) is the portion of product line software that can be reused without modification, as a black box. AFRAC and FRRAC are adjusted by the higher ratings (that is, RCWR) of RUSE, RELY, and DOCU. For the detailed information, see [2]. 2 If the product line has considerable variation, its development-for-reuse factor RUSE (reuse) can be rated as Very High, with an effort multiplier of 1.15. In order to minimize software understanding penalty a Very High DOCU (documentation) rating, with an effort multiplier of 1.23, and Very High RELY (reliability) rating, with an effort multiplier 1.26 can be elected. EM PL is then (1.15) (1.23) (1.26)= 1.78227. Primary ROI Input Parameters. ROI ANALYSIS OF A QUALITY-BASED PRODUCT LINE: A CASE STUDY The effect of software quality cost on ROI figures for product line vs. standalone product development is investigated using a representative example, In table (12/06) with the parameters shown in the table here based on collected 161 realworld industrial COCOMO II data, and experience in aircraft and spacecraft product line domains. Non-Product Line (NPL) Development: The NPL cost is calculated by adding the cost of non-product line development to software quality cost as Product Line (PL) Development: For simplicity, the COCOMO cost drivers in PL are identical to those used in NPL, with the exceptions that RUSE is Very High, DOCU is Very High, and RELY is Very High. Based on Equation 1, the cost of the product line is calculated as Figure 2. Saving of Non-Product Line (NPL) vs. Product Line (PL). The saving of PL over NPL development is presented in Figure 2. Anywhere from one to five products 30,000,000 25,000,000 are developed using NPL and PL development, and all 20,000,000 include software quality costs. The first product is 15,000,000 developed using RCWR product line development, to 10,000,000 invest for future reuse. The remaining N-1 products are 5,000,000 developed using the RCR model, and benefit greatly 0 from product line reuse. -5,000,000 The product line saves more money than NPL. These savings come from two sources: product line reuse and savings in software quality cost. After an initial product is developed, the product line, which reuses a portion of the initially developed product, reduces costs below that of standalone products. In addition, software qual- US$ 0 1 2 3 4 5 # of Products Total Cost for NPL Total Cost for PL Savings Figure 2. Saving of Non-Product Line (NPL) vs. Product Line (PL). In fig 2 (12/06) COMMUNICATIONS OF THE ACM December 2006/Vol. 49, No. 12 87

ity cost in product line development is much lower than that in NPL development of standalone products. The size of the product at each factory is reduced and the number of undetected defects is also reduced, due to reuse of some portion of the initially developed product. To investigate the effect of software quality cost, the ROI figures calculated from qcoplimo (with software quality) are presented in Figure 3, and compared to COPLIMO (without considering software quality). This comparison reveals that the ROI based on COPLIMO or other related work is significantly underestimated if software quality cost is not considered. CONCLUSION 2.00 The proposed qcoplimo provides a framework to 0.00 estimate the effects of software quality cost for -2.00 enabling cost-benefit analysis of software product lines. The majority of quantitative software product line models significantly underestimates the effect of software quality cost on potential savings and return on investment. These models only address development and life cycle costs. If these models consider the quality factor, however, they can have a considerably larger payoff by accumulating the potential savings of reusing components after removing product defects. c References 1. Boehm, B., Abts, C., Brown, A.W., Chulani, S., Clark, B.K., Horowitz, E., Madachy, R., Reifer, D., and Steece, B. Software Cost Estimation with COCOMO II, Prentice Hall, 2000. 2. Boehm, B., Brown, A.W., and Yang, Y. A software product line life cycle cost estimation model. In IEEE Proceedings of ISESE 04, 2004. 3. Chulani, S., Boehm, B., and Steece, B. Bayesian analysis of empirical software engineering cost models. IEEE Transactions on Software Engineering 25, 4 (1999), 573 583. 4. Clements, P. and Northrop, L. Software Product Lines: Practices and Patterns. Addison-Wesley, 2002. 5. CMU-SEI Product Line Practices Web site: www.sei.cmu.edu/activities/plp/. 6. Jacobson, I., Griss, M.L., and Jonsson, P. Software Reuse. Addison Wesley, 1997. 7. Lim, W. Managing Software Reuse. Prentice-Hall, 1998. 8. Poulin, J. Measuring Software Reuse: Principles, Practices, and Economics Models. Addison-Wesley, 1997. 9. Reifer, D.J. Practical Software Reuse. Wiley, New York, 1997. Figure 3. ROI Analysis of qcoplimo vs. COPLIMO. ROI 10.00 8.00 6.00 4.00 0 1 2 3 4 5 # of Products Figure 3. ROI Analysis of qcoplimo vs. COPLIMO. In fig 3 (12/06) qcoplimo COPLIMO Hoh Peter In (hoh_in@korea.ac.kr) is an associate professor in the College of Information and Communications at Korea University in Seoul, Korea. Jongmoon Baik (jbaik@icu.ac.kr) is an assistant professor in the School of Engineering at Information and Communications University (ICU) in Daejeon, Korea. Sangsoo Kim (sookim@korea.ac.kr) is a Ph.D. candidate in the College of Information and Communications at Korea University in Seoul, Korea. Ye Yang (yangy@sunset.usc.edu) is a Ph.D candidate in the Center for Systems and Software Engineering at the University of Southern California in Los Angeles. Barry Boehm (boehm@sunset.usc.edu) is TRW Professor of Software Engineering and the director of the Center for Systems and Software Engineering at the University of Southern California in Los Angeles. This research was supported by the Ministry of Information and Communication (MIC), Korea, under the Information Technology Research Center (ITRC) support program supervised by the Institute of Information Technology Advancement (IITA) (IITA-2006-C1090-0603-0032). Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. 2006 ACM 0001-0782/06/1200 $5.00 88 December 2006/Vol. 49, No. 12 COMMUNICATIONS OF THE ACM