Factors Affecting Software Development Productivity: An empirical study

  • Edna Dias Canedo
  • Giovanni Almeida Santos

Resumo




The competitiveness has demanded from the software industry shorter delivery times for its products resulting in optimized life cycles, generating a need to increase its performance to maintain competitiveness in the markets where they operate. This context has made productivity study so fundamental that organizations not only evaluate their performance, but also provide means to improve it. The main goal of this paper is to investigate which factors affect productivity in software development projects and in open-source projects. In this work a Systematic Literature Review (SLR) was carried out in order to answer the research questions and a survey with practitioners community about their perception in relation to the factors of the productivity of the team. This empirical study led to the discovery of interesting factors that show how the different factors do (or do not) affect productivity. It was also found out that some factors appear to allow independence and responsibility of team, while others appear to cause a better distribution of tasks. The results show how factors such as people, product, organization, investment in technology, lack of contractual relations and engagement of open-source project contributors influence productivity.




 
Palavras-chave: Metrics, Measurement, Productivity, Influence Factors, Empirical study

Referências

Stephano L. D. Ah-Fock, Ange L. M. Cavaye, et al. 2003. The effect of reusability on perceived competitive performance of Australian software firms. Journal of Research and Practice in Information Technology 35, 3 (2003), 183.

A Ahmed, S Ahmad, N Ehsan, E Mirza, and SZ Sarwar. 2010. Agile software development: Impact on productivity and quality. In 2010 IEEE International Conference on Management of Innovation & Technology. IEEE, 10.1109/ICMIT.2010.5492703, 287--291.

Adriano Bessa Albuquerque and Ana Regina Rocha. 2009. Evaluation and Improvement of Processes Assets: A Real Collaborative Experience. In Software Engineering, 2009. WCSE'09. WRI World Congress on, Vol. 4. IEEE, 10.1109/WCSE.2009.428, 114--120.

I Elaine Allen and Christopher A Seaman. 2007. Likert scales and data analyses. Quality progress 40, 7 (2007), 64--65.

Mridul Bhardwaj and Ajay Rana. 2016. Key Software Metrics and its Impact on each other for Software Development Projects. ACM SIGSOFT Software Engineering Notes 41, 1 (2016), 1--4.

J Blackburn, G Scudder, and LN Van Wassenhove. 1997. Managing software development for speed and productivity through concurrent software engineering. WIT Transactions on Information and Communication Technologies 17 (1997), 1--17.

Barry W Boehm, Ray Madachy, Bert Steece, et al. 2000. Software cost estimation with Cocomo II with Cdrom. Prentice Hall PTR, USA.

Kenneth W Boyer Jr. 2001. Function point analysis: measurement practices for successful software projects. ACM SIGSOFT Software Engineering Notes 26, 4 (2001), 90--90.

L Buglione. 2010. Some thoughts on Productivity in ICT Projects, version 1.0. Technical Report. WP-2007-01, White Paper, July 1 2007.

Edna Dias Canedo and Ruyther Parente da Costa. 2018. Methods and Metrics for Estimating and Planning Agile Software Projects. In 24th Americas Conference on Information Systems, AMCIS 2018, New Orleans, LA, USA, August 16-18, 2018. ASSOCIATION FOR INFORMATION SYSTEMS, https://aisel.aisnet.org/amcis2018/DigitalAgility/Presentations/5, 1--10.

Gemma Catolino, Fabio Palomba, Damian A. Tamburri, Alexander Serebrenik, and Filomena Ferrucci. 2019. Gender diversity and women in software teams: how do they affect community smells?. In ICSE-SEIS. ACM, 10.1109/ICSE-SEIS.2019.00010, 11--20.

M Čičin-Šain. 1988. Methods for monitoring productivity in applicative software development. Annual Review in Automatic Programming 14 (1988), 59--62.

Victor A Clincy. 2003. Software development productivity and cycle time reduction. Journal of Computing Sciences in Colleges 19, 2 (2003), 278.

Constantine Aaron Cois, Joseph Yankel, and Anne Connell. 2014. Modern DevOps: Optimizing software development through effective system interactions. In IPCC. IEEE, 10.1109/IPCC.2014.7020388, 1--7.

COSMIC Measurement Practices Committee et al. 2015. The COSMIC Functional Size Measurement Method-Version 4.0. 1-Measurement Manual. The COSMIC Consortium, Montréal 4 (2015), 1--401.

IFPUG Counting Practice Committee et al. 2010. Function Point Counting Practices Manual-Version 4.3. 1. International Function Point User Group (IFPUG), Princeton Junction, NJ 4.3.1 (2010).

Juan Jose Cuadrado-Gallego, Daniel Rodríguez, Fernando Machado, and Alaian Abran. 2007. Convertibility between IFPUG and COSMIC functional size measurements. In International Conference on Product Focused Software Process Improvement. Springer, 10.1007/978-3-540-73460-4_25, 273--283.

Daniela E. Damian and James Chisan. 2006. An Empirical Study of the Complex Relationships between Requirements Engineering Processes and Other Processes that Lead to Payoffs in Productivity, Quality, and Risk Management. IEEE Trans. Software Eng. 32, 7 (2006), 433--453.

Gibeon Soares de Aquino Junior and Silvio Romero de Lemos Meira. 2009. Towards effective productivity measurement in software projects. In Software Engineering Advances, 2009. ICSEA'09. Fourth International Conference on. IEEE, 10.1109/ICSEA.2009.44, 241--249.

Suzana Candido de Barros Sampaio, Emanuella Aleixo Barros, Gibeon Soares de Aquino Junior, Mauro Jose Carlos e Silva, and Silvio Romero de Lemos Meira. 2010. A review of productivity factors and strategies on software development. In Software Engineering Advances (ICSEA), 2010 Fifth International Conference on. IEEE, 10.1109/ICSEA.2010.37, 196--204.

Suzana Cândido de Barros Sampaio, Emanuella Aleixo Barros, Gibeon Soares de Aquino Junior, Mauro Jose Carlos e Silva, and Silvio Romero de Lemos Meira. 2010. A Review of Productivity Factors and Strategies on Software Development. In ICSEA. IEEE Computer Society, 10.1109/ICSEA.2010.37, 196--204.

William Chaves de Souza Carvalho, Pedro Frosi Rosa, Michel dos Santos Soares, Marco Antonio Teixeira da Cunha Jr., and Luiz Carlos Buiatte. 2011. A Comparative Analysis of the Agile and Traditional Software Development Processes Productivity. In SCCC. IEEE Computer Society, 10.1109/SCCC.2011.11, 74--82.

Israt Fatema and Kazi Sakib. 2017. Factors Influencing Productivity of Agile Software Development Teamwork: A Qualitative System Dynamics Approach. In APSEC. IEEE Computer Society, 10.1109/APSEC.2017.95, 737--742.

Norman Fenton and James Bieman. 2014. Software metrics: a rigorous and practical approach. CRC Press, 978--1439838228.Google Scholar
Oliver Gass, Hendrik Meth, and Alexander Maedche. 2014. PaaS Characteristics for Productive Software Development: An Evaluation Framework. IEEE Internet Computing 18, 1 (2014), 56--64.

Amir Hossein Ghapanchi, Aybüke Aurum, and Farhad Daneshgar. 2012. The Impact of Process Effectiveness on User Interest in Contributing to the Open Source Software Projects. JSW 7, 1 (2012), 212--219.

Lucas Gren. 2017. The Links Between Agile Practices, Interpersonal Conflict, and Perceived Productivity. In EASE. ACM, 10.1145/3084226.3084269, 292--297.

Adrián Hernández-López, Ricardo Colomo Palacios, and Ángel García-Crespo. 2013. Software Engineering Job Productivity - a Systematic Review. International Journal of Software Engineering and Knowledge Engineering 23, 3 (2013), 387.

Nasif Imtiaz, Justin Middleton, Joymallya Chakraborty, Neill Robson, Gina Bai, and Emerson R. Murphy-Hill. 2019. Investigating the effects of gender bias on GitHub. In ICSE. IEEE / ACM, 10.1109/ICSE.2019.00079, 700--711.

Dongwon Kang, Jinhwan Jung, and Doo-Hwan Bae. 2011. Constraint-based human resource allocation in software projects. Softw., Pract. Exper. 41, 5 (2011), 551--577.

Gustav Karner. 1993. Resource estimation for objectory projects. Objective Systems SF AB 17 (1993), 1--9.

Tim Kelleher. 2004. Five Core Metrics-The Intelligence Behind Successful Software Management. Software Quality Professional 6, 2 (2004), 44.

Barbara Kitchenham. 2004. Procedures for performing systematic reviews. Keele, UK, Keele University 33, 2004 (2004), 1--26.

Barbara Kitchenham and Emilia Mendes. 2004. Software productivity measurement using multiple size measures. IEEE Transactions on Software Engineering 30, 12 (2004), 1023--1035.

Andrej Krajnc, Marjan Hericko, Crt Gerlec, Uros Goljat, and Gregor Polancic. 2012. Experimental investigation of the quality and productivity of software factories based development. Comput. Sci. Inf. Syst. 9, 2 (2012), 667--689.

Luigi Lavazza, Sandro Morasca, and Davide Tosi. 2016. An empirical study on the effect of programming languages on productivity. In Proceedings of the 31st Annual ACM Symposium on Applied Computing. ACM, 10.1145/2851613.2851780, 1434--1439.

Adailton Magalhães Lima, Rodrigo Quites Reis, and Carla Alessandra Lima Reis. 2015. Empirical Evidence of Factors Influencing Project Context in Distributed Software Projects. In CSD@ICSE. IEEE Computer Society, 10.1109/CSD.2015.8, 6--7.

Johan Linåker and Björn Regnell. 2017. A Contribution Management Framework for Firms Engaged in Open Source Software Ecosystems - A Research Preview. In REFSQ (Lecture Notes in Computer Science), Vol. 10153. Springer, 10.1007/978-3-319-54045-0_4, 50--57.

Graham C. Low and D. Ross Jeffery. 1990. Function points in the estimation and evaluation of the software process. IEEE Transactions on Software Engineering 16, 1 (1990), 64--71.

Santiago Matalonga, Martín Solari, and Tomás San Feliu Gilabert. 2014. An empirically validated simulation for understanding the relationship between process conformance and technology skills. Software Quality Journal 22, 4 (2014), 593--609.

Katrina D Maxwell and Pekka Forselius. 2000. Benchmarking software development productivity. Ieee Software 17, 1 (2000), 80--88.

Claudia De O Melo, Daniela S Cruzes, Fabio Kon, and Reidar Conradi. 2013. Interpretative case studies on agile team productivity and management. Information and Software Technology 55, 2 (2013), 412--427.

André N. Meyer, Thomas Zimmermann, and Thomas Fritz. 2017. Characterizing Software Developers by Perceptions of Productivity. In ESEM. IEEE Computer Society, 0.1109/ESEM.2017.17, 105--110.

Ayse Tosun Misirli, June M. Verner, Jouni Markkula, and Markku Oivo. 2014. A survey on project factors that motivate Finnish software engineers. In RCIS. IEEE, 10.1109/RCIS.2014.6861052, 1--9.

Osamu Mizuno, Tohru Kikuno, Katsumi Inagaki, Yasunari Takagi, and Keishi Sakamoto. 2000. Statistical analysis of deviation of actual cost from estimated cost using actual project data. Information and Software Technology 42, 7 (2000), 465--473.

Sandro Morasca and Giuliano Russo. 2001. An empirical study of software productivity. In Computer Software and Applications Conference, 2001. COMPSAC 2001. 25th Annual International. IEEE, 07303157, 317--322.

John Moses and Malcolm Farrow. 2003. A procedure for assessing the influence of problem domain on effort estimation consistency. Software Quality Journal 11, 4 (2003), 283--300.

Christian Murphy, Kevin Buffardi, Josh Dehlinger, Lynn Lambert, and Nanette Veilleux. 2017. Community Engagement with Free and Open Source Software. In SIGCSE. ACM, 10.1145/3017680.3017682, 669--670.

Frank Nagle. 2019. Open Source Software and Firm Productivity. Management Science 65, 3 (2019), 1191--1215.

T.R. Gopalakrishnan Nair, V. Suma, and Pranesh Kumar Tiwari. 2012. Significance of depth of inspection and inspection performance metrics for consistent defect management in software industry. IET Software 6, 6 (2012), 524--535.

Jay F Nunamaker and Minder Chen. 1989. Software productivity: a framework of study and An approach to reusable components. In System Sciences, 1989. Vol. II: Software Track, Proceedings of the Twenty-Second Annual Hawaii International Conference on, Vol. 2. IEEE, 10.1109/HICSS.1989.48108, 959--968.

Edson Oliveira, Tayana Conte, Marco Cristo, and Emilia Mendes. 2016. Software Project Managers' Perceptions of Productivity Factors: Findings from a Qualitative Study. In Proceedings of the 10th ACM/IEEE international symposium on empirical software engineering and measurement. ACM, 10.1145/2961111.2962626, 15.

Edson Oliveira, Tayana Conte, Marco Cristo, and Natasha M. Costa Valentim. 2018. Influence Factors in Software Productivity - A Tertiary Literature Review. International Journal of Software Engineering and Knowledge Engineering 28, 11-12 (2018), 1795--1810.

Dinesh R. Pai, Girish H. Subramanian, and Parag C. Pendharkar. 2015. Benchmarking software development productivity of CMMI level 5 projects. Information Technology and Management 16, 3 (2015), 235--251.

Madhukar Pai, Michael McCulloch, Jennifer D Gorman, Nitika Pai, Wayne Enanoria, Gail Kennedy, Prathap Tharyan, and Jr JM Colford. 2004. Systematic reviews and meta-analyses: an illustrated, step-by-step guide. The National medical journal of India 17, 2 (2004), 86--95.

Kai Petersen. 2011. Measuring and predicting software productivity: A systematic map and review. Information and Software Technology 53, 4 (2011), 317--343.

Kai Petersen, Sairam Vakkalanka, and Ludwik Kuzniarz. 2015. Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology 64 (2015), 1--18.

Rahul Premraj, Martin J. Shepperd, Barbara A. Kitchenham, and Pekka Forselius. 2005. An Empirical Analysis of Software Productivity over Time. In IEEE METRICS. IEEE Computer Society, 10.1109/METRICS.2005.8, 37.

Sandra L. Ramirez-Mora and Hanna Oktaba. 2018. Team Maturity in Agile Software Development: The Impact on Productivity. In ICSME. IEEE Computer Society, 10.1109/ICSME.2018.00091, 732--736.

Mushtaq Raza and João Pascoal Faria. 2014. A model for analyzing estimation, productivity, and quality performance in the personal software process. In ICSSP. ACM, 10.1145/2600821.2600828, 10--19.

Kenneth H Rose. 2013. A Guide to the Project Management Body of Knowledge (PMBOK® Guide)âĂŤFifth Edition. Project management journal 44, 3 (2013), 1--589.

Walt Scacchi. 1989. Understanding software productivity: a comparative empirical review. In [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track, Vol. 2. IEEE, 10.1109/HICSS.1989.48109, 969--977.

Ingo Scholtes, Pavlin Mavrodiev, and Frank Schweitzer. 2016. From Aristotle to Ringelmann: a large-scale analysis of team productivity and coordination in Open Source Software projects. Empirical Software Engineering 21, 2 (2016), 642--683.

TN Sharma. 2011. Analysis of software cost estimation using COCOMO II. International Journal of Scientific & Engineering Research 2, 6 (2011), 1--5.

Zéphyrin Soh, Foutse Khomh, Yann-Gaël Guéhéneuc, and Giuliano Antoniol. 2013. Towards understanding how developers spend their effort during maintenance activities. In WCRE. IEEE Computer Society, 10.1109/WCRE.2013.6671290, 152--161.

Igor Steinmacher, Tayana Uchôa Conte, Christoph Treude, and Marco Aurélio Gerosa. 2016. Overcoming open source project entry barriers with a portal for newcomers. In ICSE. ACM, 0.1145/2884781.2884806, 273--284.

Igor Steinmacher, Marco Aurélio Gerosa, Tayana Uchôa Conte, and David F. Redmiles. 2019. Overcoming Social Barriers When Contributing to Open Source Software Projects. Computer Supported Cooperative Work 28, 1-2 (2019), 247--290.

Ramanath Subramanyam, Fei Lee Weisstein, and Mayuram S. Krishnan. 2010. User participation in software development projects. Commun. ACM 53, 3 (2010), 137--141.

Jeff Sutherland, Carsten Ruseng Jakobsen, and Kent Johnson. 2008. Scrum and CMMI level 5: The magic potion for code warriors. In Proceedings of the 41st Annual Hawaii International Conference on System Sciences (HICSS 2008). IEEE, 0769528724, 466--466.

Piotr Tomaszewski and Lars Lundberg. 2006. The increase of productivity over time - an industrial case study. Information & Software Technology 48, 9 (2006), 915--927.

Adam Trendowicz and Jürgen Münch. 2009. Factors Influencing Software Development Productivity - State-of-the-Art and Industrial Experiences. Advances in Computers 77 (2009), 185--241.

Bogdan Vasilescu, Daryl Posnett, Baishakhi Ray, Mark G. J. van den Brand, Alexander Serebrenik, Premkumar T. Devanbu, and Vladimir Filkov. 2015. Gender and Tenure Diversity in GitHub Teams. In CHI. ACM, 10.1145/2702123.2702549, 3789--3798.

Bogdan Vasilescu, Yue Yu, Huaimin Wang, Premkumar Devanbu, and Vladimir Filkov. 2015. Quality and productivity outcomes relating to continuous integration in GitHub. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, 10.1145/2786805.2786850, 805--816.

June M Verner, Muhammad Ali Babar, Narciso Cerpa, Tracy Hall, and Sarah Beecham. 2014. Factors that motivate software engineering teams: A four country empirical study. Journal of Systems and Software 92 (2014), 115--127.

Stefan Wagner and Melanie Ruhe. 2018. A Systematic Review of Productivity Factors in Software Development. CoRR 2 (2018), 1--6.

Stefan Wagner and Melanie Ruhe. 2018. A Systematic Review of Productivity Factors in Software Development. CoRR abs/1801.06475 (2018), 1--23.

Claes Wohlin and Rafael Prikladniki. 2013. Systematic literature reviews in software engineering. Information and Software Technology 55, 6 (2013), 919--920.

Xin Xia, Zhiyuan Wan, Pavneet Singh Kochhar, and David Lo. 2019. How practitioners perceive coding proficiency. In ICSE. IEEE / ACM, 10.1109/ICSE.2019.00098, 924--935.

Murat Yilmaz, Rory V. O'Connor, and Paul Clarke. 2016. Effective Social Productivity Measurements during Software Development - An Empirical Study. International Journal of Software Engineering and Knowledge Engineering 26, 3 (2016), 457--490.

Sadegh Yousefi and Nasser Modiri. 2011. Deployment of integrated design for the reduction of software complexity. In The 7th International Conference on Networked Computing and Advanced Information Management. IEEE, IEEE Xplore, 172--174
Publicado
23/09/2019
CANEDO, Edna Dias; SANTOS, Giovanni Almeida. Factors Affecting Software Development Productivity: An empirical study. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 33. , 2019, Salvador. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 .