A SYSTEMATIC LITERATURE REVIEW OF REQUIREMENTS
ENGINEERING IN DISTRIBUTED SOFTWARE
DEVELOPMENT ENVIRONMENTS
Thaís Ebling, Jorge Luis Nicolas Audy and Rafael Prikladnicki
Pontifical Catholic University of Rio Grande do Sul (PUCRS),Porto Alegre, Brazil
Keywords: Distributed Software Development, Requirements Engineering, Systematic Literature Review.
Abstract: On analyzing the main characteristics of Distributed Software Development (DSD) phenomenon, we can
notice that they particularly affect Requirements Engineering (RE). With the evolution of this phenomenon,
the result is an increasing in the existent literature. For this reason, in this paper we report from a systematic
review of the DSD literature, where we looked for challenges and possible solutions related to RE in DSD
environments. We also discuss gaps of this research area, which can be used to guide future researches.
1 INTRODUCTION
Distributed software development (DSD) is
becoming the norm for today’s software projects. Its
characteristics (physical and temporal distance,
cultural and language differences), affect activities
that require constant communication and
cooperation, like Requirements Engineering (RE).
On perceiving (i) the growth of the DSD; (ii) the
increasing of studies about this phenomenon; (iii)
the heterogeneous literature about this research area
(Prikladnicki et al, 2008); and (iv) the relevance of
RE for DSD environments; the goal of this paper is
to report from a Systematic Literature Review (SLR)
of RE in DSD environments. Our contribution relies
on the categorization of the studies found and
identification of the challenges and solutions. In the
next Section we present the details of our SLR; in
Section 3 we present the main challenges and
existing solutions found; and in Section 4 we
conclude the paper.
2 LITERATURE REVIEW
A systematic literature review helps to identify and
interpret relevant studies for a specific question. Our
SLR follows the recommendations provided by
Biolchini et al (2005) and Kitchenham (2004) and
was executed between April and June of 2008.
Research Questions. The main purpose of our SLR
was to find existing studies that propose or explore
challenges and solutions of RE in DSD
environments, identifying possible gaps in the
research area. The following research questions were
defined:
Research Question 1: Which are the main
difficulties and challenges of DSD environments, in
respect to RE?
Research Question 2: Which are the available
methods, models, techniques and approaches to RE
in DSD environments?
Research Question 3: Which are the available
tools to support RE in DSD environments?
Sources Selection. We searched digital libraries
such as ACM Digital Library, IEEEXplore,
SpringerLink and ScienceDirect. The search strings
were defined using logical expressions, keywords
and synonymous based on the research questions.
Studies Selection. We searched for studies in
English and ranging from the year 2000 to 2008. We
read the title and abstract from the papers found,
excluding those not related to the research questions.
Information Extraction. We have conducted both
quantitative (Table 1) and qualitative (Section 3)
analyses of the selected papers. The type of study
was defined according to Neto et al (2007) and the
DSD Model was defined according to Prikladnicki et
al (2007).
Study developed by the Research Group on Distributed Software
Development of the PDTI 01/2008, financed by Dell Computers
of Brazil Ltd. with resources of Law 8.248/91.
363
Ebling T., Luis Nicolas Audy J. and Prikladnicki R. (2009).
A SYSTEMATIC LITERATURE REVIEW OF REQUIREMENTS ENGINEERING IN DISTRIBUTED SOFTWARE DEVELOPMENT ENVIRONMENTS.
In Proceedings of the 11th International Conference on Enterprise Information Systems - Information Systems Analysis and Specification, pages
363-366
DOI: 10.5220/0001995403630366
Copyright
c
SciTePress
Table 1: Quantitative Analysis.
Challenges References Type of study Empirical
focus
DSD Model
Method, Model, Technique, Approach
Communication issues
(Damian et al 2006) Empirical Validation Offshore outsourcing
(Mikulovic and Heiss, 2006) Industrial
Experience
Proposal Not Defined
(Aranda et al, 2006) Empirical Proposal Not Defined
(Korkala and Abrahamsson,
2007)
Empirical Proposal Not Defined
(Layman et al, 2006) Empirical Proposal Offshore
Lack of common understanding of
requirements
(Heindl and Biffl, 2006) Empirical Proposal Offshore insourcing
(Berenbach and Gall, 2006) Empirical Proposal Offshore outsourcing
Lack of collaboration X X X X
Lack of common goals X X X X
National and organizational cultural differences X X X X
Change Management issues X X X X
Knowledge Management issues X X X X
Lack of efficient tools and techniques
(Lloyd et al, 2002) Experimental Proposal Not Defined
Tools
Knowledge Management issues
(Cubranic et al, 2004) Empirical Validation Not Defined
Lack of common goals/National and
organizational cultural differences
(Seyff et al, 2005) Empirical Validation Not Defined
Lack of common understanding/Knowledge
Management issues/Change Management issues
/Communication issues/Lack of collaboration
(Sinha et al, 2006)
Empirical
Validation
Not Defined
Communication issues/Lack of collaboration
(Calefato and Lanubile, 2005) Empirical Validation Not Defined
Result summarization: (i) there is a tendency for proposals related to communication problems (58%); (ii) most of the proposals are empirical studies
(83%); (iii) all proposals used empirical focus, to propose or to validate the studies; (iv) most of the studies don’t described the DSD model (66%); (v)
several of the main challenges identified are not the focus of any method, model, technique or approach proposed.
Total of methods, models, techniques and approaches: 8 – 67%; Total of tools: 4 – 33%; Total of proposals: 12 – 100%
3 QUALITATIVE ANALYSIS
3.1 Challenges Identified
Communication Issues. Geographic dispersion
makes it hard the communication about
requirements and the lack of informal
communication negatively impacts relationship
building (Damian and Zowghi, 2002; Bhat et al,
2006; Damian, 2007). The time differences impact
mainly the usage of synchronous and asynchronous
communication tools (Berenbach, 2006). There is
still a long way from understanding what media are
suitable for the communication among distributed
stakeholders (Herbsleb, 2007).
Lack of Common Understanding of
Requirements. In DSD environments, the
difficulties of achieving a common understanding
about the requirements are amplified and much
effort has to be spent on this task (Herbsleb 2007;
Kommeren and Parviainen, 2007). Lack of common
understanding only surface when they are expensive
to fix (Sengupta et al, 2006) and can led to
requirements misinterpretation, unshared
information and difficulties on collaboration
between stakeholders (Damian and Zowghi, 2002;
Cheng and Atlee, 2007; Damian, 2007).
Lack of Collaboration. Lack of collaboration
between distributed stakeholders happen due to
differences in culture, language, distance and
processes (Damian, 2007; Damian and Zowghi,
2002; Bhat et al, 2006).
Lack of Common Goals. In DSD environments, it’s
hard to establish common goals, due to the problems
in communication and lack of common
understanding (Bhat et al, 2006; Damian and
Zowghi, 2002). This can cause different viewpoints
and priorities on development process (Berenbach,
2006).
National and Organizational Cultural
Differences. Cultural differences are the reason of
the use of multiple RE processes and tools, causing
problems, like rework, loss of data, difficulties to
duplicate errors, confusion about how the work is
done, etc. (Herbsleb, 2007; Berenbach, 2006;
Damian, 2007; Bhat, et al, 2006). Differing attitudes
and communication styles often result in
stakeholders’ misinterpretation and difficulties to
understand the requirements (Damian, 2007;
Damian and Zowghi, 2002; Herbsleb, 2007),
particularly when they are from different
organizations, with different work environments
(Damian and Zowghi, 2002; Cheng and Atlee,
2007). The distributed requirements analysis is
ICEIS 2009 - International Conference on Enterprise Information Systems
364
particularly affected (Berenbach, 2006; Audy et al,
2004).
Change Management Issues. Change Management
can be a daunting task in RE in DSD environments
(Sengupta et al, 2006; Bhat et al, 2006), especially if
there are not defined organizational policies for this
(Berenbach, 2006). Kommeren and Parviainen
(2007) said that changes in requirements increase the
communication, which is a problematic issue. The
distance between those originating requirements
changes and those with decision-making, difficult
this task (Damian, 2007). Jacobs et al (2005) noted a
concentration of injection defects in the
Requirements Specification phase, especially where
changes are being handled.
Knowledge Management Issues. Requirements
information was not appropriately shared with
distributed stakeholders (Damian and Zowghi, 2002;
Herbsleb, 2007), affecting the interaction between
them (Damian, 2007).
Lack of Efficient Tools and Techniques. For DSD
environments, Sengupta et al (2006) suggested the
development of collaborative environments that
encompass all phases of software development.
Cheng and Atlee (2007) suggested new or extended
RE techniques to support and to effective manage
distributed requirements.
3.2 Methods, Models, Techniques and
Approaches Identified
Communication Issues. Mikulovic and Heiss
(2006), Layman et al (2006) and also, Korkala and
Abrahamsson (2007) suggest techniques to reduce
the problems that can emerge in communication
about requirements, such as: apply personal domain
knowledge; define a person responsible for
requirements specification and prioritization; use of
direct communication channels between the
developers, etc. Aranda et al (2006) proposed a
method to select elicitation techniques and
groupware tools, according to stakeholders'
preferences and Damian et al (2006) argue that
synchronous tools should be used for requirements
negotiation and asynchronous tools are valuable to
structure the discussions before these negotiations.
Lack of Common Understanding of
Requirements. To increase the common
understanding of requirements, Heindl and Biffl
(2006) proposed a model that stores the relationship
about the requirements and business goals and
Berenbach and Gall (2006) proposed new UML
symbols and relationships to integrate functional,
non-functional requirements and use cases.
Lack of Efficient Tools and Techniques. Lloyd et
al (2002) argue that Question and Answer,
Brainstorming, Requirements Management, and Use
Cases are the most effective requirements elicitation
techniques for DSD.
3.3 Tools Identified
Knowledge Management Issues. Cubranic et al
(2004) proposed the Hipikat tool, which helps the
distributed knowledge management, suggesting
relevant artefacts (including requirements) to the
developer tasks.
Lack of Common Goals/National and
Organizational Cultural Differences. Seyff et al
(2005) proposed the ARENA-M. This tool allows
participating anywhere-anytime using mobile
devices and supporting requirements elicitation
performed directly in the work environment of
future uses.
Communication Issues/Lack of Common
Understanding of Requirements/Change
Management Issues/Knowledge Management
Issues. Sinha et al (2006) proposed the EGRET.
This tool offers synchronous and asynchronous
communication, storage of the conversations, change
and knowledge management.
Communication Issues/Lack of Collaboration.
Calefato and Lanubile (2005) suggested the
eConference. This tool offers asynchronous
communication, structured discussions, calendar and
mechanisms for coordination and control.
4 CONCLUSIONS
#1: Tendency for Empirical Studies. In our SLR,
most of the proposals were empirical (83%),
corroborating with the findings of Prikladnicki et al
(2008), where the authors also noted the tendency
for empirical studies on DSD.
#2: Tendency for Studies with Empirical Focus.
All the proposals were empirically based, proposing
or validating something, which is good since it
provides credibility to the proposals.
#3: Better Description of DSD Models. In our
SLR, 66% of the proposals don’t describe the DSD
model, corroborating with Šmite et al (2008), where
the authors argue that in order to understand the
A SYSTEMATIC LITERATURE REVIEW OF REQUIREMENTS ENGINEERING IN DISTRIBUTED SOFTWARE
DEVELOPMENT ENVIRONMENTS
365
applicability of the studies, the DDS scenario
involved in the study shall be specified.
#4: Proposals Related to Communication. We
found a tendency for proposals related to
Communication (58%). Communication is crucial to
the ER in DSD environments, like declared by
several. However, we did not find proposals for
other important challenges, which can be an idea for
future investigation within this area.
REFERENCES
Aranda, G. N., Cechich, A., Vizcaino, A., Piattini, M. and
Castro-Schez, J. J. 2006. “Cognitive-based rules as a
means to select suitable groupware tools”. In Int’l
Conf on Cognitive Informatics.
Audy, J., Evaristo, R. and Watson-Manheim, M. B. 2004.
“Distributed Analysis: The Last Frontier?”. In Int’l
Conf on System Sciences.
Berenbach, B. 2006. “Impact of organizational Structure
on Distributed Requirements Engineering Processes:
Lessons Learned”. In Int’l Conf on Software
Engineering.
Berenbach, B. and Gall, M. 2006. “Toward a Unified
Model for Requirements Engineering”. In Int’l Conf
on Global Software Engineering.
Bhat, J. M., Gupta, M. and Murthy, S. N. 2006.
“Overcoming Requirements Engineering Challenges:
Lessons from Offshore Outsourcing”. In IEEE
Software.
Biolchini, J., Mian, P.G., Natali, A.C.C. and Travassos,
G.H. 2005. “Systematic review in software
engineering”. Technical report, Systems Engineering
and Computer Science Department.
Calefato, F., and Lanubile, F. 2005. “Using The
Econference Tool for Synchronous Distributed
Requirements Workshops”. In Int’l Workshop on
Distributed Software Development.
Cheng, B. H.C. and Atlee, J. M. 2007. “Research
Directions in Requirements Engineering”. In Int’l
Conf on Software Engineering.
Cubranic, D., Murphy, G. C., Booth, K. S. and Singer, J.
2004. “Learning from Project History: A Case Study
for Software Development”. In ACM Conf on
Computer Supported Cooperative Work.
Damian, D. 2007. “Stakeholders in Global Requirements
Engineering: Lessons Learned from Practice”. In IEEE
Software.
Damian, D. E. and Zowghi, D. 2002. “The impact of
stakeholders’ geographical distribution on managing
requirements in a multi-site organization”. In Int’l
Conf on Requirements Engineering.
Damian, D., Lanubile, F. and Mallardo, T. 2006. “The role
of asynchronous discussions in increasing the
effectiveness of remote synchronous requirements
negotiations”. In Int’l Conf on Software Engineering.
Heindl, M. and Biffl, S. 2006. “Risk Management with
Enhanced Tracing of Requirements Rationale in
Highly Distributed Projects”. In Int’l Conf on Software
Engineering.
Herbsleb, J. D. 2007. “Global Software Engineering: The
Future of Socio-technical Coordination”. In Int’l Conf
on Software Engineering.
Jacobs, J., Moll, J.V., Krausec, P., Kusters, R., Trienekens,
J. and Brombacher, A. 2005. “Exploring defect causes
in products developed by virtual teams”. In
Information and Software Technology.
Kitchenham, B. 2004. “Procedures for Performing
Systematic Reviews”. Technical Report SE0401,
Keele University.
Kommeren R. and Parviainen, P. 2007. “Philips
experiences in global distributed software
development”. In Empirical Software Engineering.
Korkala, M. and Abrahamsson, P. 2007. “Communication
in Distributed Agile Development: A Case Study”. In
Conf on Software Engineering and Advanced
Applications.
Layman, L., Williams, L., Damian, D. and Bures, H. 2006.
“Essential communication practices for Extreme
Programming in a global software development team”.
In Information and Software Technology.
Lloyd, W. J., Rosson, M. B. and Arthur, J. D. 2002.
“Effectiveness of Elicitation Techniques in Distributed
Requirements Engineering”. In Int’l Conf on
Requirements Engineering.
Mikulovic, V. and Heiss, M. 2006. ”How do I know what
I have to do? - The Role of the Inquiry Culture in
Requirements Communication for Distributed
Software Development Projects”. In Int’l Conf on
Software Engineering.
Neto, A. C. D., Subramanyan, R., Vieira, M., Travassos,
G. H. “Characterization of Model-based Software
Testing Approaches”. In Technical Report TR – ES
713/07, COPPE/UFRJ.
Prikladnicki, R., Audy, J. L. N., Damian, D., Oliveira, T.
C., “Distributed Software Development: Practices and
challenges in different business strategies of
offshoring and onshoring”. 2007. In Int’l Conf on
Global Software Engineering.
Prikladnicki, R.; Damian, D.; e Audy, J. L. N. 2008.
“Patterns of Distributed Software Development
Evolution: A systematic review of the literature”. In
Int’l Conf on Evaluation and Assessment in Software
Engineering.
Sengupta, B., Sinha, V. and Chandra, S. 2006. “A
Research Agenda for Distributed Software
Development”. In Int’l Conf on Software Engineering.
Seyff, N., Hoyer, C., Kroiher, E. and Grünbacher, P. 2005.
“Enhancing GSS-based Requirements Negotiation
with Distributed and Mobile Tools”. In Int’l
Workshops on Enabling Technologies: Infrastructure
for Collaborative Enterprise.
Sinha, V. and Sengupta, B. 2006. ”Enabling Collaboration
in Distributed Requirements Management”. In IEEE
Software.
Šmite, D., Wohlin, C., Feldt, R. and Gorschek, T. 2008.
"Reporting Empirical Research in Global Software
Engineering: a Classification Scheme". In Int’l Conf
on Global Software Engineering.
ICEIS 2009 - International Conference on Enterprise Information Systems
366