An Ambiguity Minimization Technique During
Requirements Elicitation Phase
Joseph Kibombo Balikuddembe, PhD
College of Computing and information Technology,
Makerere University
Kampala, Uganda
jbalikud@cis.mak.ac.ug
Micheal Tuape, BSC
College of Computing and information Technology,
Makerere University
Kampala, Uganda
mtuape@cis.mak.ac.ug
Abstract— The ability to achieve valid requirements and
subsequently delay in software projects is caused by ambiguity
among other factors. This paper proposes an ambiguity
minimization technique during requirements, this technique is
premised on the view that wrong system objectives and business
requirements results in problems characterizing the entire
software. Since these objectives are defined during the elicitation
phase, we used data from 3 companies in industry to relate the
system objective to the business need so as to provide a desired
product. We use set theory from a calculus perspective, to design
a mapping technique to achieve clear requirement.
Keywords—Requirements engineering; ambuiguty in
requirements; requirements engineering techniques; procject
success, requirements modelling
I. INTRODUCTION
The notion of requirements going wrong on a software
project still continues to be an issue and perhaps a causative
for software project failure [1]. In this case, failure is
understood as a condition in which the software fails to
perform as expected or is cancelled before even the project is
completed [2]. Primary among the complex variables that
affect our ability to achieve valid requirements and delay in
software projects is ambiguity [3]. Usually, the goal of
Requirements Engineering (RE) is to provide an adequate
understanding of a software to be built. RE fundamentally
relies on the informal idea expressed by the client, and since
the software builders must translate this intention into the
nature of the intended product, this intention must be clear in
order for the common understanding to be achieved [4].
Hence, all of the tasks necessary to achieve this goal, and all
of the knowledge assembly and transfer involved in
accomplishing those tasks, are dependent on informal ideas;
with the assumption that they are un-ambiguous among
stakeholders [5, 6].
We thus need mechanisms that can support our customers
to express themselves better about their needs and also
approaches to interpreting these needs technically in a
unionized view. To date, the industry has proposed various
techniques as described later on. However, we still see a
reoccurrence of project failure. Unlike other technical or
engineering fields, software engineering is dependent on
human mind, effort and organization [7]. From the day a
project starts to the day it is retired. Agile processes have been
instrumental in mitigating this risk by recognizing the
evolution in elicitation of requirements as a mechanism for
unlocking ambiguity [8].
We cannot lose site of the fact that the primary measure of
the success of a software is the degree to which it meets the
purpose for which it was intended [9]. Inhere we describe and
illustrate an ambiguity minimization technique which can be
applied during the requirements elicitation stage of the project.
To illustrate our approach, we analyze the business needs and
the requirement of a client as a predicate for a clear detailed
requirement. With this we can significantly trace the exact
point of entry of ambiguity and from thereon rework
backwards to achieve a clear understanding of the intended
need and consensus on the requirements.
II. AMBIGUITY MITIGATING TECHNIQUES
Available studies show that some work has been done to
solve the issue of ambiguity. For example, Beg. et al have
proposed a lexical ambiguity mitigating technique in which
they check the lexical type of ambiguities, especially the
ambiguity related to homonyms, heteronyms and
homographs[10]. Validation has also been applied to mitigate
this risk [11]. This measure is geared towards the assurance
that there is confirmation by examination and provision of
objective evidence that software specifications conform to
user needs and intended uses. In one of the studies, an
ontology framework has been proposed as a mechanism to
elicit system requirements unambiguously and appropriately
[12]. Out of this framework, four types of ontology
frameworks have been established; top level ontology, domain
ontology, task ontology and application ontology.
We have also observed that automated and semi-automated
approaches have been proposed before. For instance,
Alpino[13] is a natural language analysis tool designed for the
Dutch language as a maximum entropy based disambiguation
component. Artificial Intelligence approaches have also been
proposed by [14] to try and disambiguate natural language
requirements. The computational linguistics technique has also
been applied to analyze textual scenarios by identifying where
2017 International Conference on Computational Science and Computational Intelligence
978-1-5386-2652-8/17 $31.00 © 2017 IEEE
DOI 10.1109/CSCI.2017.164
945