What Predicts Software Developers’ Productivity?

Organizations have a variety of options to help their software developers become their most productive selves, from modifying office layouts, to investing in better tools, to cleaning up the source code. But which options will have the biggest impact? Drawing from the literature in software engineering and industrial/organizational psychology to identify factors that correlate with productivity, we designed a survey that asked 622 developers across 3 companies about these productivity factors and about self-rated productivity. Our results suggest that the factors that most strongly correlate with self-rated productivity were non-technical factors, such as job enthusiasm, peer support for new ideas, and receiving useful feedback about job performance. Compared to other knowledge workers, our results also suggest that software developers' self-rated productivity is more strongly related to task variety and ability to work remotely.

[1]  James W. Smither,et al.  Feedback orientation, feedback culture, and the longitudinal performance management process , 2002 .

[2]  Laurie A. Williams,et al.  Continuous Deployment at Facebook and OANDA , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C).

[3]  Gary D. Scudder,et al.  Improving Speed and Productivity of Software Development: A Global Survey of Software Developers , 1996, IEEE Trans. Software Eng..

[4]  R. Nickerson Confirmation Bias: A Ubiquitous Phenomenon in Many Guises , 1998 .

[5]  Tomislav Hernaus,et al.  Work Characteristics and Work Performance of Knowledge Workers: What Goes Hand in Hand? , 2013 .

[6]  Thomas Fritz,et al.  Software developers' perceptions of productivity , 2014, SIGSOFT FSE.

[7]  Spencer Rugaber,et al.  Resumption strategies for interrupted programming tasks , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[8]  Scott P. Robertson,et al.  Proceedings of the SIGCHI Conference on Human Factors in Computing Systems , 1991 .

[9]  Robert DeLine,et al.  Evaluating cues for resuming interrupted programming tasks , 2010, CHI.

[10]  Tom DeMarco,et al.  Programmer performance and the effects of the workplace , 1985, ICSE '85.

[11]  D. Ross Jeffery,et al.  A software development productivity model for MIS environments , 1987, J. Syst. Softw..

[12]  M. Galesic,et al.  Effects of Questionnaire Length on Participation and Indicators of Response Quality in a Web Survey , 2009 .

[13]  Mik Kersten,et al.  Using task context to improve programmer productivity , 2006, SIGSOFT '06/FSE-14.

[14]  Alison Kidd,et al.  The marks are on the knowledge worker , 1994, CHI '94.

[15]  John Noll,et al.  Motivation and Autonomy in Global Software Development: An Empirical Study , 2017, EASE.

[16]  Premkumar T. Devanbu,et al.  Quality and productivity outcomes relating to continuous integration in GitHub , 2015, ESEC/SIGSOFT FSE.

[17]  Thomas Zimmermann,et al.  The Work Life of Developers: Activities, Switches and Perceived Productivity , 2017, IEEE Transactions on Software Engineering.

[18]  Emerson R. Murphy-Hill,et al.  Improving developer participation rates in surveys , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[19]  Carlos H. C. Duarte Productivity paradoxes revisited , 2016, Empirical Software Engineering.

[20]  Y. Benjamini,et al.  Controlling the false discovery rate: a practical and powerful approach to multiple testing , 1995 .

[21]  Stephen E. Humphrey,et al.  The Work Design Questionnaire (WDQ): developing and validating a comprehensive measure for assessing job design and the nature of work. , 2006, The Journal of applied psychology.

[22]  Barry W. Boehm,et al.  Calibrating the COCOMO II Post-Architecture model , 1998, Proceedings of the 20th International Conference on Software Engineering.

[23]  Emerson R. Murphy-Hill,et al.  Experiences gamifying developer adoption of practices and tools , 2014, ICSE Companion.

[24]  Emilia Mendes,et al.  Software productivity measurement using multiple size measures , 2004, IEEE Transactions on Software Engineering.

[25]  Soumitra Dutta,et al.  Software Development Productivity of European Space, Military, and Industrial Applications , 1996, IEEE Trans. Software Eng..

[26]  Richard A. Guzzo,et al.  The Effects of Psychologically Based Intervention Programs on Worker Productivity: A Meta-Analysis. , 1985 .

[27]  G. R. Finnie,et al.  Effect of system and team size on 4GL software development productivity , 1994 .

[28]  Oscar Nierstrasz,et al.  The Effect of Object-Oriented Frameworks on Developer Productivity , 1996, Computer.

[29]  Pekka Abrahamsson,et al.  Happy software developers solve problems better: psychological measurements in empirical software engineering , 2014, PeerJ.

[30]  Gina J. Medsker,et al.  RELATIONS BETWEEN WORK GROUP CHARACTERISTICS AND EFFECTIVENESS: IMPLICATIONS FOR DESIGNING EFFECTIVE WORK GROUPS , 1993 .

[31]  R. Fisher Social Desirability Bias and the Validity of Indirect Questioning , 1993 .

[32]  Stefan Wagner,et al.  A Systematic Review of Productivity Factors in Software Development , 2018, ArXiv.

[33]  A. Meade,et al.  Identifying careless responses in survey data. , 2012, Psychological methods.

[34]  P. Duguid,et al.  Balancing act: how to capture knowledge without killing it. , 2000, Harvard business review.

[35]  Harri Laihonen,et al.  SmartWoW – constructing a tool for knowledge work performance analysis , 2015 .

[36]  F. Drasgow,et al.  A Revision of the Job Diagnostic Survey: Elimination of a Measurement Artifact , 1987 .

[37]  Lena Osterhagen,et al.  Multiple Imputation For Nonresponse In Surveys , 2016 .

[38]  M. Sridevi,et al.  Employee Engagement: The Key to Improving Performance , 2010 .

[39]  Martin Neil Baily,et al.  Productivity Dynamics in Manufacturing Plants , 1992 .

[40]  Kai Petersen,et al.  Measuring and predicting software productivity: A systematic map and review , 2011, Inf. Softw. Technol..

[41]  M. A. Quaddus,et al.  Structural Equation Modelling of Large-scale Information System Application Development Productivity: the Hong Kong Experience , 2007, 6th IEEE/ACIS International Conference on Computer and Information Science (ICIS 2007).

[42]  Steven A. Murphy,et al.  The Happy-Productive Worker Thesis Revisited , 2008 .

[43]  Margaret M. Burnett,et al.  Tinkering and gender in end-user programmers' debugging , 2006, CHI.

[44]  S. L. Pfleeger,et al.  Model of software effort and productivity , 1991 .