Models and Tools for Managing Distributed Software Development : A Systematic Literature Review

Catarina Costa Camila Cunha Rodrigo Rocha A. César C. França Fabio Q. B. da Silva Rafael Prikladnicki Centro de Informática Universidade Federal de Pernambuco (CIn – UFPE) Recife, PE, Brasil Centro de Informática Universidade Federal de Pernambuco (CIn – UFPE) Recife, PE, Brasil Centro de Informática Universidade Federal de Pernambuco (CIn – UFPE) Recife, PE, Brasil Centro de Informática Universidade Federal de Pernambuco (CIn – UFPE) Recife, PE, Brasil Centro de Informática Universidade Federal de Pernambuco (CIn – UFPE) Recife, PE, Brasil Faculdade de Informática Pontifícia Universidade Católica do Rio Grande do Sul (FACIN-PUCRS) Porto Alegre-RS csc@cin.ufpe.br ccb2@cin.ufpe.br rgcr@cin.ufpe.br cesarfranca@gmail.com fabio@cin.ufpe.br rafaelp@pucrs.br


INTRODUCTION
Many projects are being developed by professionals spread over different places.In the last decade, it is possible to notice a significant increase in this approach, known as Distributed Software Development (DSD).This popularization of DSD is based on the expectation of: achieving lower production cos ts, gaining economies of scale, accessing specialized resources, reducing time-to-market, achieving higher quality, increasing proximity to customers , and accessing new markets (Katainen & Nahar, 2008;Carmel, 1999).
According to Binder (2007), although many organizations have been executing projects with distributed teams, just a few of them have effective established practices on supporting managers and developers working on this novel environment.In addition, Pichler (2007) reports that many distribut ed project teams are still created as if all their members were working in the same place, ignoring some problems of the distribution.Moreover, DSD projects usually face the same problems of co -localized projects, such as challenging schedules, quality loss, and cost overrun.Therefore, those congenital problems get even more difficult to be addressed in distributed projects.Hence, in order to alleviate these problems, it is essential to adopt a managerial approach, and tools for distributed collaborative work (Komi-Sirviö & Tihinen, 2005).This research aims to identify models and tools, reported in reliable scientific reports, effective on supporting the management of distributed software development projects.The method used to achieve this goal was a systematic literature review.
A systematic literature review evaluates and interprets all available research relevant to a particular research question or topic area.It aims to present an evaluation of the literature relative to a research topic by usi ng a rigorous and auditable methodology.This research follows guidelines defined by Kitchenham (2007) and Travassos (2007).

METHODOLOGY
The first step to perform a systematic literature review is the protocol definition, which must describe the research plan in details.This research protocol is summarized in the following sub -sessions.

Research Questions
The goal of the systematic review is to find evidences in the literature to answer the following questions: (RQ1) What are the existing models for mana ging distributed software development?(RQ2) What are the existing tools which support management activities on distributed software development?

Search Terms
The search terms used in this SLR are summarized in Table 1.

Scientific Sources
The

Study Exclusion Criteria
Studies matching some of the following cases were excluded from the analysis: (1) not available, ( 2) do not answer any of our research questions, (3) duplicated, and (4) not finished or incomplete.

Primary Study Selection Process
The primary study selection proc ess is described in Table 2.

Table 2: Document Selection Procedure
Step 1 Two researchers performed searches in order to identify potentially relevant studies.Then, the first selection was made based on reading titles, by excluding those papers which are clearly not relevant.
Step 2 The two lists -one from each researcher -were merged.
Step 3 Studies on the resulting list were evaluated , by reading abstract and conclusion.Then, by using the study selection criteria, a final list of relevant studies was created.
Step 4 The data was extracted from reading the entire content of the studies on the final list.

Extraction and Synthesis of Data
In order to organize the data extraction, analysis and synthesis of this research, we adopted the JabRef tool, which supports customizations, and ease s the literature review overall process.

RESULTS
The first search retrieved 867 studies from the chosen scientific databases.After performing the document selection procedure, 25 relevant articles were selected.
Table 3 shows the distribution of these articles among the resources.This SLR did not restrict the period of publications, although all selected studies were carried out between 2001 and 2009, as shown in Figure 1, which therefore portraits the relevance this theme has recently acquired.

DATA ANALYSIS
Among the selected studies, this research found relevant evidence to satisfactorily answer the two research questions.
Table 5 presents existing models for managing distributed software development .The NextMove project model allows the task coordination problem to be described in a more formal manner.Based on the NextMove framework, the NextMove distributed project management tool aims to help project teams in tracking, coordinating and commu nicating tasks in a distributed development environment.

TAPER [PS11]
A generic framework for establishing offshore development centers that is based on good practices to overcome these challenges.TAPER, as the acronym for the five phases of our framework's methodology: Trust, Assess, Prove, Enhance, and Reengineer CAMEL [PS4] The framework CARMEL supports mechanisms to manage the focus of the dialogue during the meetings .TAMRI [PS13] TAMRI (Task Allocation based on Multiple cRIteria), a tool that can support project managers in identifying suitable task allocations in a GSD project planning process.

Solar System [PS15]
Each functional organization in a virtual team is like a planet in solar system, as shown in big triangles.The key stakeholders comp ose the inner circle for communication and collaboration, while other less key stakeholders sit in the outer circle.

Framework to Enable Coordination [PS20]
A Framework to Enable Coordination in Distributed Software Development .The Information Repository is a centralized store for data from the various tools.The analysis engine needs to check adherence to project policies and issue alerts/advisories as needed.

Project Management
Model [PS25] Spiral type life cycle; Object -oriented system development process, using UML and UP specification languages; Incorporation of the procedural approaching proposed by PMBOK, expanding the management areas indicated.

Conceptual model for managing an international IS development project [PS12]
The conceptual model cons ists of environment, infrastructure, project management, project participants, communication, coordination, collaboration, information sharing tools, artifact sharing tools, development tools and IS development process with its start-up, construction and ending phases.

Project management framework [PS9]
The framework proposed is developed using Microsoft Project.While Microsoft Project takes care of most of the scheduling issues, the discipline of organizing interaction between various sites in the framework directly enables the following: Efficient communication between sites, Multiple views (at a load/release/product level) of the product, Efficient generation of project plan for a large product typically consisting of more than 200 features.

FINAL CONSIDERATI ONS
This research aimed to identify effective m odels and tools for managing Distributed Software Develop ment.Therefore, it is possible to notice that since 2000, the number of studies on DSD has increased, while only few tools have been developed.Moreover, most of the identified tools rely on simple communication features, such as e-mail and chat.Conseque ntly, there is a dearth of tools for supporting managerial process on distributed software development.However, accessing only five sources can be considered a threat to validity of his research, because many other sources seem to be relevant but, due to access restrictions, their papers could not be retrieved and analyzed.Future research must address this problem.Finally, models and tools for DSD still need further research with respect to integration of features and larger coverage of the issues that are novel in DSD with respect to co -located development.
search was performed only in those search engines and digital libraries available on the Internet and which are available through the Universidade Federal de Pernambuco (Federal University of Pernambuco) online library services: (1) IEEEXplore Digital Library; (2) ACM Digital Library; (3) ScienceDirect; (4) EI Compendex; (5) 2009 -4 th International Conference on Global Software Engineering (whose papers were not available on the IEEEXplore at the time the initial search as performed ).

Table 1 :
Search Terms

Table 4 :
Type of Studies