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.