DEVELOPING THE SKILLS NEEDED FOR REQUIREMENT
ELICITATION IN GLOBAL SOFTWARE DEVELOPMENT
Miguel Romero
University of B´ıo-B´ıo, Department of Computer Science and Information Technologies
Avenida Andr´es Bello s/n 3780000 Chill´an, Chile
Aurora Vizca´ıno, Mario Piattini
University of Castilla-La Mancha, Alarcos Research Group - Institute of Information Technologies & Systems
Department of Information Technologies & Systems - Escuela Superior de Inform´atica
Paseo de la Universidad 4, 13071 Ciudad Real, Spain
Keywords:
Global Software Development, Requirement Elicitation, Training, Education.
Abstract:
The requirement elicitation stage is that which is most critical in the development of a software product. How-
ever, this stage is not covered on teaching courses with the required depth, nor is invested the necessary time in
training students and practitioners in these tasks. There is currently a trend towards global software develop-
ment (GSD) which complicates the process of elicitation requirements since, for instance, communication is
more difficult because stakeholders are geographically distributed. Moreover, the elicitation in GSD involves
a variety of characteristics that are not often taught in software engineering courses. This paper presents some
of the most important factors which may affect elicitation in GSD. Furthermore, we propose techniques with
which to help students and software engineers to develop some of the skills needed to carry out the elicitation
process in GSD.
1 INTRODUCTION
Independently of the methodological approach used,
the requirement elicitation phase is the first step in
the process of developing a software product. In such
stage requirements are discovered and documented
fulfilled which must satisfied by the software in or-
der to satisfy expectations and needs for clients and
users. The aforementioned stage is the most critical
phase in software development, because the mistakes
made at this stage are more expensive and difficult to
resolve owing to their impact upon the other stages. In
fact, the 85% of the defects in software systems come
from the requirement elicitation stage: 49% from in-
correct assumptions, 29% from omitted requirements,
13% from requirement inconsistency and 5% from
ambiguous requirements (Young, 2002).
Given the importance of this stage is fundamental
to have professionals trained in this process, who are
capable of accomplishing top-quality requirements
elicitation. However, professionals who have recently
graduated from universities lack the skills and abil-
ities necessary to carry out this stage properly be-
cause during their degree little time is usually spent
on training in this phase of software engineering and
they often do not perform professional practices. In
fact, according to a survey dealing with university
curriculums carried out amongst 214 software engi-
neers, the requirements elicitation process is ranked
second among the topics that should be improved in
its teaching at universities and third among the top-
ics that may have the greatest need for training (Leth-
bridge, 2000). This is a problem for companies since
they have difficulties in recruiting qualified personnel,
and it is also a problem for new graduates who may be
discriminated against because of their lack of experi-
ence. Because students do not graduate with the skills
necessary for requirement elicitation, they must ac-
quire these skills during their company training, and
it is therefore companies which take the responsibility
for and assume the costs of such training.
With the arrival of new trends in software develop-
ment, the gap between what is taught in universities in
the field of requirements engineering and what takes
place in practice is widening. One of these trends
is Global Software Development (GSD) (Herbsleb,
2007). GSD has grown considerably in recent years
due to the culture of globalization and other factors
393
Romero M., Vizcaíno A. and Piattini M. (2008).
DEVELOPING THE SKILLS NEEDED FOR REQUIREMENT ELICITATION IN GLOBAL SOFTWARE DEVELOPMENT.
In Proceedings of the Tenth International Conference on Enterprise Information Systems - DISI, pages 393-396
DOI: 10.5220/0001671103930396
Copyright
c
SciTePress
such as offshoring, and it will continue to do so (As-
pray et al., 2006). However, this practice is causing
some challenges (Herbsleb and Moitra, 2001): prob-
lems caused by inadequate communication, problems
caused by the cultural diversity, problems in knowl-
edge management, and problems caused by time dif-
ferences.
The objective of our work is to study what fac-
tors influence the global requirement elicitation pro-
cess and to propose a set of techniques through which
to develop some of the skills needed for this process
in students and practitioners.
The following section describes the most impor-
tant factors that influence the success or failure of an
elicitation requirements in GSD. Various skills which
would be desirable in order to carry out this process
are outlined in Section Three. Our proposal is ex-
plained in Section Four, and finally in Section Five
some conclusions and future work are presented.
2 FACTORS INVOLVED IN THE
REQUIREMENT ELICITATION
IN GSD
Multiple factors determine the success or failure of a
GSD project. Herbsleb and Moitra (2001) present the
problem of GSD and raise the issue of the dimensions
that characterize it. These are: strategic issues, cul-
tural issues, inadequate communication, knowledge
management, project and process management issues,
technical issues.
These dimensions were studied by Damian and
Zowghi (2002) in order to identify how these prob-
lems affect each phase of engineering requirements.
The challenges identified for the elicitation stage are
shown below: differences in customer culture and
business (Cultural diversity), achieving appropriate
participation of system users and field personnel (In-
adequate communication, Time difference), and man-
age conflict and have open discussion of interests (In-
adequate communication, Knowledge management,
Time difference).
Rafo and Setamanit (2005) present a list of im-
portant factors in GSD which is grouped into three
categories:
The fundamental factors: Communication prob-
lems, Coordination and control problems, Cul-
tural differences, Language difference, Time-
Zone differences.
The strategic factors: Development site, Product
architecture, Development strategy, Distribution
overhead, Distribution effort loss.
Organizational factors: Team formulation, Team
dynamics.
Bhat et al. (2006) identify the success factors in
offshoring outsourcing projects based on root-cause
analysis. The factors which were identified are:
Shared goal, Shared culture, Shared process, Shared
responsibility, Trust.
In summary, the factors that have a major impact
in the requirementselicitation in GSD. The factors are
the following ones: cultural differences, communica-
tion, time difference, knowledge management, lan-
guage difference, trust, team formulation and team
dynamics.
These relevant factors are considered in the defini-
tion of the basic skills for the requirements elicitation
in GSD presented in the following section.
3 BASIC SKILLS FOR
REQUIREMENTS
ELICITATION IN GSD
A list of 31 skills which are necessary for analyst
requirements is presented in Young (2006) . Some
of the skills presented are the following: criteria for
a good requirement, customer/user involvement with
requirements (joint team), identifying real require-
ments (from the stated requirements), anticipating
and controlling requirement changes, and so on.
This list of abilities is a good starting point, but it
does not consider particulars aspects of elicitation in
GSD.
Different skills for GSD are discussed in the lit-
erature. By example, the next list of skill is pre-
sented in Damian et al.(2006): international Team-
work, computer mediate communication, iterative de-
velopment in remote client-developer relationships,
living with ambiguity/uncertainty in remote teams,
and distributed project management.
Taking into account those skill and the factors
mentioned in the previous section, we identified the
following basic skills that a global requirement engi-
neer should have:
Knowledge of culture. A knowledge of the norms,
beliefs, business ethos, and skill in the native lan-
guage of the potential client is highly important
(Nguyen et al., 2006; Huang and Trauth, 2007).
Therefore software engineers should get used to deal-
ing with people who have different customs, culture
and even ways of interacting.
International Teamwork. Work in distributed
teams to solve large problems and collaborativedevel-
opment of shared understanding of project goal and
ICEIS 2008 - International Conference on Enterprise Information Systems
394
constraints (Damian et al., 2006), in addition the skills
to elicit requirements in distributed environment.
Communication skills. As was mentioned in the
previous section, one of the biggest problems in GSD
is communicationbecause stakeholders are geograph-
ically distributed. To face this problem the engineers
need the following skills:
Conversational skills in English language, be-
cause it is the most common business language
(Adya, 2006; Huang and Trauth, 2007; Richard-
son et al., 2007).
Knowledge of Communication protocols and
strategies, in order to avoid potential miscom-
munications and misinterpretations (Huang and
Trauth, 2007; Richardson et al., 2007).
Using groupware tools such as: e-mail, video con-
ference, wiki, instant message, and so on to com-
municate. Therefore, one of the skills that a soft-
ware engineer should have is knowing how to use
this kind of tools in order to obtain the maximum
benefit from them (Damian et al., 2006; Richard-
son et al., 2007).
4 TECHNIQUES TO DEVELOP
SKILLS
In order to develop these skills in software engineers
or even in students we propose using techniques of
simulation and artificial agents.
Simulation is a technique which has been used in
teaching for many years. It is successfully used, for
example, in medicine and aviation. The main advan-
tage is that it allows students to train themselves with-
out the risk of a real environment and at a lower cost.
Educational Virtual Environments (EVEs) are fre-
quently used for simulation. These environments use
Virtual Reality (VR) to create virtual worlds in which
students (Ieronutti and Chittaro, 2007):
Directly experience certain physical properties
(e.g. shape, size and time duration) of objects and
events.
Change their point of view in order to access new
and/or unusual perspectives.
Interact with objects either to discover and study
their hidden elements or to evaluate the effects of
their manipulation.
In training EVEs can, moreover (Ieronutti and Chit-
taro, 2007):
Provide a low-cost alternative to creating full-
scale physical training scenarios.
Offer the opportunity to create a wide variety of
scenarios including those rarely (or never previ-
ously) encountered in the real world.
Simulate training scenarios that can be run repeat-
edly.
Include a monitoring of progress during training
sessions to evaluate learners’ skills.
In Sims (2007) an EVE is presented which uses a Vir-
tual Human with the goal of training students in the
Arabic language and in Arabic cultural familiariza-
tion. Some of the cultural aspects that are discussed
in this EVE are:
Appropriate and inappropriate use of honorific
and family names.
Colloquial terms for policemen, soldiers, and
strangers.
Iraqi gestures that may be misinterpreted by
Americans, and American gestures that may be
misinterpreted by Iraqis.
Methods to calm tense situations.
Proper and improper ways in which to interact
with Iraqi women.
Showing respect for family relationships.
Other EVE is Lok (2006) where the virtual Human are
use for simulating the patients who are interviewed by
the students of medicine. The interaction between vir-
tual patient and students are talk in a natural manner.
In the context of global requirement elicitation, a
simulation environment that uses virtual reality will
be useful in teaching students and practitioners how
they should perform interviews or maintain a conver-
sation with different types of stakeholders.
The artificial agents paradigm constitutes a natu-
ral metaphor for systems with purposeful interacting
agents, and this abstraction is close to the human way
of thinking about their own activities (Wooldridge and
Ciancarini, 2000). This foundation has led to an in-
creasing interest in social aspects such as motivation,
leadership, culture or trust (Fuentes et al., 2004).
We propose the use of artificial agents to model
the EVE because:
Agents operate without the direct intervention of
humans or others, and have some kind of control
over their actions and internal states (Autonomy).
Agents interact with other agents (and possibly
humans) via some kind of agent communication
language. This feature will be highly important
in the simulation of human interactions in dis-
tributed teams (Social Ability).
DEVELOPING THE SKILLS NEEDED FOR REQUIREMENT ELICITATION IN GLOBAL SOFTWARE
DEVELOPMENT
395
Agents perceive their environment and respond in
a timely fashion (reactivity).
Agents can take the initiative and achieve their
own goals (Pro-activeness).
It is therefore possible to implement an EVE with dif-
ferent agents which have different types of behavior
and simulate people of different cultures, characters
or language, thus assisting software engineering and
students to develop the desirable skills work in elici-
tation groups in GSD.
5 CONCLUSIONS
GSD is a current trend. However, although this
paradigm has several advantages it also brings cer-
tain disadvantages which have been summarized in
this paper. In order to decrease the effect of some
of these problems we propose using different tech-
niques to train students and practitioners in working
with people who are geographically distributed and
who may have different cultures, languages and time
zones.
As future work we are going to develop of a sim-
ulator based on virtual agents which will allow stu-
dents to be trained in the process of elicitation require-
ments in the area of global development. The agents
will permit the simulation of stakeholders’ behaviour
by considering cultural, cognitive and geographic as-
pects, and also time differences.
ACKNOWLEDGEMENTS
This work is partially supported by the MELISA
project (PAC08-0142-3315), Junta de Comunidades
de Castilla-La Mancha, Consejer´ıa de Educaci´on
y Ciencia, in Spain; ESFINGE project (TIN2006-
15175-C05-05) Ministerio de Educaci´on y Cien-
cia (Direcci´on General de Investigaci´on)/Fondos Eu-
ropeos de Desarrollo Regional (FEDER) in Spain;
the CompetiSoft project (506AC0287, CYTED pro-
gram).
REFERENCES
Adya, M. P. (2006). Imparting global software development
experience via an it project management course: Crit-
ical success factors. In COMPSAC’06, pp. 51–52.
Aspray, W., Mayadas, F., and Vardi, M. (2006). Glob-
alization and Offshoring of Software. Association
for Computing Machinery (ACM), Job Migration
Task Force, March 2006. ACM 0001-0782/06/0200,
http://www.acm.org/globalizationreport.
Bhat, J. M., Gupta, M., and Murthy, S. N. (2006). Overcom-
ing requirements engineering challenges: Lessons
from offshore outsourcing. IEEE Software, 23(5):38–
44.
Damian, D., Hadwin, A., and Al-Ani, B. (2006). In-
structional design and assessment strategies for teach-
ing global software development: a framework. In
ICSE’06,pp. 685–690.
Damian, D. E. and Zowghi, D. (2002). The impact of
stakeholders’ geographical distribution on managing
requirements in a multi-site organization. In RE’02,
pp. 319–328.
Fuentes, R., G´omez-Sanz, J., and Pav´on, J. (2004). A Social
Framework for Multi-agent Systems Validation and
Verification. Wang, S. et al (Eds.) ER Workshop 2004,
Springer Verlag, LNCS, 3289:458–469.
Herbsleb, J. D. (2007). Global software engineering: The
future of socio-technical coordination. In FOSE’07 at
ICSE’07, pp. 188–198.
Herbsleb, J. D. and Moitra, D. (2001). Guest editors’ in-
troduction: Global software development. IEEE Soft-
ware, 18(2):16–20.
Huang, H. and Trauth, E. (2007). Cultural influences
and globally distributed information systems develop-
ment: experiences from chinese it professionals. In
SIGMIS-CPR ’07, pp. 36–45.
Lethbridge, T. (2000). What knowledge is important to a
software professional? IEEE Computer, 33(5):44–50.
Lok, B. (2006). Teaching communication skills with virtual
humans. IEEE Computer Graphics and Applications,
26(3):10–13.
Ieronutti, L. and Chittaro L. (2007). Employing virtual hu-
mans for education and training in x3d/vrml worlds.
Computer & Education, 2007(49):93–109.
Nguyen, P., Babar, M., and Verner, J. (2006). Critical fac-
tors in establishing and maintaining trust in software
outsourcing relationships. In ICSE’06, pp. 624–627.
Raffo, D. and Setamanit, S. (2005). A simulation model for
global software development project. In The Interna-
tional Workshop on Software Process Simulation and
Modeling.
Richardson, I., Moore, S., Paulish, D., Casey, V., and Zage,
D. (2007). Globalizing software development in the
local classroom. In CSEET’07, pp. 64-71.
Sims, E. M. (2007). Reusable, lifelike virtual humans for
mentoring and role-playing. Computers & Education,
2007(49):75–92.
Wooldridge, M. and Ciancarini, P. (2000). Agent-Oriented
Software Engineering: The State of the Art. First Int.
Workshop on Agent-Oriented Software Engineering,
LNCS 1957:1–28.
Young, R. (2002). Recommended requirements gathering
practices. CROSSTALK The Journal of Defense Soft-
ware Engineering, 2002(April).
Young, R. (2006). Twelve requirements basics for project
success. CROSSTALK The Journal of Defense Soft-
ware Engineering, 2006(December).
ICEIS 2008 - International Conference on Enterprise Information Systems
396