Requirements Prioritization Using Hierarchical Dependencies

Author(s):  
Luay Alawneh
Author(s):  
Samina Saghir ◽  
Tasleem Mustafa

<p>Increase in globalization of the industry of software requires an exploration of requirements engineering (RE) in software development institutes at multiple locations. Requirements engineering task is very complicated when it is performed at single site, but it becomes too much complex when stakeholder groups define well-designed requirements under language, time zone and cultural limits. Requirements prioritization (RP) is considered as an imperative part of software requirements engineering in which requirements are ranked to develop best-quality software. In this research, a comparative study of the requirements prioritization techniques was done to overcome the challenges initiated by the corporal distribution of stakeholders within the organization at multiple locations. The objective of this study was to make a comparison between five techniques for prioritizing software requirements and to discuss the results for global software engineering. The selected techniques were Analytic Hierarchy Process (AHP), Cumulative Voting (CV), Value Oriented Prioritization (VOP), Binary Search Tree (BST), and Numerical Assignment Technique (NAT). At the end of the research a framework for Global Software Engineering (GSE) was proposed to prioritize the requirements for stakeholders at distributed locations.<strong></strong></p>


Author(s):  
Grigoris Antoniou

This paper discusses the significance of nonmonotonic reasoning, a method from the knowledge representation area, to mainstream software engineering. In particular, we discuss why the use of defaults in specifications is an adequate way of addressing some of the most important problems in requirements engineering, such as: The problem of identifying and dealing with inconsistencies; evolving system requirements; requirements prioritization; and the quality of specifications with respect to naturalness and compactness. We argue that these problems need to be addressed in a principled, formal way, and that default reasoning provides adequate mechanisms to deal with them.


2020 ◽  
Vol 5 (1) ◽  
pp. 15-27
Author(s):  
Khaled AbdElazim Muhammad ◽  
◽  
Ramadan Moawad ◽  
Essam Elfakharany ◽  
◽  
...  

Requirements engineering is a crucial phase of software engineering, and requirements prioritization is an essential stage of requirements engineering particularly in agile software development. Requirements prioritization goals at eliciting which requirements of software need to be covered in a particular release. The key point is which requirement will be selected in the next iteration and which one will be delayed to other iterations for minimizing risk during development and meeting stakeholders’ needs. There are many existing techniques for requirement prioritization, but most of these techniques do not cover continuous growth, change of requirements, and requirements dependencies. The prioritization techniques need to be more continuous, scalable, implemented easily and integrated with software development life cycle. This paper introduces a supporting tool for a proposed framework to prioritize requirements in agile software development. This framework tries to find solutions for the challenges facing this prioritization process such as how to make this prioritization continuous and scalable and how to deal with rapidly requirement changes and its dependencies. The proposed framework is validated in a real case study using its supporting tool, and the results are promising


Sign in / Sign up

Export Citation Format

Share Document