Solutions for Software Requirement Risks Using Artificial Intelligence Techniques

Solutions for Software Requirement Risks Using Artificial Intelligence Techniques

Vijaya Kumar Reddy R., U. Rahamathunnisa, P. Subhashini, H. Mickle Aancy, S. Meenakshi, S. Boopathi
DOI: 10.4018/978-1-6684-8145-5.ch003
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software projects have a very high probability of failure, and a major reason for this is a poor requirement engineering process. Requirement elicitation and documentation are the primary and most vital steps in the software development life cycle. There is a lack of a model or framework that deals with these risks in parallel, and a lot of work is needed to manage them holistically. This chapter includes the identification of factors that affect successful software development and explores various sources of requirement risks. It intends to create an intelligent framework for managing VUCA risks in software requirements. The relationship between VUCA and terrorism risks identification at an early stage using fuzzy logic, ANFIS, and intelligent Bayesian network models. The framework includes a model for volatile requirement prioritization and a model for requirement ambiguity and uncertainty management.
Chapter Preview
Top

Introduction

The software business has radically altered our way of life by affecting practically every aspect of it. The growth of the software industry is a result of users' rising needs for customization and convenience. The tech industry has a significant positive impact on employment, exports, economic growth, and global trade. More “intelligent” products and apps will be created in the next few years, including watches, cars, home appliances, and even eyewear. As a result, Forrester Research predicts that the market for software products will keep expanding and improving. The software industry generates more than a trillion dollars annually in the US alone. The annual salaries of software developers are more than twice as high as those of all other US employees. According to IBEF figures, the predicted costs for packaged applications are visible in the BRIC countries of Brazil, Russia, India, and China. About 8% of India's GDP comes from the country's software sector (Naseem et al., 2021; Shaukat et al., 2018). Around 200 billion USD in revenue is generated by the sector, of which 150 USD comes from exports. The software sector has generated 12 million prospects for indirect employment in addition to 4 million direct positions.

Software development is a dynamic process that advances continuously to address the various business needs of its clients and end users. Many SMEs (small and medium enterprises) in India have benefited from the inclusion of the software industry, which also supports the formal economy. It has helped to digitise a number of industries, including banking and rail. The list of features that every system must have in order to meet client expectations is a well-defined requirement. The successful completion of software projects depends heavily on the effective management of these requirements. A proactive methodology is a better strategy for risk assessments. Early on in the software development process, it can be challenging to identify these risk-related requirements. To analyse and evaluate these requirements, a team of software domain specialists is needed. These hazards must be foreseen in advance for software development to be successful. For the prediction of risks in the requirements, a method comprising software requirement risks is necessary. These requirement-based hazards are currently predicted, classified, and prioritised using methods that are not based on formal modelling methodologies (Letier et al., 2014).

Risk management in software development includes risk assessments as a crucial component. They are informal, highly subjective assessments made by a risk group or team. The benefit of having a team of requirement specialists conduct this analysis is not available for all software projects. As they are labour-intensive and extremely subjective, the risk assessment techniques that are now available have a significant likelihood of being inaccurate. The popular abbreviation VUCA stands for volatility, uncertainty, complexity, and ambiguity. The literature demonstrates that VUCA elements have been repeatedly found and are acknowledged to have had the greatest impact on the software sector. The study's objectives are to pinpoint the variables that influence software development, investigate different risk factors, and examine how VUCA risks are related to one another. Additionally, it intends to provide a framework with artificial intelligence that can control VVCA risks early on and successfully utilise a number of methods (Haribalaji et al., 2021; Sampath et al., 2022).

The requirement engineering phase is the cornerstone of all software initiatives. Any software is developed based on the analysis of the requirements and the agreement between the businesses. One of the key elements affecting the project's time, money, and quality is successfully completing the requirement elicitation process. Requirement risk is defined as the degree of uncertainty between the users' expectations and the system's perceived requirements. A technique for examination that is primarily anticipated to identify writing that is relevant to a certain research area is the review or survey of the literature. A number of studies and comparisons of alternative methodologies have been conducted in recent years, with various performance factors related to software requirement risks being considered. A significant portion of the GDP of many nations, including India, is contributed by the software industry. The complexity of the programme is also increased by the density of its products. In India's software industry, a significant number of projects have encountered difficulties or failed during the past few years (Demirel and Das, 2018; Marasco, 2007).

Complete Chapter List

Search this Book:
Reset