Global Software Development (GSD) can be defined “as software development that uses teams from multiple geographic locations” (Sangwan et al., 2007: 3). Damian (2007) synonymously uses the term Global Software Engineering (GSE) (Damian, 2007: 21). Herbsleb states that the key phenomenon of GSD is coordination over distance (Herbsleb, 2007: 188).
According to Carmel (1999) motivators for GSD are:
Limited specialized talents for needed technologies,
A trend of global mergers and acquisitions in the software industry,
Geographical differences in development cost,
A development work system based on shifts enabling shorter time to market
Proximity to local markets (Carmel, 1999: 4ff.).
In the literature different terms are used for teams in the GSD context. Carmel (1999) states “a Global Software Team is separated by a national boundary while actively collaborating on a common software/systems project” (Carmel, 1999: 3). Dafoulas (2002) depicts a more detailed picture of virtual teams: they are often distributed and commonly resources are geographically dispersed, which means that they are operating in different time zones. Team members often belong to different organizations and thus companies, but still work together in one project. The organization of virtual teams is a network structure. They need frequent as well as structured communication, for which they predominantly use electronic means. In order to operative effectively virtual teams need a high level of trust (Dafoulas and Macaulay, 2002.: 2). According to Dafoulas the difference between the various terms is very fuzzy. We would therefore like to use the term global team to be in line with global software development.
Challenges, barriers and success factors
When conducting GSD projects organizations face various challenges and barriers that hinder project success. According to the Oxford dictionary a challenge is a task that test’s someone’s abilities (2013). We therefore define a GSD challenge as an organizational task or endeavor in a GSD setting that is testing the abilities of the organization and its members. Pirkkalainen and Pawlowski (2012) define a barrier as: “any challenge, risk, difficulty, obstacle, restriction or hindrance that might prevent a single person, a group or an organization to reach an objective and success in a specific context when the challenge is related to acting or working in a collaborative cross border setting” (Pirkkalainen and Pawlowski J., 2013: 5). A GSD success factor is a factor that needs to be taken into account or fulfilled in order to mitigate overcome barriers and succeed in a GSD challenge.
A GSD challenge Carmel (1999) states as one of the centrifugal forces of global teams is dispersion. He argues that it is better to manage co-located teams rather dispersed teams. Co-location allows managers to manage by walking around, whereas this in not possible in dispersed settings. This implies the risk of “out of sight is out of mind”. Moreover, costs are higher and probability of communication is lower, if teams are dispersed (Carmel, 1999: 42).
Herbsleb (2007) states that the essential difference of GSD settings to co-located settings is that most of the mechanisms of coordination are absent or not working due to fact that the teams are dispersed (Herbsleb, 2007: 189). Coordination is defined as the act of managing dependencies between activities (Malone and Crowston, 1994: 90). Carmel (1999) argues that coordination breakdown is one of the five centrifugal forces of global teams. Due to dispersed teams the informal coordination mechanisms are hindered, for instance it is not possible to simply approach a colleague in the office. Moreover, due to the rise of coordination needs for global teams, the need for communication rises, too (Carmel, 1999). In a GSD setting finding the right person to solve an issue is a time-consuming endeavor, which often leads to making assumptions in the meanwhile. These assumptions tend to be in conflict with assumptions or requirements on other localities of the distributed project (Sangwan et al., 2007: 5).
Further challenges are late response or low urgency to inquiries from unknown personnel, unavailability because of local holidays, differing level of motivation between teams, fear of becoming redundant or losing their job after completion of the project (Sangwan et al., 2007: 5).
Herbsleb (2007) also mentions much less communication and less effective communication as GSD challenges e.g. due to little overlapping hours, replies only arrive on the next day (Herbsleb, 2007: 189). Moreover, there is the challenge of inadequate communication. Either the formal, official communication can suffer from a poorly specified interface, which leads to loss of time and not-identified problems. Or the informal communication, for instance the spontaneous talk in the corridor, which usually helps people to stay aware of what other people are engaged with, is much less in GSD settings (Herbsleb and Moitra, 2001: 18). Carmel (1999) states that the loss of communication richness is a centrifugal force for global teams. People want to use richer communication for certain tasks, e.g. face-to-face is used to solve a difficult dispute. As 80% of the communication in non-verbal we like to use richer communication to communicate more information. This is especially important for high context (HC) cultures but also for the other cultures (Carmel, 1999: 48).
Language and cultural aspects are a source of challenges, too. For example, non-native English speakers prefer addressing concerns via email instead of participating actively in telephone conferences. Persons from a direct culture are often perceived rude by persons from an indirect culture, when directly addressing an issue via phone or email, while persons from direct cultures find it frustrating, when people from an indirect culture make the impression of not getting to the point (Sangwan et al., 2007: 5–6). Often serious and constant misunderstandings arise out of cultural issues due to different communication style. Cultural diversity often makes communication even more difficult, when people are irritated and don’t know how to respond (Herbsleb and Moitra, 2001: 17).
Further challenges comprise time consuming logistical issues, aligning management practices, organizational processes and setting up technical infrastructure (Sangwan et al., 2007: 6). Different sites in GSD projects often use different development tools, processes, and practices and have different habits. This leads to various problems including confusion, misunderstanding, unclear status and inconsistent information (Herbsleb, 2007: 189).
In GSD settings participants suffer from a lack of awareness, because people from different sites know little about what people at other remote sites are working on. This leads to misunderstandings and hinders the ability to keep track of changes (Herbsleb, 2007: 189).
Another challenge for GSD settings with dispersed teams is loss of “teamness”. Carmel (1999) argues that global teams suffer a loss of cohesion as there is less trust, more stereotyping and more in-group conversation. Moreover, due to the risk of miscommunication global teams are less relaxed with each other, as they permanently need to be aware of linguistic and cultural messages (Carmel, 1999: 53).
Herbsleb and Moitra (2001) argue that knowledge management is a challenge due to physical distance in GSD settings. If new information from customers or the market is not shared directly within the project, then teams cannot adapt their priorities accordingly. Poor documentation tends to cause inefficiencies in the collaborative development as it leads to assumptions and ambiguity (Herbsleb and Moitra, 2001: 18).
Project and process management issues are further challenges for GSD. For instance a lack of synchronization between remote sites can lead to critical situations in the software test. Moreover, volatile requirements and unstable specifications lead to difficulty in implementing the same engineering principles across sites (Herbsleb and Moitra, 2001: 18).
Prikladnicki (2006) states that requirements engineering (RE) is the main challenge in the software development process as the distance between the teams negatively affects the understanding and agreement (Prikladnicki et al., 2006: 22f).
As defined above are barriers any challenges that hinder people and organization to reach an objective in a cross border-collaboration situation. Different barrier frameworks can be found in the literature, which differ regarding their context and focus. In the following we describe and discuss two barrier frameworks from Noll et al. (2010) and Pallot (2010). Noll’s framework covers the context of virtual teams and collaboration in GSD projects and covers the GSD literature (Noll et al., 2010). Pallot’s...