Using simulation to evaluate global software development task allocation strategies

We describe a hybrid computer simulation model of the software development process that is specifically architected to study alternative ways to configure global software development (GSD) projects, including phase-based, module-based, and follow-the-sun allocation strategies. The model is a hybrid system dynamics and discrete-event model. In this paper, test cases have been developed for each allocation strategy, and project duration is computed for each configuration under a range of plausible assumptions for key parameters. The primary finding is that although under ideal assumptions follow-the-sun is able to produce impressive reductions in time-to-market, under more realistic assumptions the reverse is true, thus corroborating findings by other researchers. We also conducted a factorial design to examine the impact of GSD factors including distance, culture, language, trust, and time zone on project duration under different task allocation strategies. The analysis reveals that different factors affected the performance of the selected allocation strategies in unique ways. These findings show how the unique ability of our GSD model to represent detailed development processes and work artifact transfer allows researchers to address challenging questions that are critical to GSD project success. Copyright © 2007 John Wiley & Sons, Ltd.

[1]  Randall P. Sadowski,et al.  Introduction to Simulation Using Siman , 1990 .

[2]  G. Hofstede Culture′s Consequences: Comparing Values, Behaviors, Institutions and Organizations Across Nations , 2001 .

[3]  J. Alberto Espinosa,et al.  The impact of time separation on coordination in global software teams: a conceptual foundation , 2003, Softw. Process. Improv. Pract..

[4]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

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

[6]  Dundar Kocaoglu,et al.  A hybrid model of the software development process , 2002 .

[7]  L. Kiel Experiences in Distributed Development: A Case Study , 2003 .

[8]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[9]  Ellis Horowitz,et al.  Cocomo ii model definition manual , 1998 .

[10]  R. Bhagat Culture's Consequences: Comparing Values, Behaviors, Institutions, and Organizations Across Nations , 2002 .

[11]  Tarek K. Abdel-Hamid,et al.  The Economics of Software Quality Assurance: A Simulation-Based Case Study , 1988, MIS Q..

[12]  Robert E. Kraut,et al.  Coordination in software development , 1995, CACM.

[13]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

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

[15]  M. Lynn Hawaii International Conference on System Sciences , 1996 .

[16]  William B. Gudykunst,et al.  The Influence of Cultural Individualism-Collectivism, Self Construals, and Individual Values on Communication Styles Across Cultures , 1996 .

[17]  W. Pearce Trust in interpersonal communication , 1974 .

[18]  T. Allen Managing the flow of technology , 1977 .

[19]  Jacob Nørbjerg,et al.  Global Production: The Case of Offshore Programming , 1997 .

[20]  Kunihiko Higa,et al.  Communication media choice by workers in distributed environment , 1999, Inf. Manag..

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

[22]  Dee G. Appley Beyond Culture , 1977 .

[23]  Ian Gorton,et al.  Issues in co-operative software engineering using globally distributed teams , 1996, Inf. Softw. Technol..

[24]  R. Davison Offshoring information technology: Sourcing and outsourcing to a global workforce , 2006, Electron. J. Inf. Syst. Dev. Ctries..

[25]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[26]  Lisa Finneran Software Productivity Consortium , 2002 .

[27]  I. Steiner Models for inferring relationships between group size and potential group productivity. , 1966, Behavioral science.

[28]  J. Alberto Espinosa,et al.  The effect of time separation on coordination costs in global software teams: a dyad model , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[29]  E. E. Jennings Routes to the executive suite , 1962 .

[30]  Robert L. Glass,et al.  Modern Programming Practices: A Report from Industry , 1981 .

[31]  Hiroshi Ishii,et al.  Cross-cultural communication and CSCW , 1993 .

[32]  Edward M. Roche,et al.  Global Software Teams , 1999 .

[33]  Stefan Biffl,et al.  Systematically combining process simulation and empirical data in support of decision analysis in software development , 2002, SEKE '02.

[34]  Stuart E. Madnick,et al.  Software Project Dynamics: An Integrated Approach , 1991 .

[35]  Samantha Kelly Hastings Global networks: Computers and international communication , 1995 .

[36]  Glenford J. Myers,et al.  Software Reliability: Principles and Practices , 1976 .

[37]  Arnoud Cyriel Leo,et al.  Tech Talk: How managers are stimulating global R&D communication , 1991 .

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

[39]  James D. Herbsleb,et al.  Splitting the organization and integrating the code: Conway's law revisited , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[40]  Dewayne E. Perry,et al.  People, organizations, and process improvement , 1994, IEEE Software.

[41]  Robert E. Kraut,et al.  Patterns of contact and communication in scientific research collaboration , 1990, CSCW '88.

[42]  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.