Article Preview
Top1. Introduction
Nowadays, outsourcing software activities (development, test, maintenance, programming, and incidence management) are indispensible for maintaining the required levels of competitiveness and productivity in large software engineering projects (Herbsleb & Moitra, 2001; Sengupta et al., 2006). This situation requires the creation of multidisciplinary teams composed of people working in different locations and on the same software development project. As a consequence of this, distributed software development is becoming the norm for the software industry today as an organizational response to globalization and outsourcing tendencies (Hernández-López et al., 2010). Managing global software development teams is not an easy task because of the additional problems and complexities that have to be taken into account (García-Guzmán et al., 2010).
There are several strategies to configure this type of team depending on the existing interdependence among team members. In some projects, management, requirements specification and architectural design done in one location, and the development or modification of software components by software factories set up in separate geographical locations (Edwards & Sridhar, 2003; Smite, 2004).
Other projects, however, require the creation of several coordinated multidisciplinary teams, bringing together highly-skilled individuals working in dispersed geographical locations. The work presented in this paper is especially centred on this type of team, called virtual team (Cohen & Gibson, 2003).
For software development, the specific characteristics that differentiate global virtual teams from traditional ones are:
- 1.
Each team member can work in a different location; members carry out independent tasks across locations (Hyrkkänen et al., 2007).
- 2.
Team members come from several cultures and have different teamwork practices (Powell et al., 2004). There is a great potential for conflict in global virtual teams as members work across cultural, geographical, and time boundaries (Kankanhally et al., 2007).
- 3.
Team members speak several languages. Although English is commonly used, there are different levels and flavours (Gaudes et al., 2007).
- 4.
Knowledge management is different as knowledge is distributed among the different sites (Striukova & Rayna, 2008).
- 5.
Communication activities and meetings rely strongly on technologies. So, more time is needed to obtain a common view of the goal and to determine how to achieve it (Petkovic et al., 2006).
- 6.
The time difference makes agenda management more difficult; team work dynamics and the different location work dynamics need to be combined (Lee-Kelley & Sankey, 2007).
Many organizations that have implemented Global Software Development have found that global virtual teams are highly complex (Herbsleb & Moitra, 2001). This complexity comes from the additional challenges they face: a) Lack of common understanding of goals and requirements assigned to the team that makes team members feel isolated, and they are reluctant to collaborate, share and work together (Striukova & Rayna, 2008); b) Difficulties in communication among different team members who are geographically distributed (Fuller et al., 2007); c) Differences between processes, management mechanisms and the associated skills and abilities create problems and bottlenecks in the project execution. (Colomo-Palacios et al., 2010; IPRC, 2007); and d) Ineffective management of shared knowledge among different team members causes duplication, inconsistencies and lack of knowledge of project assets (Rosen et al., 2007).