Agile Practices in Global Software Engineering - A Systematic Map
Summary (5 min read)
Introduction
- Keywords-systematic map, agile, scrum, lean software development, extreme programming, pair programming, global software engineering, global software development, offshore, outsource, virtual team, distributed team, open source.
- Frequent face-to-face communication among collocated team members improves a feeling of “teamness” and builds trust [5], whilst distance in GSE implies a different way of working, organizational standards, organizational cultures and policies, which may decrease a team’s cohesion.
- The objective of this study is to first summarize the current research literature, and then to investigate which agile practices have been used effectively in a GSE context.
- Section 2 gives a brief background and summarizes the related work.
A. Agile Practices
- The agile software development approach aims at overcoming the limitations of plan-driven approaches through considering changes of the system’s requirements [7].
- Agile methods focus on establishing close collaboration between customers and developers, and delivering software within time and budget constraints.
- Since they rely on frequent informal face-to-face communication rather than providing lengthy documentation, the process is repetitive, adaptive, and minimally defined [4].
- The most widely used methodologies based on the agile principals are extreme programming (XP) and Scrum.
- Other methods such as feature-driven development and the crystal clear method have been also used [1].
B. Global Software Engineering
- Geographically distributed software development teams characterize distributed software development, whilst globally distributed teams characterize global software development [11].
- The authors have considered both as GSE.
- The description of different terms related to GSE is inspired by [11], and the authors have only made minor changes and generalization presented as follows.
- An external company is responsible for providing software development services or products for the client company, also known as Outsourcing (offshore/onshore outsourcing).
- Team members are spread in different locations and work remotely on different parts of the project (independent tasks) with or without any face-to-face interactions, also known as Distributed team.
C. Agile Practices in Global Software Engineering
- Several software organizations have reported their successful experience of incorporating agile in distributed software development (e.g. [S77][S14]).
- There are challenges associated with this combination, and to get it to work effectively considerable effort is needed.
- The major difficulties are summarized as related to communication, personnel, culture, different time zones, trust, and knowledge management [S6].
- Nevertheless, various tactics and solutions are also reported by different software organizations to mitigate these challenges.
E. Motivations and Objectives
- Confirming the findings of the previous works [14][S27], the existing research in the area is exploratory in nature and mostly reports the cases in which some challenges were faced and some strategies were applied.
- It is also confirmed that lessons learned in one context may not directly apply in another one [13].
- Such a systematic review helps identifying different conditions and factors, which affect the success of agile methods in GSE contexts.
- It also helps researchers in obtaining an overview of the status of the area and highlighting the gaps.
- This report presents all steps taken in designing and conducting the systematic review, and presents the results considering the systematic map guidelines.
A. Research Questions
- Regarding the need for conducting a systematic literature review in the area, the research questions for this study set to be as follows.
- In order to answer this question, the current research literature had to be explored.
- To answer this question, the results of the systemaric review had to be synthesized comprehensively.
B. Search Strategy
- The research started with defining a suitable scope, which was initially set to cover all agile practices in all types of distributed development.
- The initial keywords were searched in well-known databases such as ACM Portal and IEEE Xplore.
- Based on the search results, the research scope, research questions, and keywords were refined, search strings were reformulated, and searches were re-conducted.
- Moreover, the list of databases was expanded to collect as many relevant papers as possible.
- In parallel, a list of key papers was generated, which was used as a validation list to ensure the reliability and relevancy of the searches and to evaluate the search strings.
C. Data Sources
- In a progressive process as discussed previously, the databases were decided as follows.
- It covers electrical engineering, computer science, and electronic subject areas, and provides full-text and bibliographic access to IEEE transactions, journals, magazines and conference proceedings published since 1988.
- It is an online database that includes literature from 1969 to the present, and records are updated weekly.
- It covers research papers and journal articles in information systems (IS).
F. Data Extraction and Synthesis
- The guidelines provided by Petersen et al. [9] were used to build the classification scheme.
- The authors piloted a few studies and realized that critical information such as agile practices, distribution type, and research method could not be extracted only from the abstract.
- MS Excel was used for data extraction and collection .
- Finally, several descriptive classifications of the content of the studied papers were made with respect to research methodology, empirical background, findings, participants, and context of the studies.
- The data required for analysis was extracted by exploring the full-text of each included paper.
A. Results of Literature Review
- The outcome of the selection phase was 77 peerreviewed papers and articles.
- This seems to indicate that GSE and agile in combination has received more attention in the last five years.
- Techniques or solutions are implemented and evaluated in practice, and the consequences are investigated, also known as 1) Evaluation Research.
- It shows that the majority of the current literature is in the form of experience reports, in which practitioners have reported their own experiences on a particular issue and the method used to mitigate it.
- 12 studies did not report the context, and it was not derivable from the full-text of their studies.
B. Successful Applications
- Among all included papers, 60 of them were empirical studies: 38 papers were written by practitioners; 19 were written by academic researchers; and three joint papers between practitioners and academia.
- In many cases it was unclear which agile method has been particularly used.
- The papers were also analyzed to extract the reported projects’ main characteristics such as size, duration, domain, and the knowledge area.
- In most cases, the team was distributed around the globe, working for a long time period on a small to medium size project.
- This is shown by a large number of studies being classified as “Unclear” in Table II.
C. Summary
- Summarizing the relevant research literature provided the answer to the RQ.1.
- The experience reports of working with globally distributed teams constitute the major part of the literature.
- They have contributed by explaining the issues, specific solutions, and the lessons learned.
- The majority of them have not documented the characteristics of their empirical study and the context under which the project was running.
- Several practices were found in the literature, which have been applied in software organizations.
D. Limitation
- The major concern with any type of research is the reliability.
- In addition, the publication year was set to be from 1999 to 2009, which was wide enough to capture most of the relevant publications due to the fact that common agile practices are not much older than one decade.
- So, it was possible to observe the trends in the area over the past decade.
- Replicating this study may result in a slightly different set of papers, both in searching in the databases and in inclusion/exclusion process.
- It should also be noted that although some studies may have been missed, there is no reason to believe that they would be distributed differently across the classifications than the papers included in the systematic map presented.
A. Growing Interest
- The applicability of agile practices in GSE is not yet well investigated.
- It is clear that several challenges are associated with combining them.
- An increasing number of publications, in particular experience reports, in last five years, indicates a growing interest in this area from software industry.
B. Research Type
- The majority of the existing research literature is in the form of industrial experience reports.
- It reveals the need for conducting more evaluation research by which actual practices will be comprehensively examined.
- This type of research requires rigorous research methods and literature reviews, so one possible option could be close collaboration of industry and academia in this area.
- The research part can be done in academia while data has to be collected from real industrial cases.
C. Repetitions
- The authors observed some repetitions in the content of the studies they explored.
- Similar problems are reported more than once in different articles [S74][S22].
- It may indicate that previous research is not studied in software organizations or it is hard to interpret the context of different experiences.
- Another evidence for this conclusion is that industrial experience reports do not normally include the related work and do not reference literature.
- It requires further investigation to realize whether the academic materials such as textbooks or research papers are of interest for industry in this specific area.
D. Corresponding Challenges
- There are not a sufficient number of studies analyzing the challenges of applying agile in GSE.
- Problems and challenges are documented in GSE or agile, while the combination is not well examined in real world situations.
- Some academic studies suggested that agile mitigates GSE challenges [S16][S42], whilst others believe they are contradictory in nature and it emphasizes the GSE challenges [S9].
- Hence, the authors conclude that there is a need for in-depth studying of challenges and benefits of combining agile and GSE in the form of evaluation research.
E. Contextual Information
- As mentioned previously, the contextual details for many empirical studies in this area is insufficient.
- Having this information assists researchers in examining the practical applicability of the reported cases for other settings.
- It demands researchers in this area to design and use a template for documenting the contextual information, which is not too detailed and not too abstract.
- The authors recommend practitioners and researchers to read guidelines presented by Petersen and Wohlin [10] and keep them in mind when writing their reports.
F. Scaling up Agile
- There is not sufficient evidence to conclude that agile is efficiently applicable in large distributed projects.
- The other contextual project factors are not clearly reported.
G. Modified Agile Practices
- In many studies that the authors reviewed, agile practices had been customized and a modified agile method was applied [S77].
- The motivations for these adjustments were reported to be distribution type, overlapping working hours or other factors depending on the situational requirements of the project.
- It highlights the need for further research in which the modifications are well studied in order to provide guidelines for practitioners on how to adapt the practices to their needs.
- In addition, the changes shall be compared to the original descriptions (e.g. agile manifesto) and determine the safe variance of the changes to remain agile, and of course efficient in software development.
- In other words, it shall be determined that how much change is allowed to be still recognized as practicing agile in GSE.
H. Agile Applicability Framework
- This study pictured the current status of the studied area based on available peer-reviewed research literature, and the discussions in this section displayed the current improvement opportunities in the area.
- It can be used as a basis for decision-making in early phases of software development, and assists project managers in estimating the risks, challenges, and benefits of using agile in distributed projects.
- Additional papers extracted from Scopus database (http://www.scopus.com) will be also investigated in order to provide as much input as possible for analyzing the current status of the area.
- These results will be used towards proposing such a comprehensive framework for agile applicability in GSE.
Did you find this useful? Give us your feedback
Citations
1,598 citations
Cites background or methods from "Agile Practices in Global Software ..."
...Jalali and Wohlin [4] performed mapping of the literature available on Global software Engineering considering the guidelines by [2,1]....
[...]
...This also supports the sampling argument made by Wohlin et al. [7]....
[...]
...Though, as was discussed in Wohlin et al. [7] this is often not realistic, neither for systematic reviews nor mapping studies....
[...]
...Four further papers have been identified that were missed: [24–27], while Jalali and Wohlin [24] is a continuation of [4] (see Section 3.6 for further reflections)....
[...]
...Recently, Wohlin et al. [7] compared systematic mapping studies that were conducted on the same topic by two groups of researchers working and publishing independently....
[...]
533 citations
Cites background from "Agile Practices in Global Software ..."
...More details of the S1 can be found in [9] and [2]....
[...]
320 citations
Cites background from "Agile Practices in Global Software ..."
...Agile Development refers to a number of agility-enabling practices for software development (Lee and Yong, 2013; Jalali and Wohlin, 2010) that value the centrality of individuals and interaction, the incremental delivery of working software, collaboration with customers and response to change (e....
[...]
216 citations
Cites background from "Agile Practices in Global Software ..."
...In the study reported in Jalali and Wohlin (2010), for example, no meaningful distinction is made between the two....
[...]
199 citations
Cites background or methods from "Agile Practices in Global Software ..."
...A systematic review of the research literature on use of agile in lobal software engineering presented a list of agile practices used or eferenced by the analyzed papers (Jalali and Wohlin, 2010)....
[...]
...…people • Face-to-face communication • Working software is progress • Constant pace • Technical excellence and good design Agile methods are in their essence based on values and princiles defined on the Agile Manifesto (Beck et al., 2001) and composed y agile practices (Jalali and Wohlin, 2010)....
[...]
References
4,352 citations
"Agile Practices in Global Software ..." refers background in this paper
...Regarding the need for conducting a systematic literature review in the area, the research questions for this study set to be as follows....
[...]
2,486 citations
"Agile Practices in Global Software ..." refers background in this paper
...Which agile practices, in which GSE settings, under which circumstances have been successfully applied?...
[...]
2,399 citations
"Agile Practices in Global Software ..." refers background in this paper
...Dybå and Dingsøyr [6] have conducted a systematic review of empirical studies of agile software development up to 2005 resulted in identifying 36 relevant empirical studies....
[...]
976 citations
843 citations
Related Papers (5)
Frequently Asked Questions (9)
Q2. What are the common practices used according to the literature?
The most common practices used according to the literature are continuous integration, daily standup scrum meetings, pair programming, retrospectives, scrum of scrums meetings, and test-driven development (TDD).
Q3. What are the two activities that are efficiently practiced?
According to the available research literature, continuous integration and daily standup scrum meetings are the two activities, which are efficiently practiced the most.
Q4. How many papers were written by practitioners?
Among all included papers, 60 of them were empirical studies: 38 papers were written by practitioners; 19 were written by academic researchers; and three joint papers between practitioners and academia.
Q5. What was the purpose of the research?
The research started with defining a suitable scope, which was initially set to cover all agile practices in all types of distributed development.
Q6. What are the used combination of agile methods and distribution settings?
The most used combination of agile methods and distribution settings are agile-distributed teams, agileoffshore, and XP-distributed teams.
Q7. How was the research used to evaluate the search strings?
In parallel, a list of key papers was generated, which was used as a validation list to ensure the reliability and relevancy of the searches and to evaluate the search strings.
Q8. How many papers were excluded at this stage?
All 88 papers were fully read and 11 were excluded at this stage because either the results were not reported or the same study was reported more than once.
Q9. What are the main characteristics of the literature?
The existing literature mainly consists of successful empirical experiences (see Figure 5), in which globally distributed teams collaborate over a long time on small to medium sized projects (Figure 4, Table II).