Global Software Development 17-609
Summer 2006, 9 Units
Thursdays, 1:30-4:20 PM, NSH 1305
Syllabus at http://conway.isri.cmu.edu/~jdh/gsd
Office hours : Send email to set up a time.
development is increasingly a globally-distributed undertaking.
Searching for talent across national
integrating groups thrown together by mergers and acquisitions are but
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
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
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.
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.
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,
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
T. (1977). Managing
the flow of technology. Cambridge, MA: MIT Press. pp.
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.
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
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.
Carmel, E. Global Software Teams: Collaborating Across Borders and Time Zones. Upper Saddle River, NJ: Prentice Hall, 1999.
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.