Everyone who has experienced it knows that developing software in teams that are distributed around the world can be a difficult and frustrating experience. In this section, we will talk about the nature of the problem, the layout of the course, and develop a framework for thinking about the many facets of global development.
Our starting point is the connection between software architectures and development organizations. The fundamental relationship is often called “Conway’s Law” or “the Mirroring Hypothesis.” It is the idea that the structure of the product necessarily resembles the structure of the organization. We will explore this fundamental relationship and see why, although important, it is just the visible part of the iceberg. Change — changing architecture, changing requirements, product evolution — introduces very thorny complications into the task of coordinating the work.
Conway, M. E. How Do Committees Invent? Datamation, 14, 4 (1968), 28-31.
Herbsleb, J. D. and Grinter, R. E. Architectures, Coordination, and Distance: Conway’s Law and Beyond. IEEE Software, Sept./Oct.(1999), 63-70.
Bass, M., Herbsleb, J. D. and Lescher, C. (2007). Collaboration in global software projects at siemens: An experience report. In Proceedings, International Conference on Global Software Engineering, Munich, Germany, pp. 33-39.
Battin, R. D., Crocker, R., Kreidler, J. and Subramanian, K. Leveraging Resources in Global Software Development. IEEE Software, 18, 2 (2001), 70-77.
Bird, C., Nagappan, N., Devanbu, P., Gall, H. and Murphy, B. Does distributed development affect software quality?: an empirical case study of Windows Vista. Communications of the ACM, 52, 8 (2009), 85-93. (See also the Technical Perspective that introduces the paper.)
Carmel, E. Global Software Teams. Prentice-Hall, Upper Saddle River, NJ, 1999.
Carmel, E. and Agarwal, R. Tactical Approaches for Alleviating Distance in Global Software Development. IEEE Software, March/April(2001), 22-29.
Damian, D. and Moitra, D. Global Software Development: How Far Have We Come? IEEE Software, 23, 5 (2006), 17-19.
Damian, D. Stakeholders in global requirements engineering: Lessons learned from practice. Software, IEEE, 24, 2 (2007), 21-27.
Herbsleb, J. D., Paulish, D. J. and Bass, M. (2005). Global Software Development at Siemens: Experience from Nine Projects In Proceedings, International Conference on Software Engineering, St. Louis, MO, pp. 524-533.
Herbsleb, J. D. and Moitra, D. Global Software Development. IEEE Software, March/April(2001), 16-20.
Herbsleb, J. D. and Mockus, A. An Empirical Study of Speed and Communication in Globally-Distributed Software Development. IEEE Transactions on Software Engineering, 29, 3 (2003), 1-14.
Herbsleb, J. D. (2007). Global Software Engineering: The Future of Socio-technical Coordination. In Proceedings, International Conference on Software Engineering, Minneapolis, MN, pp. 188-198.
Mockus, A. and Weiss, D. M. Globalization by chunking: a quantitative approach. IEEE Software, 18, 2 (2001), 30-37.
Sangwan, R., Bass, M., Mullick, N., Paulish, D. and Kazmeier, J. Global Software Development Handbook. Auerbach Publications, Boca Raton, FL, 2006.