Chapter 20. Identifying and Managing Dependencies in Global Software Development

Marcelo Cataldo

Global software development (GSD) is becoming commonplace. The promise of lower costs, access to talent, and the opening of new markets has led large corporations as well as smaller ones to embark on GSD efforts. However, pulling together the work of tens or hundreds of geographically distributed project members towards a successful outcome is easier said than done. Coordinating design and development work in a GSD setting is quite challenging. For instance, there are numerous examples where new products never see the light of day or where it takes double the amount of time to develop a system. Fortunately, over the past two decades we have learned a lot about making GSD work better.

This chapter has two goals. First, we draw from a wide range of empirical studies to show that effectively coordinating development work in GSD settings involves combining an understanding of the technical and socio-organizational dimensions of software development projects. Then, we discuss how the empirical evidence can be put into action through a collection of pragmatic approaches applicable to various roles and phases of GSD projects.

The content of the chapter is woven together by the idea of socio-technical congruence (STC). So before we proceed, we briefly introduce the concept. STC refers to the relationships between the coordination needs that emerge from the technical context of a development project ...

Get Making Software now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.