Abstract

Requirements prioritization is considered as one of the most important approaches in the requirement engineering process. Requirements prioritization is used to define the ordering or schedule for executing requirement based on their priority or importance with respect to stakeholders’ viewpoints. Many prioritization techniques for requirement have been proposed by researchers, and there is no single technique can be used for all projects types. In this paper we give an overview of the requirement process and requirement prioritization concept. We also present the most popular techniques used to prioritize the software project requirements and a compression between these techniques. On the other hand, we spot the light on the importance of involving the non-functional requirements prioritization because of the great effects of non-functional on project success and quality; some approaches that used in prioritize non-functional requirements are discussed in this paper, in addition a general model is proposed based on reviewing the prioritization techniques in order to suggests a best suited technique for specific projects according to decision makers parameters.

Highlights

  • Requirement engineering (RE) is one of the earliest phases of software development lifecycle

  • We spot the light on the importance of involving the non-functional requirements prioritization because of the great effects of non-functional on project success and quality; some approaches that used in prioritize non-functional requirements are discussed in this paper, in addition a general model is proposed based on reviewing the prioritization techniques in order to suggests a best suited technique for specific projects according to decision makers parameters

  • The comparisons are based on three criteria; first criteria based on some questions that related to the ease of use, scalability, consistency, accuracy, and the speed for each one of the methods

Read more

Summary

Introduction

Requirement engineering (RE) is one of the earliest phases of software development lifecycle. While the requirement prioritization is considered one of the most significant activities in the process to construct software project and deliver the good system as the customer need (Svensson et al, 2011). Most projects include a large number of software requirements which to be prioritized according to the limited resources in terms of time, budget and customer satisfaction which is the major purpose in software development. As all the requirements related to more than release and based on customer needs the software engineers do not know which requirements have higher priority and which are not. There are various stakeholders are participated in the system development in order to prioritize the requirements in the right way according to their importance, that requirements can be ordered in execution. The stakeholders’ agreement of the priority of requirements should be taken into consideration for the requirement prioritization process

Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call