Effort Prediction in Iterative Software Development Processes -- Incremental Versus Global Prediction Models

Estimation of development effort without imposing overhead on the project and the development team is of paramount importance for any software company. This study proposes a new effort estimation methodology aimed at agile and iterative development environments not suitable for description by traditional prediction methods. We propose a detailed development methodology, discuss a number of architectures of such models (including a wealth of augmented regression models and neural networks) and include a thorough case study of Extreme Programming (XP) in two semi-industrial projects. The results of this research evidence that in the XP environment under study the proposed incremental model outperforms traditional estimation techniques most notably in early phases of development. Moreover, when dealing with new projects, the incremental model can be developed from scratch without resorting itself to historic data.

[1]  Magne Jørgensen,et al.  A Systematic Review of Software Development Cost Estimation Studies , 2007 .

[2]  Gary D. Boetticher,et al.  Using Machine Learning to Predict Project Effort: Empirical Case Studies in Data-Starved Domains , 2001 .

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

[4]  Stephen G. MacDonell,et al.  Using prior-phase effort records for re-estimation during software projects , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[5]  Siba N. Mohanty,et al.  Software cost estimation: Present and future , 1981, Softw. Pract. Exp..

[6]  Kenji Yokoyama,et al.  Development of a hybrid cost estimation model in an iterative manner , 2006, ICSE.

[7]  Building a software cost estimation model based on categorical data , 2001, Proceedings Seventh International Software Metrics Symposium.

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

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

[10]  Keith Phalp,et al.  An investigation of machine learning based prediction systems , 2000, J. Syst. Softw..

[11]  Douglas Fisher,et al.  Machine Learning Approaches to Estimating Software Development Effort , 1995, IEEE Trans. Software Eng..

[12]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[13]  Ingunn Myrtveit,et al.  Reliability and validity in comparative studies of software prediction models , 2005, IEEE Transactions on Software Engineering.

[14]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[15]  Y. Miyazaki,et al.  Robust regression for developing software estimation models , 1994, J. Syst. Softw..

[16]  Barbara A. Kitchenham,et al.  A Simulation Study of the Model Evaluation Criterion MMRE , 2003, IEEE Trans. Software Eng..

[17]  Pekka Abrahamsson,et al.  Empirical Evaluation of Agile Software Development: The Controlled Case Study Approach , 2004, PROFES.

[18]  Heekuck Oh,et al.  Neural Networks for Pattern Recognition , 1993, Adv. Comput..

[19]  Jason Crampton,et al.  The interpretation and utility of three cohesion metrics for object-oriented design , 2006, TSEM.

[20]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[21]  Amrit L. Goel,et al.  Empirical Data Modeling in Software Engineering Using Radical Basis Functions , 2000, IEEE Trans. Software Eng..

[22]  Alberto Sillitti,et al.  Collecting, integrating and analyzing software metrics and personal software process data , 2003, 2003 Proceedings 29th Euromicro Conference.

[23]  Mohamed E. Fayad,et al.  Software Engineering in the Small , 2000 .

[24]  Parag C. Pendharkar,et al.  A Probabilistic Model for Predicting Software Development Effort , 2003, ICCSA.

[25]  Mohammad Alshayeb,et al.  An Empirical Validation of Object-Oriented Metrics in Two Different Iterative Software Processes , 2003, IEEE Trans. Software Eng..

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