Software Effort Estimation with Multiple Linear Regression: Review and Practical Application

Software development effort estimation is the basis for the effective project planning and scheduling as well as for the project’s budget definition. This article describes the most common methods used in the software effort estimation (SEE) and presents the study performed in a software development organization (SDO) that is implementing the software development process improvement framework Capability Maturity Model Integrated (CMMI). Currently SDO estimates the software effort based on the opinion of one area expert. The disadvantages of this method and the willingness to incorporate the best practices of CMMI encouraged the SDO to replace the existing effort estimation method by a formal one. The stepwise Multiple Linear Regression (MLR) technique was selected and used for the software development and software testing processes. The results achieved with MLR were compared with the estimates provided by the area expert. The model obtained for the testing team performed better results than the expert judgments, while for the development team no satisfactory model was found and a proposal for collecting data from new variables is presented.

[1]  Maria Helena de Aguiar Pereira e Pestana,et al.  Análise de Dados para Ciências Sociais: a Complementaridade do SPSS , 2008 .

[2]  Marc Hamilton,et al.  Software Development: Building Reliable Systems , 1999 .

[3]  J. Brian Gray,et al.  Introduction to Linear Regression Analysis , 2002, Technometrics.

[4]  Jammalamadaka Introduction to Linear Regression Analysis (3rd ed.) , 2003 .

[5]  Steve McConnell Software Estimation: Demystifying the Black Art , 2006 .

[6]  Magne Jørgensen,et al.  Reasons for software effort estimation error: impact of respondent role, information collection approach, and data analysis method , 2004, IEEE Transactions on Software Engineering.

[7]  R. Lyman Ott.,et al.  An introduction to statistical methods and data analysis , 1977 .

[8]  Sohaib Shahid Bajwa,et al.  Investigating the Nature of Relationship between Software Size and Development Effort , 2008 .

[9]  F. J. Heemstra,et al.  Software cost estimation , 1992, Inf. Softw. Technol..

[10]  Jean-Marc Desharnais,et al.  A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models , 1997, J. Syst. Softw..

[11]  Mary Beth Chrissis,et al.  CMMI: Guidelines for Process Integration and Product Improvement , 2003 .

[12]  Lyn C. Thomas,et al.  Experts' estimates of task durations in software development projects , 2000 .

[13]  Stefan Koch,et al.  Software project effort estimation with voting rules , 2009, Decis. Support Syst..

[14]  Isabella Wieczorek,et al.  Resource Estimation in Software Engineering , 2002 .

[15]  Tim Menzies,et al.  Software development cost estimation , 2005 .

[16]  Barbara A. Kitchenham,et al.  Effort estimation using analogy , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[17]  Robert Sandy,et al.  Statistics for Business and Economics , 1989 .

[18]  Magne Jørgensen,et al.  A review of studies on expert estimation of software development effort , 2004, J. Syst. Softw..

[19]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[20]  Rob Schoedel PROxy Based Estimation (PROBE) for Structured Query Language (SQL) , 2006 .

[21]  Andrea De Lucia,et al.  Assessing effort estimation models for corrective maintenance through empirical studies , 2005, Inf. Softw. Technol..

[22]  Barry W. Boehm,et al.  Software development cost estimation approaches — A survey , 2000, Ann. Softw. Eng..

[23]  Kellie B. Keeling,et al.  Concise Managerial Statistics , 2005 .

[24]  Magne Jørgensen,et al.  Software effort estimation by analogy and "regression toward the mean" , 2003, J. Syst. Softw..

[25]  Michael M. Richter,et al.  A flexible method for software effort estimation by analogy , 2007, Empirical Software Engineering.

[26]  Michael Evans,et al.  Software Sizing, Estimation, and Risk Management: When Performance is Measured Performance Improves , 2006 .

[27]  Jacob Cohen,et al.  Applied multiple regression/correlation analysis for the behavioral sciences , 1979 .

[28]  Tim Menzies,et al.  Studies of Confidence in Software Cost Estimation Research Based on the Criterions MMRE and PRED Dan Port ( UHawaii ) , 2009 .

[29]  W. R. Howard Software Measurement and Estimation: A Practical Approach , 2007 .

[30]  Daniel Zelterman Applied Linear Models with SAS: Introduction to Linear Regression , 2010 .

[31]  Stephen G. MacDonell,et al.  A Comparison of Modeling Techniques for Software Development Effort Prediction , 1997, ICONIP.

[32]  Henry W. Altland,et al.  Regression Analysis: Statistical Modeling of a Response Variable , 1998, Technometrics.

[33]  Magne Jørgensen,et al.  Regression Models of Software Development Effort Estimation Accuracy and Bias , 2004, Empirical Software Engineering.

[34]  Capers Jones,et al.  Estimating software costs : bringing realism to estimating , 2007 .

[35]  Gerry Coleman,et al.  A Quality Software Process for Rapid Application Development , 1998, Software Quality Journal.

[36]  Jaswinder Kaur,et al.  Comparative Analysis of the Software Effort Estimation Models , 2008 .

[37]  Stephen G. MacDonell,et al.  A comparison of techniques for developing predictive models of software metrics , 1997, Inf. Softw. Technol..

[38]  N. Draper,et al.  Applied Regression Analysis , 1966 .