Software development is mainly a social activity [1 – 3]; so we
should consider it as an essential social body in the view of
software development teams, departments and corporations.
Traditionally software engineering research has tended to
push social concerns aside, maybe due to the idea of
considering it as an unscientific and outlier in a so-called
engineering discipline. Obviously, teamwork is an essential
element for software development success and is becoming
even more critical in multinational working environments
like in global software development (GSD).
This social perspective is not just an aggregation of
individual software developer’s attributes and actions, that
is, the team have to be seen as a specific unit of analysis [4]
with different possible approaches and styles. Projects
involve a team or multiple teams coordinating to develop a
final product. No matter what type of system or
development type, a software project requires people to
collaborate. Team members, who may be located or
distributed around the world in GSD, might meet
and communicate face-to-face, over the phone or online but
they need to interact and collaborate to a common goal.
In general, the so-called ‘soft skills’, non-technical skills,
are considered as key factors for professional competence
for computing professionals [5], especially in the area of
software development. The importance of teamwork within
software development has been confirmed by different
contributions and with a variety of approaches. One of them
is the effort devoted to teamwork and communication. Initial
studies by Weinberg [6] reported that programmers spend
more time communicating with others than coding. It is also
suggested that in large projects typical system developers
spend about 70% of their time interacting with others [7].
Jones[8] reported that team activities account for about 85%
of the costs of large software systems. Also, Brooks [9]
highlighted the role of teamwork in software projects: teams
can grow much more complex entities in four months than
they can build, compromising success of projects.
Serce et al. [10] remark another approach that emphasises
selection of people who possess effective team skills:
working in multinational team environments, improve the
learning of communication behaviour and teamwork ability.
The software engineering institute (SEI) also emphasises
collaborative skills (having identified several software
projects which failed due to teamwork problems and
developed the team software process (TSP) [11, 12] with
the intention to help integrated engineering teams) which
may more effectively develop the software projects [13].
TSP also guides engineers and their managers in using
effective teamwork methods. SEI also suggested that
collaborative teams can be used to increase worker
involvement, improve quality and productivity, as well as to
flatten, downsize and decentralise the organisation [10].
IET Softw., 2012, Vol. 6, Iss. 3, pp. 167–175 167
doi: 10.1049/iet-sen.2011.0070 & The Institution of Engineering and Technology 2012
www.ietdl.org