Coordination Implications of Software Architecture in a Global Software Development Project

In this paper, we report on our experience assessing the relationship between the dependency structure of a software architecture and the coordination needs among distributed development teams. We use as a case study for global software development the Global Studio Project Version 3.0, where matrix models were used to represent both architectural dependencies and the coordination structure among the team members. Analysis of data gathered during the Global Studio Project Version 3.0 revealed that design structure matrix (DSM) models representing the modular structure of the software architecture are highly consistent with the social network matrix models that represent the actual coordination structure. We conclude that DSM modeling can help guide the task assignments in global software development projects.

[1]  Alberto Avritzer,et al.  Process Investigations for the Global Studio Project Version 3.0 , 2007, International Conference on Global Software Engineering (ICGSE 2007).

[2]  Raghvinder S. Sangwan,et al.  Global software development handbook , 2006 .

[3]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[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]  Richard C. Holt,et al.  Software architecture recovery using Conway's law , 1998, CASCON.

[6]  Vittorio Cortellessa,et al.  Integrating Software Models and Platform Models for Performance Analysis , 2007, IEEE Transactions on Software Engineering.

[7]  Yuanfang Cai,et al.  Design Rule Hierarchies and Parallelism in Software Development Tasks , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[8]  M. E. Conway HOW DO COMMITTEES INVENT , 1967 .

[9]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[10]  Jan Venselaar,et al.  DESIGN RULES , 1999 .

[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]  Kim B. Clark,et al.  The Option Value of Modularity in Design: An Example From Design Rules, Volume 1: The Power of Modularity , 2000 .

[13]  James D. Herbsleb,et al.  Global Software Engineering: The Future of Socio-technical Coordination , 2007, Future of Software Engineering (FOSE '07).

[14]  D. V. Steward,et al.  The design structure system: A method for managing the design of complex systems , 1981, IEEE Transactions on Engineering Management.

[15]  Kerry Arlt,et al.  Bass , 1985 .

[16]  Elaine J. Weyuker,et al.  Experience Developing Software Using a Globally Distributed Workforce , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[17]  Yuanfang Cai,et al.  Modularity Analysis of Logical Design Models , 2006, 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06).

[18]  Yuanfang Cai,et al.  Modularity in design: formal modeling and automated analysis , 2006 .

[19]  James D. Herbsleb,et al.  Architectural Misalignment: An Experience Report , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[20]  Steven D. Eppinger,et al.  Model-based Approaches to Managing Concurrent Engineering , 1991 .

[21]  Richard C. Holt,et al.  Reconstructing ownership architectures to help understand software systems , 1999, Proceedings Seventh International Workshop on Program Comprehension.

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

[23]  Len Bass,et al.  Architecture-Centric Software Project Management: A Practical Guide , 2002 .