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.
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