Article Preview
TopIntroduction
Globalization is one of the recognized trends of the 21st century that has affected almost all industries (Klein, Rausch, & Fischer, 2009; Šmite, Wohlin, Gorschek, & Feldt, 2010). The software engineering industry is no exception: today large software projects are globally developed, having teams in more than one location and often in more than one continent (Babar & Lescher, 2014; Bartelt et al., 2009; Schneider, Torkar, & Gorschek, 2013; Sundararajan, Bhasi, & Pramod, 2017). Three significant forces have pushed global software engineering forward:
- 1.
Economic: Cost concerns; e.g., significant differences in cost personnel as well as a need to compete against global players who develop increasingly complex software under time and budget pressure;
- 2.
Organizational: If a company is globally distributed then the project organization should naturally be distributed since resources are already in different locations;
- 3.
Strategic: Localized software development brings developers closer to customers. This brings an advantage due to knowledge of the local culture (Bartelt et al., 2009).
Nonetheless, there are numerous challenges, e.g. limited synchronous and less rich communication due to the inability to establish face-to-face meetings, and a varied implementation of software engineering practices and techniques influenced by multicultural dynamics (Bartelt et al., 2009; Shah & Harrold, 2013; Šmite et al., 2010; ul Haq, Raza, Zia, & Khan, 2011). A systematic literature review (Šmite et al., 2010) showed that there is a need to conduct more empirical studies regarding software engineering practice, especially investigating the topic of testing in distributed software development (Marques, Rodrigues, & Conte). In the global context, more than in collocated settings, culture plays a fundamental role on how software engineering processes are executed and it has shown to be an important factor influencing them (Shah & Harrold, 2013).