Bridging, Patching and Keeping the Work Flowing: Defect Resolution in Distributed Software Development

This paper reports on results from a long-term field study of globally distributed software development projects within a multinational organization. The research explores the issues involved in performing global software development, utilizing a perspective informed by CSCW research concerning the local organization of work practices and the key role of workers in being able to intervene in the ‘flow of work’ where necessary. The paper also raises some more general questions concerning the field of Global Software Development (GSD), in terms of the concepts and methods being used in the area. Our contribution is in the form of a CSCW-informed empirical study of the use of defect (or ‘bug’) tracking systems—systems which support the identification, classification and resolution of defects in the emerging software. In one case, the team persisted with a defect tracking system that they had used for years and maintained it in parallel with a system used by co-workers in other countries—all the while attempting to implement a bridge between the two. In the other, we report on how local software patches were created to allow for local work to proceed while not interfering with the existing coordination mechanisms between the local site and remote co-workers who were responsible for creating daily builds according to the overall project plan. In both cases, local practices were shaped by the necessity to keep work flowing across the whole project, even if this involved what might, at first sight, seem to go against project-wide practice. We discuss implications of these findings in terms of a key distinction between externally-prescribed ‘workflow’ and internally-managed ‘flow of work’ activities. We also explore how a heterogeneous ‘assembly’ of variably coupled systems may be the most appropriate image for technological support of distributed teams as they keep the work flowing in an orderly fashion. Overall, our work suggests that studies of global software development can profit from the CSCW tradition of workplace studies both conceptually and methodologically.

[1]  Christine Halverson,et al.  Designing task visualizations to support the coordination of work in software development , 2006, CSCW '06.

[2]  Volker Wulf,et al.  Articulation work in small-scale offshore software development projects , 2008, CHASE.

[3]  Deependra Moitra Keynote: Meeting Complexities Head-On: Leveraging Global Software Development for Competitiveness , 2008, ICGSE.

[4]  Daniela E. Damian,et al.  Guest Editors' Introduction: Global Software Development: How Far Have We Come? , 2006, IEEE Software.

[5]  Harold Thimbleby,et al.  Proceedings of HCI on People and Computers XII , 1997 .

[6]  David F. Redmiles,et al.  An empirical study of software developers' management of dependencies and changes , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[7]  Dave W. Randall,et al.  Ambiguities, Awareness and Economy: A Study of Emergency Service Work , 2004, Computer Supported Cooperative Work (CSCW).

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

[9]  Erran Carmel,et al.  Tactical Approaches for Alleviating Distance in Global Software Development , 2001, IEEE Softw..

[10]  Wes Sharrock,et al.  Occasioned practices in the work of software engineers , 1994 .

[11]  Yvonne Dittrich,et al.  When Plans do not Work Out: How Plans are Used in Software Development Projects , 2005, Computer Supported Cooperative Work (CSCW).

[12]  Charlotte P. Lee,et al.  Between Chaos and Routine: Boundary Negotiating Artifacts in Collaboration , 2005, ECSCW.

[13]  Sundeep Sahay,et al.  Managing cross-cultural issues in global software outsourcing , 2004, CACM.

[14]  John Bowers,et al.  Workflow From Within and Without: Technology and Cooperative Work on the Print Industry Shopfloor , 1995, ECSCW.

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

[16]  Paul Dourish,et al.  Implications for design , 2006, CHI.

[17]  James D. Herbsleb,et al.  The geography of coordination: dealing with distance in R&D work , 1999, GROUP.

[18]  J.D. Herbsleb,et al.  Beyond computer science , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[19]  Susanne Bødker,et al.  Technology for boundaries , 2003, GROUP.

[20]  Wes Sharrock,et al.  Project work: The organisation of collaborative design and development in software engineering , 1996, Computer Supported Cooperative Work (CSCW).

[21]  Brian Nicholson,et al.  Global IT Outsourcing: Software Development across Borders , 2003 .

[22]  Rebecca E. Grinter Using a configuration management tool to coordinate software development , 1995, COCS '95.

[23]  Ita Richardson,et al.  Practical experience of virtual team software development , 2004 .

[24]  J. Herbsleb,et al.  Global software development , 2001 .

[25]  Susan Leigh Star,et al.  Institutional Ecology, `Translations' and Boundary Objects: Amateurs and Professionals in Berkeley's Museum of Vertebrate Zoology, 1907-39 , 1989 .

[26]  Kjeld Schmidt,et al.  CSCW: Four Characters in Search of a Context , 1989, ECSCW.

[27]  Mark S. Ackerman,et al.  Achieving safety: a field study of boundary objects in aircraft technical support , 2002, CSCW '02.

[28]  Christof Ebert,et al.  Surviving Global Software Development , 2001, IEEE Softw..

[29]  Steve Benford,et al.  Assembling History: Achieving Coherent Experiences with Diverse Technologies , 2003, ECSCW.

[30]  Janice Singer,et al.  For the Special issue on Qualitative Software Engineering Research , 2007, Inf. Softw. Technol..

[31]  David B. Martin,et al.  The Interactional Affordances of Technology: An Ethnography of Human-Computer Interaction in an Ambulance Control Centre , 1997, BCS HCI.

[32]  Pär J. Ågerfalk,et al.  Agile Practices Reduce Distance in Global Software Development , 2006, Inf. Syst. Manag..

[33]  Janice Singer,et al.  How software engineers use documentation: the state of the practice , 2003, IEEE Software.

[34]  C LethbridgeTimothy,et al.  How Software Engineers Use Documentation , 2003 .

[35]  Liam J. Bannon,et al.  Constructing Common Information Spaces , 1997, ECSCW.

[36]  John Bowers,et al.  Assembling the senses: towards the design of cooperative interfaces for visually impaired users , 2004, CSCW.

[37]  Kari Kuutti,et al.  Remembering past, present and future—articulating dimensions of “organizational memory” for organizational learning , 1996, SIGO.

[38]  A. Young Sorting Things Out: Classification and Its Consequences. , 2001 .

[39]  Neil Pollock,et al.  When Is a Work-Around? Conflict and Negotiation in Computer Systems Development , 2005 .

[40]  Janice Singer,et al.  An examination of software engineering work practices , 1997, CASCON.

[41]  Jason Cleverly,et al.  Creating assemblies:: aboard the Ghost Ship , 2002, CSCW '02.

[42]  Lorne Olfman,et al.  Organizational Memory , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[43]  Christian Heath,et al.  Collaboration and controlCrisis management and multimedia technology in London Underground Line Control Rooms , 1992, Computer Supported Cooperative Work (CSCW).

[44]  Lucy Suchman Plans and situated actions: the problem of human-machine communication , 1987 .

[45]  Rebecca E. Grinter Supporting articulation work using software configuration management systems , 1996, Computer Supported Cooperative Work (CSCW).