The interdisciplinary study of coordination
ACM Computing Surveys (CSUR)
Coordination in software development
Communications of the ACM
Software Architecture in Practice
Software Architecture in Practice
Siemens Global Studio Project: Experiences Adopting an Integrated GSD Infrastructure
ICGSE '06 Proceedings of the IEEE international conference on Global Software Engineering
The World Is Flat [Updated and Expanded]: A Brief History of the Twenty-first Century
The World Is Flat [Updated and Expanded]: A Brief History of the Twenty-first Century
Managing software development in globally distributed teams
Communications of the ACM - Alternate reality gaming
Making Practical Use of Quality Attribute Information
IEEE Software
Integrating a software architecture-centric method into object-oriented analysis and design
Journal of Systems and Software
Software Architecture Evaluation in Global Software Development Projects
OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009
Trust dynamics in global software engineering
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
Challenges and improvements in distributed software development: a systematic review
Advances in Software Engineering
Hi-index | 0.00 |
Globally distributed software development is inherently difficult. The fundamental problem is that communication, coordination and control mechanisms that operate so naturally and invisibly in co-located projects are not available or not as effective for distributed teams. Maintaining a shared up-to-date understanding of the system under design among distributed teams separated by physical, temporal, and cultural distances, therefore, becomes challenging. Under such circumstances the role of a project architect takes on an added significance. The architect must bridge the gaps that exist among the distributed teams especially those with interrelated tasks. Bridging gaps across teams requires proactive effort to create, among distributed teams, a shared level of understanding of the system context, its problem domain and an overarching vision of the system to be designed. We call this a shared project context. Establishing a shared project context goes a long way in creating architectural artifacts, understanding dependencies across software elements of the architecture and the allocation of their development to the distributed teams. Lack of such a context leads to the creation of multiple realities promoting ignorance, confusion and frustration, which subsequently undermine mutual trust and make inter-team communications less effective. This vicious cycle leads to dysfunctional teams, inefficiencies in the project and ultimately to poorly designed architectures.