Hybridized Ranking Model for Prioritizing Functional Software Requirements: Case Study Approach

Hybridized Ranking Model for Prioritizing Functional Software Requirements: Case Study Approach

Ishaya Peni Gambo, Rhoda Ikono, Olaronke Ganiat Iroju, Theresa Olubukola Omodunbi, Oswaldo Kenan Zohoun
Copyright: © 2021 |Pages: 31
DOI: 10.4018/IJSI.289167
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Many difficulties exist when defining and deciding which requirements should be implemented first in an ultra-large-scale multi-stakeholder involved system. This often leads to system failure and product dissatisfaction. This paper established a suitable method supporting more precise and accurate decision-making in prioritizing requirements. The authors collected and analyzed a large number of software requirements in a case study, which was based on real-life practices and processes. Structured interviews and questionnaires were used to collect data from 600 stakeholders. They formulated a model based on the analyzed requirements using the CBRanking and the MACBETH approaches. They ranked the requirements and considered the requirements' relative importance according to the stakeholders' opinions. Thus, a hybridized mathematical model was proposed for prioritizing these functional requirements and evaluating its performance for consistency and completeness. The results showed the software's best functional requirements concerning the customers' expectations.
Article Preview
Top

Introduction

With the current trends in most software development (SD) industries, the ability to handle, manage, control, and implement multiple stakeholders' requirements within stipulated time and at a reduced cost is highly sorted. This justifies the need for a proper decision-making technique during SD (Colomo-Palacios et al., 2013; Drury et al., 2012; Dutoit et al., 2007). In practice, one of the widely used strategies which most software developers strictly follow is the software development lifecycle (SDLC). The SDLC is used as a framework to produce and test high-quality functional software that meets customers' expectations (Ali et al., 2017). We observed that many approaches to the SD process had been formulated; for example, the iterative enhancement (Basil and Turner, 1975) and the most adopted agile methodology (Cohen et al., 2004; Lindvall et al., 2004; Taromirad and Ramsin, 2008). Despite their differences, virtually all of them rely on the requirements engineering (RE) phase to develop, discover, invent, and collect appropriate requirements before the system is designed and implemented. In this context, requirements entail the expressions of needs and constraints for a software product that will solve real-life problems (Colomo-Palacios et al., 2010). Also, stakeholders' statements concerning the system under development that, when implemented, satisfy users' needs, and RE is the process by which the requirements are determined (Cheng and Atlee, 2009; Nuseibeh and Easterbrook, 2000; Parnas, 1998). To decide the final list of requirements for a particular release phase within budget and time constraints amidst multiple choices, it is essential to pay attention to a suitable decision-making strategy.

Unfortunately, there are many difficulties in defining and deciding which requirements should be implemented first in an ultra-large-scale multi-stakeholder complex system. This is one major challenge requirements' engineers are faced with (Gupta and Gupta, 2018). Requirements are generally inclined to troubles of disputes, the collision of concerns, the need for negotiation, prioritization, disparity, and disagreement amongst the stakeholders (Ahmad, 2008; In & Roy, 2001). This often leads to system failure (Mc Caffery et al., 2007; Taylor et al., 2008) and product dissatisfaction, if not adequately managed. Consequently, we argue in this paper on the need for sound decision-making during RE. In particular, we further justify the necessity for prioritizing software requirements with a suitable ranking technique to reduce development time. Specifically, we believe a hybridized ranking model will be needed to achieve these.

Therefore, this paper aims to uncover the limitations of existing techniques while leveraging their hybridization strength. The goal will be to design and implement the hybridize technique for prioritizing stakeholders' requirements in a large-scale system, thereby providing a tool that enables software developers to select the most mandatory and essential set of requirements for implementation.

To achieve this paper's goal, it becomes vital to answer the question that bothers on: (i) how can software developers use the hybridized technique to identify the most preferred requirements specified by stakeholders for execution at a given time? (ii) how do they make sure that the hybridized technique makes excellent and acceptable activities? We considered the concept of decision-making in the software engineering (SE) process, which is essential to developing quality software products. Thus, in a large-scale software development project, decision-making is inevitable to prevent further system failure (Gambo et al., 2018a). There are several techniques to adopt when prioritizing stakeholders' requirements based on several objectives. Most often, software developers can make the right decision by prioritizing different alternatives from stakeholders' expectations. We notice that these techniques are not always checked to choose the best decision because some aspects need to be considered. Some of these techniques are not implemented for software developers' benefits.

Complete Article List

Search this Journal:
Reset
Volume 12: 1 Issue (2024)
Volume 11: 1 Issue (2023)
Volume 10: 4 Issues (2022): 2 Released, 2 Forthcoming
Volume 9: 4 Issues (2021)
Volume 8: 4 Issues (2020)
Volume 7: 4 Issues (2019)
Volume 6: 4 Issues (2018)
Volume 5: 4 Issues (2017)
Volume 4: 4 Issues (2016)
Volume 3: 4 Issues (2015)
Volume 2: 4 Issues (2014)
Volume 1: 4 Issues (2013)
View Complete Journal Contents Listing