Architecture leadership and management in globally distributed software development

  • Authors:
  • Raghvinder S. Sangwan;Johannes Ros

  • Affiliations:
  • Pennsylvania State University, Malvern, PA, USA;Siemens Corporate Research, Princeton, NJ, USA

  • Venue:
  • Proceedings of the first international workshop on Leadership and management in software architecture
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.