An Examination of the Factors Influencing Software Development Effort

Effective evaluation of software development effort is an important aspect of successful project management. Based on a large database with 4106 projects ever developed, this study statistically examines the factors that influence development effort. The factors found to be significant for effort are project size, average number of developers that worked on the project, type of development, development language, development platform, and the use of rapid application development. Among these factors, project size is the most critical cost driver. Unsurprisingly, this study found that the use of CASE tools does not necessarily reduce development effort, which adds support to the claim that the use of tools is subtle. As many of the current estimation models are rarely or unsuccessfully used, this study proposes a parsimonious parametric model for the prediction of effort which is both simple and more accurate than previous models.





References:
[1] R. S. Pressman, Software Engineering : A Practitioner's Approach.
London: McGraw-Hill, 2005.
[2] J. C. Vliet, Software Engineering : Principles and Practice. Chichester:
Wiley, 1993.
[3] N. R. Howes, "Managing software development projects for maximum
productivity," IEEE Transactions on Software Engineering, vol. SE10,
pp. 27-35, 1984.
[4] R. E. Loesh, "Improving productivity through standard design
templates," Data Processing, vol. 27, pp. 57-59, 1985.
[5] D. N. Card, F. E. McGarry, and G. T. Page, "Evaluating software
engineering technologies," IEEE Transactions on Software Engineering,
vol. SE-13, pp. 845-851, 1987.
[6] G. R. Finnie, G. E. Wittig, and D. Petkov, "Prioritizing software
development productivity factors using the analytic hierarchy process,"
Journal of Systems and Software, vol. 22, pp. 129-139, 1993.
[7] J. D. Blackburn, G. D. Scudder, and L. N. V. Wassenhove, "Improving
speed and productivity of software development: a global survey of
software developers," IEEE Transactions on Software Engineering, vol.
22, pp. 875-885, 1996.
[8] K. Maxwell, L. V. Wassenhove, and S. Dutta, "Software development
productivity of European space, military and industrial applications,"
IEEE Transactions on Software Engineering, vol. 22, pp. 706-718, 1996.
[9] A. W. Brown, D. J. Carney, E. J. Morris, D. B. Smith, and P. F. Zarrella,
Principles of CASE Tool Integration. New York: Oxford University
Press, 1994.
[10] R. Klepper and D. Bock, "Third and fourth generation language
productivity differences," Communications of the ACM, vol. 38, pp. 69-
79, 1995.
[11] D. Flynn, J. Vagner, and O. D. Vecchio, "Is CASE technology
improving quality and productivity in software development?," Logistics
Information Management, vol. 8, pp. 8-23, 1995.
[12] A. Lee, C. H. Cheng, and J. Balakrishnan, "Software development cost
estimation: Integrating neural network with cluster analysis,"
Information & Management, vol. 34, pp. 1-9, 1998.
[13] K. Srinivasan and D. Fisher, "Machine learning approaches to estimating
software development effort," IEEE Transactions on Software
Engineering, vol. 21, pp. 126-137, 1995.
[14] R. D. Banker, H. Chang, and C. F. Kemerer, "Evidence on economies of
scale in software development," Information and Software Technology,
vol. 36, pp. 275-282, 1994.
[15] A. R. Venkatachalam, "Software cost estimation using artificial neural
networks," presented at 1993 International Joint Conference on Neural
Networks, Nagoya, Japan, 1993.
[16] G. H. Subramanian, P. C. Pendharkar, and M. Wallace, "An empirical
study of the effect of complexity, platform, and program type on
software development effort of business applications," Empirical
Software Engineering, vol. 11, pp. 541-553, 2006.
[17] S. Kumar, B. A. Krishna, and P. S. Satsangi, "Fuzzy systems and neural
networks in software engineering project management," Journal of
Applied Intelligence, vol. 4, pp. 31-52, 1994.
[18] R. W. Selby and A. A. Porter, "Learning from examples: generation and
evaluation of decision trees for software resource analysis," IEEE
Transactions on Software Engineering, vol. 14, pp. 1743-1757, 1988.
[19] B. W. Boehm, T. E. Gray, and T. Seewaldt, "Prototyping vs. specifying:
A multi-project experiment," presented at 7th International Conference
on Software Engineering, Orlando, 1984.
[20] K. Maxwell, L. Van Wassenhove, and S. Dutta, "Performance
Evaluation of General and Company Specific Models in Software
Development Effort Estimation," Management Science, vol. 45, pp. 787-
803, 1999.
[21] M. van Genuchten and H. Koolen, "On the use of software cost models,"
Information & Management, vol. 21, pp. 37-44, 1991.
[22] T. K. Abdel-Hamid, "Adapting, correcting, and perfecting software
estimates: Amaintenance metaphor " in Computer, vol. 26, 1993, pp. 20-
29
[23] A. J. Albrecht and J. E. G. Gaffney, "Software function, source lines of
code, and development effort prediction: A software science validation,"
IEEE Transactions on Software Engineering, vol. SE-9, pp. 639-648,
1983.
[24] J. E. Matson, B. E. Barrett, and J. M. Mellichamp, "Software
development cost estimation using function points," IEEE Transactions
on Software Engineering, vol. 20, pp. 275-286, 1994.
[25] F. J. Heemstra, "Software cost estimation," Information and Software
Technology, vol. 34, pp. 627-639, 1992.
[26] H. A. Rubin, "Macroestimation of software development parameters: the
ESTIMACS systems.," in SOFTAIR Conference on Software
Development Tools, Techniques, and Alternatives,. New York: IEEE
Press, 1983, pp. 109-118.
[27] N. Fenton, "Software measurement: A necessary scientific basis," IEEE
Transactions on Software Engineering, vol. 20, pp. 199-206, 1994.
[28] N. D. Singpurwalla, Statistical Methods in Software Engineering:
Reliability and Risk. London: Springer, 1999.
[29] A. Heiat and N. Heiat, "A model for estimating efforts required for
developing small-scale business applications," Journal of Systems and
Software, vol. 39, pp. 7-14, 1997.
[30] C. F. Kemerer, "Reliability of function points measurement: a field
experiment," Communications of the ACM, vol. 36, pp. 85-97, 1993.
[31] C. R. Symons, "Function point analysis: difficulties and improvements,"
IEEE Transactions on Software Engineering, vol. 14, pp. 2-11, 1988.
[32] C. F. Kemerer and B. S. Porter, "Improving the reliability of function
point measurement: an empirical study," IEEE Transactions on Software
Engineering, vol. 18, pp. 1011-1024, 1992.
[33] F. Walkerden and R. Jeffery, "An empirical study of analogy-based
software effort estimation," Empirical Software Engineering, vol. 4, pp.
135-158, 1999.
[34] B. A. Kitchenham, R. T. Hughes, and S. G. Linkman, "Modeling
software measurement data," IEEE Transactions on Software
Engineering, vol. 27, pp. 788-804, 2001.
[35] S. D. Conte, H. E. Dunsmore, and Y. E. Shen, Software Engineering
Metrics and Models. Redwood City, CA: Benjamin-Cummings
Publishing, 1986.
[36] F. Louis, "Team size and productivity in systems development,"
Information Systems Management, vol. 8, pp. 27-35, 1991.
[37] E. Mendes and B. Kitchenham, "Web Productivity Measurement and
Benchmarking," in Web Engineering, E. Mendes and N. Mosley, Eds.
Berlin: Springer, 2006, pp. 75-106.
[38] L. B. Wilson and R. G. Clark, Comparative Programming Languages.
Wokingham: Addison-Wesley, 1988.
[39] R. T. Yeh, "Notes on concurrent engineering," IEEE Transactions on
Knowledge and Data Engineering, vol. 4, pp. 407-414, 1992.
[40] T. Bruckhaus, N. H. Madhavii, I. Janssen, and J. Henshaw, "The impact
of tools on software productivity," IEEE Software, vol. 13, pp. 29-38,
1996.
[41] J. Martin, Rapid Application Development. New York: Macmillan, 1991.
[42] G. H. Subramanian and G. E. Zarnich, "An examination of some
software development effort and productivity determinants in ICASE
tool projects," Journal of Management Information Systems, vol. 12, pp.
143-160, 1996.
[43] P. Beynon-Davies, C. Carne, H. Mackay, and D. Tudhope, "Rapid
application development (RAD): An empirical review," European
Journal of Information Systems, vol. 8, pp. 211-223, 1999.
[44] B. Boehm, C. Abts, and S. Chulani, "Software development cost
estimation approaches-A survey," Annals of Software Engineering, vol.
10, pp. 177-205, 2000.
[45] Q. Liu and R. C. Mintram, "Preliminary data analysis methods in
software estimation," Software Quality Journal, vol. 13, pp. 91-115,
2005.
[46] C. F. Kemerer and S. Slaughter, "Determinants of software maintenance
profiles: An empirical investigation," Journal of Software Maintenance,
vol. 9, pp. 235-251, 1997.
[47] W. Harrison, "A flexible method for maintaining software metrics data:
a universal metrics repository," Journal of Systems and Software, vol. 72,
pp. 225-234, 2004.
[48] C. J. Lokan, "An empirical analysis of function point adjustment
factors," Information and Software Technology, vol. 42, pp. 649-660,
2000.
[49] R. Jeffery, M. Ruhe, and I. Wieczorek, "A comparative study of two
software development cost modeling techniques using multiorganizational
and company-specific data," Information and Software
Technology, vol. 42, pp. 1009-1016, 2000.
[50] J. J. Cuadrado-Gallego, M. Sicilia, M. Garre, and D. Rodríguez, "An
empirical study of process-related attributes in segmented software costestimation
relationships," Journal of Systems and Software, vol. 79, pp.
353-361, 2006.
[51] J. Moses, M. Farrow, N. Parrington, and P. Smith, "A productivity
benchmarking case study using Bayesian credible intervals," Software
Quality Journal, vol. 14, pp. 37-52, 2006.
[52] NESMA, NESMA FPA Counting Practices Manual 2.0: Nesma
Association, 1996.
[53] S. A. Green, "How many subjects does it take to do a multiple regression
analysis?," Multivariate Behavioral Research, vol. 26, pp. 499-510,
1991.
[54] W. N. Venables and B. D. Ripley, Modern applied statistics with S. New
York: Springer, 2002.
[55] A. C. Rencher, Linear Models in Statistics. New York: John Wiley &
Sons, 2000.
[56] W. J. Krzanowski, An Introduction to Statistical Modelling. London:
Arnold, 1998.
[57] R. E. Yellen, "Systems analysts performance using CASE versus manual
methods," presented at Proceedings of the Twenty-Third Annual Hawaii
International Conference on System Sciences, Kailua-Kona, Hawaii,
1990.
[58] R. J. Norman, G. F. Corbitt, M. C. Butler, and D. D. McElroy, "CASE
technology transfer: A case study of unsuccessful change," Journal of
Systems Management, vol. 40, pp. 33-37, 1989.
[59] W. J. Orlikowski, "CASE Tools and the IS workplace: Some findings
form empirical research," presented at Proceedings of the ACM SIGCPR
Conference on Management of Information Systems Personnel, College
park, Maryland, 1988.
[60] I. Vessey, S. L. Jarvenpaa, and N. Tractinsky, "Evaluation of vendor
products: CASE tools as methodology companions," Communications of
the ACM, vol. 35, pp. 90-105, 1992.
[61] D. Hough, "Rapid delivery: An evolutionary approach for application
development," IBM Systems Journal, vol. 32, pp. 397-419, 1993.