Requirement Paradigms to Implement the Software Projects in Agile Development Using Analytical Hierarchy Process

Requirement Paradigms to Implement the Software Projects in Agile Development Using Analytical Hierarchy Process

Saru Dhir (Amity University Uttar Pradesh, Noida, India), Deepak Kumar (Amity University Uttar Pradesh, Noida, India) and V.B. Singh (Delhi College of Arts and Commerce, New Delhi, India)
Copyright: © 2017 |Pages: 14
DOI: 10.4018/IJDSST.2017070102
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

The primary focus of a successful organization is to deliver the high quality product to fulfil the client's needs. In the software industry, quality requirements play a major role for the projects to be successful. Quality requirements are influenced by the users, clients and stakeholders analysis to reduce the burden of requirement engineering process. So it is essential to select only the appropriate requirements that could be associated with the final product. This empirical research presents a framework by using Analytical Hierarchy Process to calculate the critical attributes that are influencing from the requirement selection to requirement prioritization in an uncertain environment. The experiment was accomplished by calculating the relative importance of those attributes, through the survey carried out with the help of agile experts. The utility measure is obtained from these attributes demonstrating the improvement in the performance. Consistency ratio is also evaluated for the comparison matrix.
Article Preview

Introduction

The purpose of developing software system or product is to satisfy the client with the quick delivery of a quality product. The satisfaction means the final product is fulfilled according to the client’s requirements both functional and non-functional. Functional requirements (FR) describe the functional behaviour of the software; whereas non-functional requirements are the quality attributes. In other words, non-functional requirements (NFR) means; how the final product will perform such as reliability, security, efficiency, performance or usability of the software system (Mylopoulos, Chung & Nixon 1992; Kumar, & Dhir, 2013). Clients usually know the functionality and the functional requirement of the product but not so much about non-functional requirement.

Agile methodology plays a successful role to deliver the final product according to the client’s need, despite the frequent changes in requirements (Chow & Cao 2008). As the requirements are frequently changing, software complexity increases and it is tough to manage the NFR. In agile development, number of challenges are faced due to frequent changes in requirements like face to face communication, unstable requirement, unclear requirements, lack of planning etc. (Zhang et al., 2013) (Dhir & Kumar, 2015). The requirements for any software are the detailed description of the product with some specific constraints; whereas requirement management is essential and crucial activity for the success of software projects. Requirement elicitation and prioritization selections are most important to set up at the right moment of software implementation, which will help to manage and control the requirements. Requirement elicitation and prioritization is vital in decision making and removal of complexities. Sometime the requirements are elicited as use case and misuse case for both functional and non-functional requirements.

Traditionally a requirement specification document was prepared having the details of the clients need. With the help of that documentation, requirement validation was successfully done in traditional environment; whereas in an agile environment, writing the requirement specification documentation is a challenging task, when the clients do not have clear understanding about the final system and they can randomly change the system functionality. Hence agile teams avoid comprehensive documentation and accumulate the requirement knowledge in the form of user stories and checklists. Figure 1 represents the different attributes that are involved in requirement engineering practices.

Figure 1.

Requirement engineering practices

This paper emphasizes on identifying the requirement parameters, with the perspectives of requirement engineers and stakeholders in the agile development. Two-way assessment framework is proposed to evaluate the utility from the requirement elicitation to prioritization attributes that follows a best indicator of implementation, overall performance and efficiency of software project in agile development. The utility measure is computed, analysed and imparted to the project management, with the goal that they can take corrective actions and decisions in regards to the release of the module or software to the following phase.

Framework controls Analytical Hierarchical Process (AHP) for measuring, systematically organizing and analysing the requirement parameters from requirement engineer and stakeholders. Methodology is initiated by selecting the top ten requirement parameters from the survey. The objective is to present diverse key attributes in requirement engineering that have a great impact in the agile implementation. The pair wise judgement data for various requirement attributes are individually collected from requirement engineers and stakeholders (experts). These expert team members have a good experience on agile project implementation. Expert members work as a group for the project implementation. Priority weights are assigned to these attributes using AHP.

Complete Article List

Search this Journal:
Reset
Open Access Articles: Forthcoming
Volume 10: 4 Issues (2018): 1 Released, 3 Forthcoming
Volume 9: 4 Issues (2017)
Volume 8: 4 Issues (2016)
Volume 7: 4 Issues (2015)
Volume 6: 4 Issues (2014)
Volume 5: 4 Issues (2013)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing