Global Software Development 17-609

Summer 2006, 9 Units

Thursdays, 1:30-4:20 PM, NSH 1305

Syllabus at

Instructor Office Phone Email
James Herbsleb WeH 1321 x8-8933
Office hours :  Send email to set up a time.

Course Description

Software development is increasingly a globally-distributed undertaking. Searching for talent across national boundaries, and integrating groups thrown together by mergers and acquisitions are but two of the many forces conspiring to fundamentally change the organizational context of software development.  The skills that allow developers and managers to thrive in this milieu are among the most important in today's development organizations.  This course covers topics that are essential to be effective team members, leaders, and managers of globally-distributed projects.  


I.  Each student will be required to act as discussion leader for one session.  Acting as discussion leader includes

        A brief presentation at the beginning of class bringing out the interesting points of the work for discussion.

        Moderating the discussion in class.

II.  Case study analyses.  Several of our sessions will be based on discussion and analysis of relevant cases.  As part of the reading for these sessions, we will have a fairly detailed actual case that illustrates some of the challenges in a particular topic area.  Students will prepare a written analysis of the case before class, and come to class prepared to discuss it.  

III. Written assignments.  Several of our sessions will be based on discussion questions.  Students will prepare written answers before class, and come to class prepared to discuss them.  

All written assignments should be submitted through blackboard prior to class on the due date.

Grading (tentative)

There will be no exams. Preparation of cases and written responses to discussion questions will count for 50% of the course grade.  Class participation is 30% of the grade, and leading discussions will count for 20%. 


The course one assigned text. All other required readings are available as links from the course syllabus. Most are available only from CMU domains.  Consequently,  you either must be logged in to a machine with a CMU IP address, or  use CMU's VPN.  

June 1: Intro to Global Software Development (presentation slides)

Carmel, Chapters 1-3

Curtis, B., Krasner, H., & Iscoe, N. (1988).  A Field Study of the Software Design Process for Large Systems.  Communications of the ACM, 31(11), pp. 1268-1287.

Herbsleb, J. D. & Grinter, R. E.  (1999).  Splitting the Organization and Integrating the Code: Conway's Law Revisited. In proceedings, International Conference on Software Engineering, pages 85-95, Los Angeles, CA, May 16-22.

Herbsleb, J.D. & Mockus, A. (2003).  An Empirical Study of Speed and Communication in Globally-Distributed Software Development.  IEEE Transactions on Software Engineering, 29 (6), pp. 1-14.

June 8: Teams and Organization (presentation slides)

Thompson, L. L. (2003). Making the team: A guide for managers (2nd ed.). Saddle River, NJ: Pearson/Prentice Hall. Chapter 2: Performance and productivity. Chapter 4. Building the team: Tasks, People, and Relationships.

Grinter, R.E., Herbsleb, J.D., Perry, D.E. (1999).  The Geography of Coordination: Dealing with Distance in R&D Work.  In proceedings, ACM Conference on Supporting Group Work (GROUP 99), Phoenix, AZ, November 14-17, pp. 306-315.

Constantine, L. (1993). Work organization: Paradigms for project management and organization.  Communications of the ACM, 36(10), pp. 35-43.

HBS case study: How do you manage an offsite team?

June 15: Architectures and Coordination (presentation slides)

Henderson, R.M. & Clark, K.B.  (1990).  Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms. Administrative Science Quarterly, 35 (1), pp. 9-30.  

Cataldo, M., Wagstrom, P., Herbsleb, J., & Carley, K.  (2006). Identification of Coordination Requirements: Implications for the Design of Collaboration and Awareness Tools.  To appear in Proceedings, ACM Conference on Computer-Supported Cooperative Work, Banff, Alberta, Canada, November 4-8.  

Mullick, et al.  (2006).  Siemens Global Studio Project: Experiences Adopting an Integrated GSD Infrastructure.  To appear in Proceedings, International Conference on Global Software Engineering, Florianopolis, Brazil, Oct. 16-19.  

Bass, L., Clements, P., & Kazman, R.  (2003).  Flight Simulation: A Case Study in an Architecture for Integrability, in L. Bass, P. Clements, & R. Kazman, Software Architecture in Practice, 2d. ed., pp. 175-200.

Carmel, Chapter 9 (Optional).

June 22: Distributed Development Environments (final) 

Carmel, Chapter 7.

Estublier, J.  (2000).  Software configuration management: a roadmap.  In Proceedings of the Conference on the Future of Software Engineering, International Conference on Software Engineering, Limerick, Ireland, pp. 279-289.

Handel, M. & Herbsleb, J.D (2002).  What is Chat Doing in the Workplace?   Proceedings of ACM Conference on Computer-Supported Cooperative Work (CSCW), New Orleans, LA, pp. 1-10.

Sarma, A., Noroozi, Z. & van der Hoek, A. (2003).  Palantír: Raising Awareness among Configuration Management Workspaces.  In proceedings, International Conference on Software Engineering, Portland, OR,  May 3-10, pp. 444-454.

HBS case: Wikis at Dresdner Kleinwort Wasserstein

June 29: Lessons from Open Source Projects (final) (Julian Missig)

Mockus, A., Fielding, R.T., & Herbsleb, J.D.  (2002).  Two Case Studies of Open Source Software
Development: Apache and Mozilla.  ACM Transactions on Software Engineering and Methodology, 11 (3), pp. 309–346.

Gutwin, C., Penner, R., & Schneider, K.  (2004).  Group Awareness in Distributed Software Development.  In Proceedings of the ACM Conference on Computer-Supported Cooperative Work, Chicago, IL, Nov. 6-10, pp.l 72-81.  

von Hippel, E. & von Krogh, G. (2003). Open Source Software and the “Private-Collective” Innovation Model: Issues for Organization Science.  Organization Science, 14 (2), pp. 209-223.  

July 6: Challenges of Culture (tentative) (Clinton Jenkins)

Carmel, Chapter 5.  

Hofstede, G.  (1997).  Cultures and Organizations Ch.1.  New York: McGraw-Hill.

Armstrong, D., & Cole, P. (2002). Managing distances and differences in geographically distributed work groups. In P. Hinds & S. Kiesler (Eds.) Distributed work (pp. 167-186). Cambridge, MA: MIT Press.

Setlock, L. D., Fussell, S. R., & Neuwirth, C. (2004). Taking it out of context: Collaborating within and across cultures in face-to-face settings and via instant messaging. Proceedings of CSCW 2004 (pp. 604-613). NY: ACM Press.

UHK Case: Establishing an ECL Culture in China

July 13: The Outsourcing Relationship (final)

Kobitzsch, W., Rombach, D. & Feldmann, R.L. (2001).  Outsourcing in India.  IEEE Software, March/April, pp. 78-96.

Heeks, R., Krishna, S., Nicholson, B., & Sahay, S.  (2001).  Synching or Sinking: Global Software Outsourcing Relationships.  IEEE Software, March/April, pp. 54-60.

Hefley, W.E. & Loesche, E. A.  (2006).  The eSourcing Capability Model for client organizations (eSCM-CL): Model overview.  Working paper CMU-ITSQC-WP-06-001, Carnegie Mellon University, Feb. 28.

Elaine B. Hyder, Keith M. Heston, and Mark C. Paulk (2004).  “The eSourcing Capability Model for Service Providers v2: Model Overview,” Carnegie Mellon University, Institute for Software Research International, CMU-ISRI -04-113..

July 20: Facilitating Cross-site Trust, Cooperation, and Social Capital (final) (Yudi Nagata)

 Jarvenpaa, S.L. & Leidner, D.E. (1999).  Communication and Trust in Global Virtual Teams.  Organization Science, 10 (6), pp. 791-815.

Bradner, E. & Mark, G. (2002).  Why Distance Matters: Effects on Cooperation, Persuasion and Deception.  In proceedings, ACM Conference on Computer-Supported Cooperative Work, New Orleans, LA, Nov. 16-20, pp. 226 - 235.  

Resnick, P. (2000) Beyond bowling together: Sociotechnical capital. Chapter 29 in HCI in the new millenium, edited by John M. Carroll. Addison-Wesley. 2001, pages 247-272. 

McKnight, D.H., Cummings, L.L., & Chervany, N.L.  (1998).  Initial Trust Formation in New Organizational Relationships.  Acacemy of Management Review, 23(3), pp. 473-490.

July 27: Social Networks and Knowledge Networks (final) (Chris Nelson)

Case: Siemens ShareNet

Allen, T. (1977). Managing the flow of technology. Cambridge, MA: MIT Press. pp. 141-181.

Mockus, A. & Herbsleb, J.D. (2002).  Expertise Browser: A Quantitative Approach to Identifying Expertise.  In Proceedings, International Conference on Software Engineering, Orlando, FL, May 19-25, pp. 503-512.

Ahuha, M.K. & Carley, K.M.  (1999).  Network structure in virtual organizations.  Organization Science 10 (6), pp. 741-757.  

August 3:  Communication and Awareness (final) (Ricardo Vazquez-Reyes)

Olson, G.M. & Olson, J.S.  (2000).  Distance Matters.  Human-Computer Interaction, 15, pp. 139-178.

Clark, Herbert H. & Brennan, Susan E. (1991). Grounding in communication. In L. B. Resnick, R. M. Levine, & S. D. Teasley (eds.). Perspectives on socially shared cognition. (pp. 127-149). Washington, DC: American Psychological Association.

Kraut, R.E. & Streeter, L.A. (1995).  Coordination in Software Development.  Communications of the ACM, 38 (3), pp. 69-81.

Damian, D.E.H., Eberlein, A., Shaw, M.L.G., & Gaines, B.R.  (2000).  Using Different Communication Media in Requirements Negotiation.  IEEE Software, May/June, pp. 28-36.  

August 10: Assessing Coordination Risk (final)

Herbsleb, J.D., Paulish, D.J., & Bass, M. (2005).  Global Software Development at Siemens: Experience from Nine Projects.  In proceedings, International Conference on Software Engineering, St. Louis, MO, May 15-21, 524-533.

Boehm, B.W. (1991).  Software Risk Management: Principles and Practices.  IEEE Software, Jan., pp. 32-41.  

Carmel, E. & Agarwal, R.  (2001).  Tactical Approaches for Alleviating Distance in Global Software Development.  IEEE Software, March/April, pp. 22-29.

Herbsleb, J., Paulish, D., Bass, M., Lescher, C., & Chang, K. (2006). Coordination Risk in GSD Projects, Technical Report CMU-ISRI-06-100, Carnegie Mellon University.

Readings: Book

Carmel, E.  Global Software Teams: Collaborating Across Borders and Time Zones.  Upper Saddle River, NJ: Prentice Hall, 1999.  

Other Readings

Battin, R.D, Crocker, R., Kreidler, J., & Subramanian, K. (2001).  Leveraging Resources in Global Software Development.  IEEE Software, March/April, pp. 70-77.  

Grabowski, M. & Roberts, K.H.  (1999).  Risk mitigation in virtual organizations.  Organization Science, 10 (6), pp. 704-721.