Globally distributed component-based software development: an exploratory study of knowledge management and work division

Component-based development (CBD) can be an appealing proposition to globally distributed software development teams because of the almost endless possibilities to recombine and reuse components in new products. In particular, it has been suggested that CBD will improve globally distributed software development practices by allowing each site to take ownership of particular components, resulting in reduced inter-site communication and coordination activities. Such an approach may indeed overcome breakdowns in inter-site coordination efforts; however, it may also lessen opportunities to share knowledge between sites and may hamper opportunities to reuse existing components. A case study approach, exploratory in nature, was adopted to explore knowledge aspects in global component-based software development. Evidence collected at several globally distributed CBD projects suggests that the true potential of CBD, which mainly relates to reusing components, can also be achieved when components are developed in a joint manner (i.e. by several sites) by accessing and utilizing expertise regardless of its geographical location. To improve the rate of component reuse, the studied teams developed capabilities in three particular areas: inter-site coordination, communications, and knowledge management. The paper concludes by discussing the links between component reuse, CBD principles and organizational capabilities, and offers managers and engineers some guidelines to consider in their CBD projects.

[1]  Paul Clements,et al.  From subroutines to subsystems: component-based software development , 2001 .

[2]  Michael Turnlund Distributed Development: Lessons Learned , 2003, ACM Queue.

[3]  Laurence Brooks,et al.  Assessing organisational obstacles to component-based development: a case study approach , 2000, Inf. Softw. Technol..

[4]  K. Subramanian,et al.  Leveraging Resources in Global Software Development , 2001, IEEE Softw..

[5]  J ElamJoyce,et al.  Inside a software design team , 1993 .

[6]  John Byrne,et al.  Knowledge Networks in New Product Development Projects: A Transactive Memory Perspective , 2005, Inf. Manag..

[7]  J. Alberto Espinosa,et al.  Modeling Coordination Costs Due to Time Separation in Global Software Teams , 2003 .

[8]  James D. Herbsleb,et al.  Advanced services: Changing how we communicate , 2001, Bell Labs Technical Journal.

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

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

[11]  Sirkka L. Jarvenpaa,et al.  Is Anybody Out There? Antecedents of Trust in Global Virtual Teams , 1998, J. Manag. Inf. Syst..

[12]  Michael K. Buckland,et al.  Information and information systems , 1991 .

[13]  Len Bass,et al.  Volume I: Market Assessment of Component-Based Software Engineering , 2001 .

[14]  A. Strauss,et al.  Basics of Qualitative Research , 1992 .

[15]  Joyce J. Elam,et al.  Inside a software design team: knowledge acquisition, sharing, and integration , 1993, CACM.

[16]  Noel P. Greis,et al.  Knowledge management across multi-tier enterprises: the promise of intelligent software in the auto industry , 1999 .

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

[18]  Etienne Wenger,et al.  Situated Learning: Legitimate Peripheral Participation , 1991 .

[19]  Judith S. Olson,et al.  Culture Surprises in Remote Software Development Teams , 2003, ACM Queue.

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

[21]  Kevin Crowston,et al.  Open source software projects as virtual organisations: competency rallying for software development , 2002, IEE Proc. Softw..

[22]  Fan Zhang,et al.  Optimal Transfer Trees and Distinguishing Trees for Testing Observable Nondeterministic Finite-State Machines , 2003, IEEE Trans. Software Eng..

[23]  Sue Newell,et al.  Dangerous liaisons? Component-based development and organizational subcultures , 2003, IEEE Trans. Engineering Management.

[24]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .

[25]  Karl T. Ulrich,et al.  Product Design and Development , 1995 .

[26]  Alexander Repenning,et al.  Using Components for Rapid Distributed Software Development , 2001, IEEE Softw..

[27]  Ivica Crnkovic,et al.  Challenges of component-based development , 2002, J. Syst. Softw..

[28]  R. L. Feldmann,et al.  Outsourcing in India , 2001, IEEE Softw..

[29]  A. Tenbrunsel,et al.  Organizational Behavior and Human Decision Processes , 2013 .

[30]  Padmal Vitharana Risks and challenges of component-based software development , 2003, CACM.

[31]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[32]  Dale Walter Karolak Global Software Development: Managing Virtual Teams and Environments , 1999 .

[33]  Wanda J. Orlikowski,et al.  Knowing in practice: Enacting a collective capability in distributed organizing , 2002, STUDI ORGANIZZATIVI.

[34]  R. Yin Case Study Research: Design and Methods , 1984 .

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

[36]  Suprateek Sarker,et al.  Implications of space and time for distributed work: an interpretive study of US–Norwegian systems development teams , 2004, Eur. J. Inf. Syst..

[37]  Marcus A. Rothenberger,et al.  Software reuse strategies and component markets , 2003, CACM.

[38]  Jacky Swan,et al.  Against structured approaches: information requirements analysis as a socially mediated process , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[39]  R. Moreland,et al.  Exploring the Performance Benefits of Group Training: Transactive Memory or Improved Communication? , 2000 .

[40]  Li-Te Cheng,et al.  Building Collaboration into IDEs , 2003, ACM Queue.

[41]  Soo Dong Kim Lessons learned from a nationwide CBD promotion project , 2002, CACM.

[42]  Ann Majchrzak,et al.  Radical Innovation Without Collocation: A Case Study at Boeing-Rocketdyne , 2001, MIS Q..

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

[44]  Kevin C. Desouza,et al.  Managing knowledge in distributed projects , 2004, CACM.

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

[46]  Suprateek Sarker,et al.  Understanding Virtual Team Development: An Interpretive Study , 2003, J. Assoc. Inf. Syst..

[47]  Witold Pedrycz,et al.  Software Engineering: An Engineering Approach , 1999 .

[48]  K. Eisenhardt Building theories from case study research , 1989, STUDI ORGANIZZATIVI.

[49]  Ilan Oshri,et al.  Social ties, knowledge sharing and successful collaboration in globally distributed system development projects , 2005, Eur. J. Inf. Syst..

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

[51]  Sue Newell,et al.  Component sharing in complex products and systems: challenges, solutions, and practical implications , 2005, IEEE Transactions on Engineering Management.

[52]  Marilyn M. Greenstein,et al.  Underlying principles of the electronization of business: a research agenda , 2003, Int. J. Account. Inf. Syst..

[53]  A. Majchrzak Virtual Workspace Technology Use and Knowledge-Sharing Effectiveness in Distributed Teams : The Influence of a Team ’ s Transactive Memory , 2004 .

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

[55]  F. Rafii How important is physical collocation to product development success , 1995 .

[56]  Jos van Hillegersberg,et al.  The software component market on the internet current status and conditions for growth , 2000, SOEN.

[57]  Sirkka L. Jarvenpaa,et al.  Communication and Trust in Global Virtual Teams , 1999, J. Comput. Mediat. Commun..