Globally distributed software development project performance: an empirical analysis

Software firms are increasingly distributing their software development effort across multiple locations. In this paper we present the results of a two year field study that investigated the effects of dispersion on the productivity and quality of distributed software development. We first develop a model of distributed software development. We then use the model, along with our empirically observed data, to understand the consequences of dispersion on software project performance. Our analysis reveals that, even in high process maturity environments, a) dispersion significantly reduces development productivity and has effects on conformance quality, and b) these negative effects of dispersion can be significantly mitigated through deployment of structured software engineering processes.

[1]  Audris Mockus,et al.  Distance, dependencies, and delay in a global collaboration , 2000, CSCW '00.

[2]  W. Deming Quality, productivity, and competitive position , 1982 .

[3]  M. S. Krishnan,et al.  An Empirical Analysis of Productivity and Quality in Software Products , 2000 .

[4]  Robert J. Kauffman,et al.  Reuse and Productivity in Integrated Computer-Aided Software Engineering: An Empirical Study , 1991, MIS Q..

[5]  Philip B. Crosby,et al.  Quality Is Free: The Art of Making Quality Certain , 1979 .

[6]  M. Maznevski,et al.  Bridging Space Over Time: Global Virtual Team Dynamics and Effectiveness , 2000 .

[7]  Erran Carmel,et al.  The Maturation of Offshore Sourcing of Information Technology Work , 2002, MIS Q. Executive.

[8]  L. Sproull,et al.  Coordinating Expertise in Software Development Teams , 2000 .

[9]  Srikant M. Datar,et al.  Models for measuring and accounting for cost of conformance quality , 1993 .

[10]  Gordon B. Davis,et al.  Software Development Practices, Software Complexity, and Software Maintenance Performance: a Field Study , 1998 .

[11]  J.D. Herbsleb,et al.  Global software development at Siemens: experience from nine projects , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[12]  F. Scherer,et al.  Industrial Market Structure and Economic Performance. , 1971 .

[13]  Judith S. Olson,et al.  Distance Matters , 2000, Hum. Comput. Interact..

[14]  C. Cramton The Mutual Knowledge Problem and Its Consequences for Dispersed Collaboration , 2001 .

[15]  Watts S. Humphrey,et al.  Characterizing the software process: a maturity framework , 1988, IEEE Software.

[16]  Audris Mockus,et al.  An Empirical Study of Speed and Communication in Globally Distributed Software Development , 2003, IEEE Trans. Software Eng..

[17]  J. MacKinnon,et al.  Estimation and inference in econometrics , 1994 .

[18]  Jos van Hillegersberg,et al.  Aligning IT components to achieve agility in globally distributed system development , 2006, CACM.

[19]  James D. Herbsleb,et al.  Guest Editors' Introduction: Global Software Development , 2001, IEEE Softw..

[20]  Audris Mockus,et al.  An empirical study of global software development: distance and speed , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[21]  Rajiv D. Banker,et al.  A model to evaluate variables impacting the productivity of software maintenance projects , 1991 .

[22]  Charles H. Fine A Quality Control Model with Learning Effects , 1988, Oper. Res..

[23]  Rajiv D. Banker,et al.  Scale Economies in New Software Development , 2013, IEEE Transactions on Software Engineering.

[24]  Frances Cairncross The death of distance : how the communications revolution will change our lives , 1997 .

[25]  Peng Xu,et al.  Can distributed software development be agile? , 2006, CACM.

[26]  G. Pisano Knowledge Integration and the Locus of Learning: An Empirical Analysis , 1994 .

[27]  Narayan Ramasubbu,et al.  Leveraging global resources: a process maturity framework for managing distributed development , 2005, IEEE Software.

[28]  Mayuram S. Krishnan,et al.  Measuring Process Consistency: Implications for Reducing Software Defects , 1999, IEEE Trans. Software Eng..

[29]  Rajiv D. Banker,et al.  The Moderating Effects of Structure on Volatility and Complexity in Software Enhancement , 2000, Inf. Syst. Res..

[30]  Erran Carmel,et al.  Global software teams: collaborating across borders and time zones , 1999 .

[31]  William E. Hefley,et al.  People Capability Maturity Model. SM. , 1995 .

[32]  Michael A. Cusumano,et al.  Trade-offs between Productivity and Quality in Selecting Software Development Practices , 2003, IEEE Softw..

[33]  Audris Mockus,et al.  Globalization by Chunking: A Quantitative Approach , 2001, IEEE Softw..

[34]  Mayuram S. Krishnan,et al.  Evaluating the cost of software quality , 1998, CACM.

[35]  Brian Lings,et al.  Distributed development in an intra-national, intra-organisational context: an experience report , 2006, GSD '06.

[36]  Mayuram S. Krishnan,et al.  Effects of Process Maturity on Quality, Cycle Time, and Effort in Software Product Development , 2000 .

[37]  Sirkka L. Jarvenpaa,et al.  Communication and Trust in Global Virtual Teams , 1999 .

[38]  Chris F. Kemerer,et al.  Reliability of function points measurement: a field experiment , 2015, CACM.

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

[40]  Mayuram S. Krishnan,et al.  The role of software processes and communication in offshore software development , 2002, CACM.

[41]  Sandra Slaughter,et al.  Quality Improvement and Infrastructure Activity Costs in Software Development: A Longitudinal Analysis , 2003, Manag. Sci..

[42]  Mayuram S. Krishnan,et al.  The role of team factors in software cost and quality: An empirical analysis , 1998, Inf. Technol. People.

[43]  Bill Curtis,et al.  The global pursuit of process maturity , 2000 .