Carnegie Mellon University Website Home Page

17-609 Global Software Development

Global Software Development is a 9 unit full semster course.

Software development is increasingly a globally-distributed undertaking. The search for talent across national boundaries and the integration of 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. Distributed software development organizations are also receiving attention from researchers interested in communication, collaboration, and coordination over distances. Creating trust, awareness, shared understanding, and many other essentials of teamwork typically relies on face to face interaction. Creating effective technology-mediated mechanisms to support distributed teams requires a deep understanding of how individuals come together to form teams and organizations. This course covers a set of topics that are essential to both professionals who will become participants and leaders in globally-distributed projects, as well as researchers interested in studying virtual teams, distributed organizations, and global software development.

Course topics:

  • virtual teams, distributed organizations
  • architectures and coordination
  • distributed development environments
  • lessons from open source
  • open source ecologies
  • challenges of culture
  • the outsourcing relationship
  • facilitating trust, cooperation, social capital
  • social networks and knowledge networks
  • communication and awareness
  • assessing coordination risk