A consideration of the variation in development effort consistency due to function points

Various software development factors are usually assumed to have differing degrees of influence on actual effort. For example, in the measurement of Function Points the ISBSG suggest that different allowances should be made for different types of programming language; and, calibration of MK II Function Points to different problem domains is also advised. We examine a data source (which comprises project data from several different companies) and show that only about 41% of the variability in development effort can be explained by Albrecht’s Adjusted Function Point measure. However, about 60% of the variability can be explained by the covariates Adjusted Function Points and Maximum Team Size. In addition, dependency on language type (which includes categories 2nd, 3rd and 4th generation languages and application program generators) and language type within development type can be identified and the explanation in variability appears to increase to 62%; and, subsequent removal of extreme outliers gives a minimal increase in explanation. However, we find no evidence for dependence on or interactions with application problem type and development platform, i.e. the explanation of variation in effort does not increase. We used a Hierarchical Bayesian inference procedure in this study. We did so because it conveniently represents potential random effects (e.g. Language Type and Development Type) without loss of information from the data, which can occur due to combining categories to achieve tractable solutions using other methods, such as categorical regression. Our results differ, in part, from those derived from another study in which the number of empirical categories was reduced (leading to information loss from the data) to accommodate categorical regression. The latter study had identified dependence on platform and application type. Additionally, we provide an explanation of the necessity to consider Team Size as a treatment variable, when using Albrecht’s Adjusted Function Points as a control variable in the estimation of development effort.

[1]  Barbara A. Kitchenham,et al.  A Further Empirical Investigation of the Relationship Between MRE and Project Size , 2003, Empirical Software Engineering.

[2]  Khaled El Emam,et al.  Software Cost Estimation with Incomplete Data , 2001, IEEE Trans. Software Eng..

[3]  D. Ross Jeffery,et al.  Using public domain metrics to estimate software development effort , 2001, Proceedings Seventh International Software Metrics Symposium.

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

[5]  John Moses,et al.  A Procedure for Assessing the Influence of Problem Domain on Effort Estimation Consistency , 2003, Software Quality Journal.

[6]  Charles R. Symons,et al.  Software sizing and estimating - Mk II FPA, function point analysis , 1991, Wiley series in software engineering practice.

[7]  KitchenhamBarbara,et al.  A Further Empirical Investigation of the Relationship Between MRE and Project Size , 2003 .

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

[9]  John E. Gaffney,et al.  Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation , 1983, IEEE Transactions on Software Engineering.

[10]  J. Moses A consideration of the impact of interactions with module effects on the direct measurement of subjective software attributes , 2001, Proceedings Seventh International Software Metrics Symposium.

[11]  Isabella Wieczorek,et al.  How valuable is company-specific data compared to multi-company data for software cost estimation? , 2002, Proceedings Eighth IEEE Symposium on Software Metrics.

[12]  Robert T. Hughes,et al.  Expert judgement as an estimating method , 1996, Inf. Softw. Technol..

[13]  Joseph M. Mellichamp,et al.  Software Development Cost Estimation Using Function Points , 1994, IEEE Trans. Software Eng..