A quality cost reduction model for large-scale software development

Understanding quality costs is recognized as a prerequisite for decreasing the variability of the success of software development projects. This paper presents an empirical quality cost reduction (QCR) model to support the decision-making process for additional investment in the early phases of software verification. The main idea of the QCR model is to direct additional investment into software units that have some fault-slip potential in their later verification phases, with the aim of reducing costs and increasing product quality. The fault-slip potential of a software unit within a system is determined by analogy with historical projects. After a preliminary study on a sample of software units, which proves that we can lower quality costs with additional investment into particular verification activities, we examine the effectiveness of the proposed QCR model using real project data. The results show that applying the model produces a positive business case, meaning that the model lowers quality costs and increases quality, resulting in economic benefit. The potential to reduce quality costs is growing significantly with the evolution of software systems and the reuse of their software units. The proposed model is the result of a research project performed at Ericsson.

[1]  Jiju Antony,et al.  Implementing Six Sigma , 2001 .

[2]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[3]  Michael Grottke,et al.  A systematic literature review of software quality cost research , 2011, J. Syst. Softw..

[4]  Nachiappan Nagappan,et al.  Predicting defects using network analysis on dependency graphs , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[5]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[6]  Ayse Basar Bener,et al.  Validation of network measures as indicators of defective modules in software systems , 2009, PROMISE '09.

[7]  Barry W. Boehm,et al.  Value-based software engineering: reinventing , 2003, SOEN.

[8]  Iker Gondra,et al.  Applying machine learning to software fault-proneness prediction , 2008, J. Syst. Softw..

[9]  Taghi M. Khoshgoftaar,et al.  Cost-Benefit Analysis of Software Quality Models , 2004, Software Quality Journal.

[10]  Darko Huljenic,et al.  Quantifying value of adding inspection effort early in the development process: A case study , 2012, IET Softw..

[11]  E. Ziegel Juran's Quality Control Handbook , 1988 .

[12]  Barry W. Boehm,et al.  Software Development Effort Estimation: Formal Models or Expert Judgment? , 2009, IEEE Software.

[13]  Harvey P. Siy,et al.  Does the modern code inspection have value? , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[14]  Per Runeson,et al.  A Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems , 2007, IEEE Transactions on Software Engineering.

[15]  Luis Fernández Sanz,et al.  Empirical support for the generation of domain-oriented quality models , 2010, IET Softw..

[16]  Elmar Jürgens,et al.  Software quality models: Purposes, usage scenarios and requirements , 2009, 2009 ICSE Workshop on Software Quality.

[17]  Norman E. Fenton,et al.  Quantitative Analysis of Faults and Failures in a Complex Software System , 2000, IEEE Trans. Software Eng..

[18]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[19]  Claes Wohlin,et al.  A model for software rework reduction through a combination of anomaly metrics , 2008, J. Syst. Softw..

[20]  Mayuram S. Krishnan,et al.  Evaluating the cost of software quality , 1998, CACM.

[21]  Tihana Galinac Grbac,et al.  Software Verification Process Improvement Proposal Using Six Sigma , 2007, PROFES.

[22]  Per Runeson,et al.  A Second Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems , 2007, IEEE Transactions on Software Engineering.

[23]  Harald C. Gall,et al.  Cross-project defect prediction: a large scale experiment on data vs. domain vs. process , 2009, ESEC/SIGSOFT FSE.

[24]  Philip B. Crosby,et al.  Quality Is Still Free: Making Quality Certain in Uncertain Times , 1995 .

[25]  Foster Provost,et al.  Machine Learning from Imbalanced Data Sets 101 , 2008 .

[26]  Robert G. Ebenau,et al.  Software Inspection Process , 1993 .

[27]  Bart Baesens,et al.  Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings , 2008, IEEE Transactions on Software Engineering.

[28]  Claes Wohlin,et al.  Determining the Improvement Potential of a Software Development Organization Through Fault Analysis: A Method and a Case Study , 2004, EuroSPI.

[29]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[30]  Tracy Hall,et al.  A Systematic Literature Review on Fault Prediction Performance in Software Engineering , 2012, IEEE Transactions on Software Engineering.

[31]  Ellis Horowitz,et al.  Cocomo ii model definition manual , 1998 .

[32]  J. Christopher Westland,et al.  The cost behavior of software defects , 2004, Decis. Support Syst..

[33]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[34]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[35]  Gene Placzkowski,et al.  Implementing Six Sigma , 2003 .