Developing a Course on Designing Software in Globally Distributed Teams Patricia Lago VU University Amsterdam, Netherlands, patricia@cs.vu.nl Henry Muccini Univ. of L’Aquila, Italy muccini@di.univaq.it Muhammad Ali Babar Lero, Univ. of Limerick, Ireland Muhammad.AliBabar@lero.ie Abstract Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching “globally distributed development”, and specifi- cally software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be devel- oped, in the form of an ‘orientation map’ for educators. We use this map to build a joint course between two European universities. 1. Introduction Software engineering (SE) combines technical and so- cial skills. One of the most important social skills required in SE is collaboration among people with different back- grounds. Inter- and intra-team collaboration is becoming in- creasingly important in modern SE, which is characterized by new paradigms like outsourcing and offshoring in the context of global software development. This situation adds a further difficulty to the already difficult task of teaching realistic SE in an academic context, as well as setting up as- sociated projects. In this paper we describe our approach to developing a joint course on designing software in globally distributed teams for students from two different universi- ties as well as different cultural backgrounds. Our main goal is to develop a joint Master course on designing software in a global software development setting for students from the VU University Amsterdam (VU) and the University of L’Aquila (UDA). A joint course on designing software is expected to provide students from two countries with com- plementary knowledge about software design methods, no- tations, best practices and project management. We want our students to apply their skills and knowledge to deal with cultural differences and different aspects of collaboration in geographically distributed teams. For developing and deliv- ering a joint course for Dutch and Italian students, we have been combining the incremental and iterative approaches involving experimentation. We have performed three itera- tions during our progress towards designing and delivering a joint course. Our approach takes into account both techni- cal and non-technical backgrounds and characteristics of the students who are generally enrolled in two separate courses at two different universities. During each iteration, we have been experimenting with course curricula and logistics and getting feedback for the next iteration. The incremental and iterative approach has provided us with several opportuni- ties to learn about different aspects of teaching software design to geographically distributed teams of students and their learning patterns and requirements. We have also col- lected data about the SE background, organizational skills, and cultural differences of the students who were enrolled in two universities. Analysis of the data collected during three iterations has enabled us to draw some general conclu- sions that we believe are worth sharing with the community. Having worked on this approach for the last three years, we believe that the steps involved in our approach to develop- ing the course can be used in general by educators aiming at introducing global and distributed issues in their student populations, in courses addressing SE topics in general. Few works address culture in SE education. Navarro & v.d. Hoek (6) experimented with projects involving stu- dents coming from different specializations, hence bringing in interdisciplinary backgrounds. Brereton & Lees (2) in- vestigated the factors influencing project outcomes. While they do not observe relevant advantages in mixing technical and non-technical students, we count on complementarities: Verkamo et al. (3) focus on distributed cross-cultural SE. In a case study in Finland and Russia they observe that ini- tial cultural differences are solved by experience during the project. This is also one of our objectives. Recent publica- tions provide further inspiring input, e.g. Avritzer et al. (1) introduce local experts to bridge cultural differences. The paper describes the steps of our approach to devel- oping and delivering a joint course on designing software in global software development context. The paper elaborates on how each step has been carried out to identify a num- ber of characteristics (highlighted in boldface) for design- 2008 IEEE International Conference on Global Software Engineering 978-0-7695-3280-6/08 $25.00 © 2008 IEEE DOI 10.1109/ICGSE.2008.26 249 Authorized licensed use limited to: University of Limerick. Downloaded on May 14, 2009 at 11:13 from IEEE Xplore. Restrictions apply.