ÍNDICE: 1. JUSTIFICACIÓN DE LA PROGRAMACIÓN DIDÁCTICA
PROGRAMACIÓN DIDÁCTICA 1. JUSTIFICACIÓN DE LA PROGRAMACIÓN DIDÁCTICA
When talking about GSD, both the author of this report and several authors of the major influencing papers in this field, tend to be negative and focus on the problems and challenges (Ågerfalk & Fitzgerald, 2006). This can be justified because the major challenges within software engineering get more
Global Software Development
complicated in a global context, and therefore need to be addressed. I will argue for at least one more positive effect than those business related drivers presented in chapter 2.1: Having the possibility to travel to the remote sites, as a part of your job, is a way of learning other cultures and exploring the world. This is a point not often mentioned in the GSD literature, but intuitively and according to (Trunk, 2007) the new generation of young adults see travelling as an important part of their lives. This generation, often named “generation Y” (Trunk, 2007), is in these days in their early years of work life, and GSD may be a way of fulfilling one of their soft requirements for an employer, hence GSD offers both personal development and business advantages. Now, let us study challenges experienced by practitioners of GSD. Herbsleb and Moitra (2001) group the challenges, caused by the distance between project members, into six groups. These are summarized in Table 2-1.
Table 2-1: Major challenges in GSD (Herbsleb & Moitra, 2001)
Issue Explanation
Strategic issues Work dividing, resource management, fear for losing job.
Cultural issues Different way of seeing the world can cause misunderstandings and conflict
Inadequate communication
Especially the informal “corridor talk” is not possible, and many issues may be not dealt with as early as in co-located projects.
Knowledge management Up to date documentation and status tracking is even more important in GSD.
Project and process management issues
Synchronizing issues among sites is important to deal with so misunderstandings do not evolve Technical issues Network need to be stable and the formats and
versions of tools used should be common. Strategic issues
This group of issues deals with the work breakdown structure and the allocation of resources to these work packages. The development project has to be decomposed to smaller work packages according to the resources available at each site and their expertise, the amount of inter-team communication needed, the infrastructure and other similar circumstances (Sangwan et al., 2007). From Siemens, Mullick et al. (2006) describe such temporal and modular interdependencies. The management also has to deal with resistance within own organization because the employees fear their job (Herbsleb & Moitra, 2001; Conchúir, Holmström, Ågerfalk, & Fitzgerald, 2006). Motorola reports scepticism towards offshore site: management team
Global Software Development
had a genuine concern that the international engineering teams would not be able to produce as needed (Battin, Crocker, Kreidler, & Subramanian, 2001,
p. 75).
Cultural issues
The national cultural differences between countries taking part in global software development can be significant, and cause misunderstandings and conflicts. These issues include misunderstandings caused by different mother tongues, different attitudes towards hierarchy and authorities, different sense of time and deadlines and so forth (Herbsleb & Moitra, 2001; Krishna, Sahay, & Walsham, 2004). Siemens report that lack of contextual information causes
misunderstandings and confusion (Mullick, et al., 2006), denoting difficulties
when not aware of the other site’s cultural norms and communication styles. Also, different organizational cultures introduce different work practices and norms, i.e. different development process across sites cause coordination difficulties (Battin, Crocker, Kreidler, & Subramanian, 2001).
Inadequate communication
The physical distance causes less communication than often wanted in software development. Informal talk is far less usual in GSD than in co- located projects, and this causes slow information flow between teams (Mullick, et al., 2006). When a requirement change or a misconception is cleared, the time for the information to propagate to other teams is substantially more in GSD (Herbsleb & Moitra, 2001). Unclear development process communication across sites, and inconsistent communication from different intermediaries causing confusion are other reported issues (Mullick, et al., 2006).
Knowledge management
Because the teams reside different physical locations, the need to state an exact framework that need to be followed by all parts is even more important. The documentations need to be updated and followed. Issues belonging to this group concern the poor documentation quality, the need to prevent ambiguity, and spreading of new information to all parts within a short time (Herbsleb & Moitra, 2001). Formal documents written at one site are not intuitive and easy to understand at another site, and overall consistent understanding across sites is not easy to accomplish (Mullick, et al., 2006). Motorola reports difficulties to teach domain knowledge to remote sites when it is physical distance to those possessing such knowledge (Battin, Crocker, Kreidler, & Subramanian, 2001).
Global Software Development
Project and process management issues
The concurrent development and interdependencies among the remote teams cause synchronizing issues. Volatile requirements, changing specifications and changing design can cause substantial synchronizing effort for the project management team (Herbsleb & Moitra, 2001).
Technical issues
Issues concerning network bandwidth, version control and configuration management belongs to this group of issues. Often the use of incompatible tools and data formats also cause substantial rework and delays (Herbsleb & Moitra, 2001). Other studies report that content management of repository was difficult due to local mirroring of the central repository (Mullick, et al., 2006), and ad-hoc re-planning and change of the content of modules caused difficulties executing integration tests (Mullick, et al., 2006; Battin, Crocker, Kreidler, & Subramanian, 2001).
Conchúir, Holmström, Ågerfalk, & Fitzgerald (2006) use another grouping scheme for the challenges: challenges due to temporal distance, geographical distance and cultural background. Many of these issues are also experienced in my case study in chapter 5, and they will be discussed in detail in the case analysis. They give a very compact description of the major challenges, so I present it below entirely in their own words:
• Temporal distance reduces overlapping hours of possible
collaboration and can introduce a delay in feedback from colleagues. The use of asynchronous communication tools may not adeqately handle ambiguities, and can increase the risk of misunderstandings.
• Geographical distance reduces informal communication. This can
hinder the development of a sense of ’teamness’, the establishment of trust and the spread of important information about the project.
• Cultural background can greatly affect how developers interpret and
respond to a certain situation . Language difficulties often introduce misunderstandings thus hampering effective communication and coordaination in GSD.
Global Software Development