A validated ontology for global software development

https://doi.org/10.1016/j.csi.2016.02.004Get rights and content

Highlights

  • We propose an ontology that covers three important issues regarding GSD: the goals, barriers and different concepts involved in a GSD project.

  • The ontology was produced as the result of an exhaustive literature analysis. Moreover, the ontology was evaluated and validated by experts by means of two surveys.

  • The proposed ontology may be useful for both researchers and practitioners since it provides a common language that will allow them to understand GSD and reason and avoid misunderstandings related to it.

Abstract

The global software development (GSD) paradigm has, over the last 15 fifteen years, shifted from being novel and ground breaking to being widely adopted and mainstream. This wide adoption is partly owing to the many benefits provided by GSD, such as reduced labour costs, proximity to new markets and access to a diverse and experienced skills pool. Yet taking advantage of these benefits is far from straightforward, and research literature now includes a proliferation of guidelines, reviews and models to support the GSD industry. Although this active area of study is firmly established as a research area in its own right, the boundaries between general software engineering and GSD are somewhat confused and poorly defined. In an effort to consolidate our understanding of GSD, we have developed an ontology in order to capture the most relevant terms, concepts and relationships related to the goals, barriers and features of GSD projects. The study we present here builds on research conducted in a collaboration project between industry and academia, in which we developed an ontology in order to provide practitioners with a “common language and conceptualisation”. Its successful outcome encouraged us to create a broader ontology that captures the current trends in GSD literature. The key ontology, along with its three subontologies, are the result of a review of the relevant literature, together with several expert evaluations. This ontology can serve as a useful introduction to GSD for researchers who are new to the paradigm. Moreover, practitioners can take advantage of it in order to contextualise their projects and predict and detect possible barriers. What is more, using a common language will help both researchers and practitioners to avoid ambiguities and misunderstanding.

Introduction

There is currently a strong and growing trend that involves IT organisations employing multisite teams that span geographic boundaries to build their software. Organisations are adopting a Global Software Development (GSD) paradigm, either out of necessity or owing to the promise of competitive benefits. GSD can take various forms, and the proliferation of literature reviews on the subject reflects this active area of research and practise. Indeed, there are now even two tertiary research studies [1,2] that capture the groups of secondary literature reviews. Since GSD has now become a dominant paradigm, and thanks to the proliferation of research that the community can draw on, the research community now needs a common understanding of the terms and concepts related to GSD projects.

One way in which to achieve this goal is to create a GSD ontology. An ontology is defined by Gruber [3] as the formal specification of a shared conceptualisation. Ontologies provide a visual means to share a common understanding of the structure of information among people or software agents. Moreover, ontologies enable the reuse of domain knowledge, thus making domain assumptions explicit and helping us to clarify any ambiguities [3], [4]. What is more, and as is illustrated by the successful applications of ontologies in the Software Engineering field, an ontology can provide numerous benefits, from serving as a basis for discussion to achieving the necessary agreement and consensus and contributing to the harmonisation of standards in the field, as a vehicle for achieving the interoperability required between the ever-increasing number of groups and organisations working on languages and tools, or to support model driven engineering initiatives (see [5], [6], [7], [8]).

Bearing in mind the aforementioned issues, our main research objective has therefore been to build an ontology with which to determine the advantages, challenges and concepts related to GSD projects. This ontology is based on the relevant related GSD ontologies that exist in the field and has been agreed on by experts in the field.

The remainder of this paper is organised as follows. The background to this research is presented in the following section, while the research method followed to build the GSD ontology is described in Section 3. In Section 4, we focus on describing the systematic mapping carried out to discover the ontologies and taxonomies exist in the literature related to GSD, and Section 5 provides a description of the process carried out to discover new terms and relations and the results obtained. An evaluation of the first version of the ontology by experts is presented in Section 6 and the refined result obtained (GSD ontology v2) is then described in Section 7. In Section 8, we present the validation of GSD ontology v2. Finally, the conclusions, limitations and guidelines for using the ontology, along with an outline of future work, are presented in Section 9.

Section snippets

Background

There is currently an important interest in developing ontologies and using them in the software engineering field. A proof of this fact is the increasing number of workshops focused on this, such as the workshop on ontology, conceptualisation and epistemology for software and systems engineering (ONTOSE), the workshop on ontologies and meta-modeling software and date engineering (WOMSDE) or the workshop on semantic web-enabled software engineering (SWESE). These and other efforts contribute

Research method for the creation of the GSD ontology

In this section, we present the research method followed to develop our validated GSD ontology. The general question used for this research was Is it possible to create an ontology with which to determine the advantages, challenges and concepts related to GSD projects? This research question was addressed by the following method shown below (Fig. 1).

As shown in Fig. 1, the GSD ontology was built by following three fundamental steps:

  • 1)

    We augmented the initial version of the ontology (O-GSD) by

GSD ontologies and taxonomies: a systematic mapping

In this section, we describe the protocol used to carry out the systematic mapping review. We first describe the design and then go on to present the results obtained.

Discovering new GSD terms and relations

In an effort to detect more representative concepts for GSD, 11 further SLRs were examined: [16], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34]. All SLRs related to GSD published in the time spanning 2011 to 2014 were analysed, along with all papers from the proceedings of ICGSE 2011, 2012, 2013 and 2014.

A candidate term was considered to be relevant to GSD when it could be included in one of the categories defined by the authors when they were attempting to classify the terms

Evaluation of the version 1 of the GSD ontology: a survey

A survey was designed in order to obtain experts' consensus of opinion. This survey described the version 1 of the ontology (V1) and contained questions focusing on how suitable and comprehensive it was as regards representing GSD vocabulary (see Appendix E). In order to elaborate the survey, the guidelines by Kitchenham and Pfleeger [35] were followed. Namely, in drawing up the questions, the purpose and objectives of the survey were borne in mind, with special emphasis of the suitability of

GSD ontology V2

In this section, the final version of the GSD ontology, which was produced based on feedback from experts, is presented, while larger figures of the ontologies are shown in Appendix F. The GSD ontology was eventually structured into three main subontologies: goals, barriers and project, which are presented in the following subsection. The description provided for each ontology is divided into two main parts: the description of the sub-ontology itself, in which its concepts and relationships are

Validation of the GSD ontology V2

The new version of the ontology (V2) was subjected to a new evaluation by experts in order to validate it by means of a new survey. In the elaboration of this survey, the same framework by Kitchenham and Pfleeger [35]was followed with special emphasis in including appropriate questions according to the purpose of the survey, which was focused on evaluating the GSD ontology according to the criteria by Gruber [3]. An ontology should be clear, coherent, extendable, focused on the knowledge rather

Concluding remarks

In this paper, an ontology in which to capture the most relevant terms, concepts and relationships related to GSD projects has been presented. The main research objective was to create a common language and conceptualisation of the field through the development of a GSD ontology focused on the context of goals, barriers and GSD projects. In order to achieve this, a rigorous research method was followed to guarantee that the two main requirements of the ontology were satisfied (completeness

Acknowledgments

We should first like to thank the reviewers for their useful suggestions. Moreover, our thanks to all the experts who have helped us to perform this work, concretely, Marco Kurhman, VS Mani, Manuel Arranz, Manal El Bajta, Ita Richardson, Uma Viswanath, Tony Clear, Madn Mohan, Rajeev Kumar, Gupta, Debi Prasad, Utpal Samanta, Nikhil Mokashi, Sildenir Alves, Elisa Huzita, Marcelo Cataldo, Juho Mäkiö, Darja Šmite, Ban Al-Ani and Sabrina Marczak.

This work was funded by the GINSENG project

References (43)

  • T.R. Gruber
    (1995)
  • S. Schneider et al.

    Solutions in global software engineering: a systematic literature review

    Int. J. Inf. Manag.

    (2013)
  • C. Pardo et al.

    An ontology for the harmonization of multiple standards and models

    Comput. Stand. Interfaces

    (2012)
  • J.M. Verner et al.

    Systematic literature reviews in global software development: a tertiary study

  • A.B. Marques et al.

    Systematic literature reviews in distributed software development: a tertiary study

  • N.F. Noy et al.

    Ontology development 101: a guide to creating your first ontology

  • F. Ruiz et al.

    An ontology for the management of software maintenance projects

    Int. J. Softw. Eng. Knowl. Eng.

    (2004)
  • F. Ruiz et al.

    Using ontologies in software engineering and technology

  • F. García et al.

    Effective use of ontologies in software measurement

    Knowl. Eng. Rev.

    (2009)
  • P. Fitsilis et al.

    Ontologies for software project management: a review

    J. Softw. Eng. Appl.

    (2014)
  • P. Wongthongtham et al.

    Development of a software engineering ontology for multisite software development

    IEEE Trans. Knowl. Data Eng.

    (2009)
  • I. Sommerville

    Software Engineering

    (2004)
  • P. Wongthongtham et al.

    Towards ‘ontology’-based software engineering for multi-site software development

  • P. Wongthongtham et al.

    Software engineering sub-ontology for specific software development

  • A. Vizcaíno et al.

    Towards an ontology for global software development

    IET Softw.

    (2012)
  • B. Kitchenham et al.

    Guidelines for performing systematic literature reviews in software engineering

  • S. Goldman et al.

    A meta-model for distributed software development

  • A. Borges et al.

    Ontologies supporting the distributed software development: a systematic mapping study

  • F. Salger

    Knowledge transfer in global software development—leveraging ontologies, tools and assessments

  • G. Aranda et al.

    Analyzing ontology as a facilitator during global requirements elicitation

  • C. Wohlin

    Guidelines for snowballing in systematic literature studies and a replication in software engineering

  • Cited by (28)

    • Do scaling agile frameworks address global software development risks? An empirical study

      2021, Journal of Systems and Software
      Citation Excerpt :

      Therefore, building on the definition of “large scale” proposed by Dikert et al. (2016), we include the additional stipulation for large scale agile GSD that the definition explicitly incorporates a global focus and thus represents: “software development organizations with 50 or more people or at least six teams” (Dikert et al., 2016) and these people or teams must work across sites located in at least two different countries. Development companies, therefore, follow a geographically separated country or company sourcing strategy according to Vizcaino et al.’s GSD ontology (Vizcaíno et al., 2016 p. 74). Our research is guided by the observation that “scaling isn’t easy; large projects often are globally distributed and have many teams that need to collaborate and coordinate” (Ebert and Paasivaara, 2017).

    • Software outsourcing partnership model: An evaluation framework for vendor organizations

      2016, Journal of Systems and Software
      Citation Excerpt :

      Our sample size is composed of article from diverse continents from many countries. We have a full confidence on our results because, we found similarities greater than differences in our outcomes and end result concluded by other peoples (Kinnula, 2006), (Roses, 2013), (Kinnula et al., 2007), (Vizcaíno et al., 2016), (Kinnula and SeppAnen, 2003), (Alexandrova, 2012), (Su et al., 2016) this provide evidence for generalization. Further the identified SFs were validated through empirical study with relevant experts in the industry.

    View all citing articles on Scopus
    View full text