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 AbstractThe 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. KeywordsRequirements 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