e-Informatica Software Engineering Journal An Empirical Study on the Factors Affecting Software Development Productivity

An Empirical Study on the Factors Affecting Software Development Productivity

Authors

Luigi Lavazza and Sandro Morasca and Davide Tosi

Abstract

Background: Software development productivity is widely investigated in the Software Engineering literature. However, continuously updated evidence on productivity is constantly needed, due to the rapid evolution of software development techniques and methods, and also the regular improvement in the use of the existing ones. Objectives: The main goal of this paper is to investigate which factors affect productivity. It was also investigated whether economies or diseconomies of scale exist and whether they may be influenced by productivity factors.  Method: An empirical investigation was carried out using a dataset available at the software project repository ISBSG. The major focus was on factors that may affect productivity from a functional point of view. The the conducted analysis was compared with the productivity data provided by Capers Jones in 1996 and 2013 and with an investigation on open-source software by Delorey et al. Results: This empirical study led to the discovery of interesting models that show how the different factors do (or do not) affect productivity. It was also found out that some factors appear to allow for economies of scale, while others appear to cause diseconomies of scale. Conclusions: This paper provides some more evidence about how four factors, i.e., programming languages, business areas, architectural types, and the usage of CASE tools, influence productivity and highlights some interesting divergences in comparison with the results reported by Capers Jones and Delorey et al.},

References

[1]   R. Premraj, M. Shepperd, B. Kitchenham, and P. Forselius, “An empirical analysis of software productivity over time,” in Proceedings of the 11th IEEE International Software Metrics Symposium, ser. METRICS ’05. Washington, DC, USA: IEEE Computer Society, 2005, pp. 37–37.

[2]   ISBSG, “International Software Benchmarking Standards Group – Worldwide software development: The benchmark, release 12,” 2015.

[3]   A. Albrecht, “Measuring application development productivity,” in Joint SHARE/GUIDE/IBM Application Development Symposium. IBM, 1979.

[4]   Function Point counting practices manual – release 4.2, International Function Point Users Group, (2004)

[5]   L. Lavazza, S. Morasca, and D. Tosi, “An empirical study on the effect of programming languages on productivity,” in Proceedings of the 31st Annual ACM Symposium on Applied Computing, ser. SAC ’16. New York, NY, USA: ACM, 2016, pp. 1434–1439.

[6]   C. Jones, Programming languages table. Release 8.2, Software Productivity Research, Inc., (1996). [Online]. https://engenhariasoftware.files.wordpress.com/2008/06/conversao.pdf

[7]   C. Jones, “Function points as a universal software metric,” SIGSOFT Software Engineering Notes, Vol. 38, No. 4, Jul. 2013, pp. 1–27.

[8]   D.P. Delorey, C.D. Knutson, and S. Chun, “Do programming languages affect productivity? A case study using data from open source projects,” in Proceedings of the First International Workshop on Emerging Trends in FLOSS Research and Development, ser. FLOSS ’07. Washington, DC, USA: IEEE Computer Society, 2007, pp. 8–8.

[9]   B.W. Boehm, Software Engineering Economics, 1st ed. Upper Saddle River, NJ, USA: Prentice Hall PTR, 1981.

[10]   Software Engineering NESMA Functional Size Measurement Method, Version 2.1, Definitions and counting guidelines for the application of Function Point Analysis, International Organization for Standardization, ISO Std. ISO/IEC 24750:2005, 2005.

[11]   ISBSG, “The performance of real-time, business application and component software projects,” The Common Software Measurement International Consortium & The International Software Benchmarking Standards Group, Tech. Rep., Apr. 2011.

[12]   Software engineering – IFPUG 4.1. Unadjusted functional size measurement method – Counting Practices Manual, ISO Std. ISO/IEC 20926:2003, 2003.

[13]   W.H. Kruskal and W.A. Wallis, “Use of ranks in one-criterion variance analysis,” Journal of the American Statistical Association, Vol. 47, No. 260, 1952, pp. 583–621. [Online]. http://www.jstor.org/stable/2280779

[14]   B.A. Myers, J.F. Pane, and A. Ko, “Natural programming languages and environments,” Commun. ACM, Vol. 47, No. 9, Sep. 2004, pp. 47–52.

[15]   L. Lavazza and S. Morasca, “Software effort estimation with a generalized robust linear regression technique,” in 16th International Conference on Evaluation Assessment in Software Engineering (EASE 2012), May 2012, pp. 206–215.

[16]   B. Kitchenham, “The problem with function points,” IEEE Software, Vol. 14, No. 2, Mar. 1997, pp. 29–31.

[17]   B. Kitchenham, S.L. Pfleeger, and N. Fenton, “Towards a framework for software measurement validation,” IEEE Transactions on Software Engineering, Vol. 21, No. 12, Dec. 1995, pp. 929–944.

[18]   B.W. Boehm, “Improving software productivity,” Computer, Vol. 20, No. 9, Sep. 1987, pp. 43–57.

[19]   A. Trendowicz and J. Munch, “Factors influencing software development productivity – state-of-the-art and industrial experiences,” Advances in Computers, Vol. 77, 2009, pp. 185–241.

[20]   J. Vosburgh, B. Curtis, R. Wolverton, B. Albert, H. Malec, S. Hoben, and Y. Liu, “Productivity factors and programming environments,” in Proceedings of the 7th International Conference on Software Engineering, ser. ICSE ’84. Piscataway, NJ, USA: IEEE Press, 1984, pp. 143–152. [Online]. http://dl.acm.org/citation.cfm?id=800054.801963

[21]   K.D. Maxwell, L. Van Wassenhove, and S. Dutta, “Software development productivity of european space, military, and industrial applications,” IEEE Transactions on Software Engineering, Vol. 22, No. 10, Oct. 1996, pp. 706–718.

[22]   S. Wagner and M. Ruhe, “A structured review of productivity factors in software development,” Institut für Informatik, Technische Universität München, techreport TUMI0832, 2008.

[23]   L. Prechelt, “An empirical comparison of seven programming languages,” Computer, Vol. 33, No. 10, 2000, pp. 23–29.

[24]   K. Kennedy, C. Koelbel, and R. Schreiber, “Defining and measuring the productivity of programming languages,” The International Journal of High Performance Computing Applications, Vol. 18, No. 4, Nov. 2004, pp. 441–448.

[25]   R. Klepper and D. Bock, “Third and fourth generation language productivity differences,” Communications of the ACM, Vol. 38, No. 9, Sep. 1995, pp. 69–79.

[26]   K.D. Maxwell and P. Forselius, “Benchmarking software-development productivity,” IEEE Software, Vol. 17, No. 1, Jan. 2000, pp. 80–88.

[27]   M. He, M. Li, Q. Wang, Y. Yang, and K. Ye, “An investigation of software development productivity in China,” in International Conference on Software Process. Springer, 2008, pp. 381–394.

[28]   D.L. Nazareth and M.A. Rothenberger, “Assessing the cost-effectiveness of software reuse: A model for planned reuse,” Journal of Systems and Software, Vol. 73, No. 2, 2004, pp. 245–255.

[29]   R.D. Banker and C.F. Kemerer, “Scale economies in new software development,” IEEE Transactions on Software Engineering, Vol. 15, No. 10, Oct. 1989, pp. 1199–1205.

[30]   J.E. Matson, B.E. Barrett, and J.M. Mellichamp, “Software development cost estimation using function points,” IEEE Transactions on Software Engineering, Vol. 20, No. 4, Apr. 1994, pp. 275–287.

[31]   B.A. Kitchenham, “The question of scale economies in software-why cannot researchers agree?” Information and Software Technology, Vol. 44, No. 1, Jan. 2002, pp. 13–24.

[32]   R.D. Banker, H. Chang, and C.F. Kemerer, “Evidence on economies of scale in software development,” Information and Software Technology, Vol. 36, No. 5, 1994, pp. 275–282.

[33]   B. Kitchenham and E. Mendes, “Software productivity measurement using multiple size measures,” IEEE Transactions on Software Engineering, Vol. 30, No. 12, Dec. 2004, pp. 1023–1035.

[34]   F.P. Brooks, Jr., The Mythical Man-month (Anniversary Ed.). Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1995.

[35]   C. Comstock, Z. Jiang, and J. Davies, “Economies and diseconomies of scale in software development,” Journal of Software Maintenance and Evolution, Vol. 23, No. 8, Dec. 2011, pp. 533–548.

2018
[1]Luigi Lavazza, Sandro Morasca, Davide Tosi, "An Empirical Study on the Factors Affecting Software Development Productivity", In e-Informatica Software Engineering Journal, vol. 12, iss. 1, pp. 27-49, 2018. [bibtex] [pdf] [doi]

©2015 e-Informatyka.pl, All rights reserved.

Built on WordPress Theme: Mediaphase Lite by ThemeFurnace.