A Collaborative Approach for Improvisation and Refinement of Requirement Prioritization Process

A Collaborative Approach for Improvisation and Refinement of Requirement Prioritization Process

Ankita Gupta (Jaypee Institute of Information Technology, Noida, India) and Chetna Gupta (Jaypee Institute of Information Technology, Noida, India)
Copyright: © 2018 |Pages: 22
DOI: 10.4018/JITR.2018040108

Abstract

This article presents a systematic approach to prioritize requirements and estimate risk associated with each requirement. It first aims at providing short training to both developers and stakeholders to bridge the gap of understanding and comprehend requirements so that a refined priority value for each requirement can be obtained. Secondly, it presents a requirement risk and re-prioritization estimation model to make sure that a right decision has been taken by stakeholder and developers. The entire process has been supported with an example case study and by a survey that is conducted at IT companies. The response for the applicability of the proposed approach from the industry is appreciable and is promising as it will help in minimizing the disagreements between stakeholders and developers, thereby resulting in better collaboration. It will also help in minimizing the overall risk associated with development as only the most important functionality will be delivered in right sequence to the client thereby reducing the overall development time
Article Preview

Introduction

Requirement engineering (RE) is the first and most important phase of software development life cycle as requirements define what a software system should do. Studies have shown that RE does not receive more than 2-4%of the total effort applied in the entire project (Firesmith, 2004) and therefore this phase is time-bound and weak requirement analysis may lead to software failure (Hofmann & Lehner, 2001). Requirements impose constraints on both the product (the software to be developed) and the process which is used to develop the software. Hence, it is a complex task and requires a lot of effort in making decisions on various points like redundancy, non-redundancy of the requirements, preferences of the requirements, selection of right and valuable requirements. One solution to cope with these complex decisions is requirement prioritization.

According to Hoffman and Lehner (Hofmann & Lehner, 2001), requirement prioritization is one of the most crucial part of the requirement engineering phase. The most important aspect in requirement prioritization is to decide which requirement is more desirable than the other. And the challenging task in prioritizing requirements is the phrase “prioritizing requirements” itself as different stakeholders have different meanings of the word “priority” and same is true from the prospective of developers. For any software project there are hundreds of individual requirements and it is likely that stakeholder’s desires to include all to the software project. But the reality is, that all features or requirements are not really essential and many stakeholders will not agree to which requirements are important and which are not. For the success of software system both stakeholders and developers must collaborate on requirements prioritization. Thus, the decision of selecting the requirement for inclusion in the project is cumbersome and crucial which is governed by various aspects related to requirement. One such aspect is importance. This aspect is extremely multifaceted since it depends on the personal perspectives of both stakeholder(s) and developers. Prioritizing requirements based on importance could be based on urgency, usefulness, importance to business value, importance from the point of view of product architecture, cost of implementation, time, relationships and dependencies among requirements, importance due to platform on which it is to be implemented, because of team members skills, risk associated with implementation, etc. Hence it is likely that there will be different ranking for same requirement by both stakeholders and developers, as both have different point of view on same requirement. Another aspect is limitations in project resources, schedules and overall requirement analysis which are generally handled by project manager while estimating risk. In addition to the above factors budget, time, staff, large number of requirements, requirement evolution, requirement incapability and most importantly stakeholder and developer collaboration pose constraints while prioritization. Hence, it becomes a responsibility of developers and stakeholders to consider all these factors into consideration while selecting and prioritization requirements.

Complete Article List

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