The Impact of the Structure of Communication Patterns in Global Software Development : An Empirical Analysis of a Project Using Agile Methods

Successful software development depends on effective communication within and across teams. Structural properties of communication have long been recognized as important drivers of project performance. However, the empirical results are mixed in terms of which particular communication structures are effective in the context of geographically distributed projects. In this paper, we examined the role of hierarchy and small-world communication structures on iteration performance and quality in a large distributed commercial software project that used agile methods. We measured iteration performance by the number of work items that needed to be rescheduled to a later iteration. There was a strong positive effect for hierarchy but a marginal negative effect for small-worlds. We measured quality by the number of defects that resulted from the work done during an iteration. There was a negative effect for hierarchy but a very strong positive effect for small-worlds. The impact of communication structure remained strong and significant even after taking into consideration the effect of dependencies and other control factors. We discuss the implications of these results for research and practice.

[1]  S. Weisband Leadership at a Distance: Research in Technologically-Supported Work , 2007 .

[2]  Estelle Brodman,et al.  Managing the Flow of Technology: Technology Transfer and the Dissemination of Technological Information Within the R&D Organization (Book Review) , 1978 .

[3]  B. Uzzi,et al.  Collaboration and Creativity: The Small World Problem1 , 2005, American Journal of Sociology.

[4]  James D. Herbsleb,et al.  Socio-technical congruence: a framework for assessing the impact of technical and work dependencies on software development productivity , 2008, ESEM '08.

[5]  Pamela J. Hinds,et al.  Structures that work: social structure, work structure and coordination ease in geographically distributed teams , 2006, CSCW '06.

[6]  Patricia E. Tweet Brokerage and Closure: An Introduction to Social Capital , 2006 .

[7]  Audris Mockus,et al.  Software Dependencies, Work Dependencies, and Their Impact on Failures , 2009, IEEE Transactions on Software Engineering.

[8]  James D. Herbsleb,et al.  Configuring global software teams: a multi-company analysis of project productivity, quality, and profits , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[9]  Kate Ehrlich,et al.  Leveraging expertise in global software teams: Going outside boundaries , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[10]  Daniela E. Damian,et al.  Predicting build failures using social network analysis on developer communication , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[11]  Wallace J. Hopp,et al.  The Impact of Misalignment of Organizational Structure and Product Architecture on Quality in Complex Product Development , 2010, Manag. Sci..

[12]  Kevin Crowston,et al.  The social structure of free and open source software development , 2005, First Monday.

[13]  James D. Herbsleb,et al.  Communication patterns in geographically distributed software development and engineers' contributions to the development effort , 2008, CHASE.

[14]  D. Krackhardt Graph theoretical dimensions of informal organizations , 1994 .

[15]  J. Coleman Foundations of Social Theory , 1990 .

[16]  J. Alberto Espinosa,et al.  Learning from Experience in Software Development: A Multilevel Analysis , 2007, Manag. Sci..

[17]  Barry W. Boehm,et al.  Empirical Findings in Agile Methods , 2002, XP/Agile Universe.

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

[19]  Nachiappan Nagappan,et al.  Predicting defects with program dependencies , 2009, ESEM 2009.

[20]  Marcelo Cataldo,et al.  On the relationship between process maturity and geographic distribution: an empirical analysis of their impact on software quality , 2009, ESEC/FSE '09.

[21]  James D. Herbsleb,et al.  COMMUNICATION, TEAM PERFORMANCE, AND THE INDIVIDUAL: BRIDGING TECHNICAL DEPENDENCIES. , 2010 .

[22]  Li-Te Cheng,et al.  How a good software practice thwarts collaboration: the multiple roles of APIs in software development , 2004, SIGSOFT '04/FSE-12.

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

[24]  Randall Frost,et al.  Jazz and the Eclipse Way of Collaboration , 2007, IEEE Software.

[25]  L. Argote Organizational Learning: Creating, Retaining and Transferring Knowledge , 1999 .

[26]  Premkumar T. Devanbu,et al.  Latent social structure in open source projects , 2008, SIGSOFT '08/FSE-16.

[27]  James D. Herbsleb,et al.  Identification of coordination requirements: implications for the Design of collaboration and awareness tools , 2006, CSCW '06.

[28]  Mark Newman,et al.  Models of the Small World , 2000 .

[29]  K. Eisenhardt,et al.  PRODUCT DEVELOPMENT: PAST RESEARCH, PRESENT FINDINGS, AND FUTURE DIRECTIONS , 1995 .

[30]  Duncan J. Watts,et al.  Collective dynamics of ‘small-world’ networks , 1998, Nature.

[31]  Marcelo Cataldo,et al.  The impact of geographic distribution and the nature of technical coupling on the quality of global software development projects , 2012, J. Softw. Maintenance Res. Pract..

[32]  Kathleen M. Carley,et al.  ORA: Organization Risk Analyzer , 2004 .