Communication and collaboration is difficult in geographically distributed settings. As a result of globalization, merges and acquisition, and scarce skills, software development projects are increasingly more distributed. Hence, teaching software engineering students how to cope with distribution becomes a critical issue. This paper describes our experience with teaching three distributed software engineering project courses. Students from Carnegie Mellon University in Pittsburgh, USA and from Technische Universität München in Munich, Germany, collaborated to specify, design, and realize software for a real client located at a third site. In doing so, students were exposed first hand to distribution issues, encountering challenges introduced by different cultures, languages, standards, and time zones, and facing them with tools such as groupware, videoconferencing, distributed repositories, and travel. We conclude this paper with the lessons we learned during these three experien...
Bernd Brügge, Allen H. Dutoit, Rafael Kobylin