Requirements Prioritization Techniques for Global Software Engineering

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):  
Iroju Olaronke ◽  
Ikono Rhoda ◽  
Gambo Ishaya

In recent times, there is a paradigm shift from the use of paper based systems to the use of software systems in all spheres of life. However, the development of high quality, cost effective and useable software systems is a major challenge. One of the major obstacles confronting the successful implementation of software systems is the inability to implement all stakeholders' requirements in software development projects. This constraint is usually due to limited human resources, budget and time. Thus, most software systems have failed. It, therefore, becomes pertinent to prioritize software requirements. Requirement prioritization involves the selection of requirements that are considered more important from an accumulated list of stakeholders' requirements. There are two techniques that are used for categorizing software requirements. These techniques include the requirement prioritization methods and the negotiation methods. Requirement prioritization methods are based on different scales which include nominal scale, ordinal scale and ratio scale. The accuracy of these methods, however, is a challenge especially when prioritizing large number of requirements. Aims: Hence, this paper reviews different techniques for prioritizing requirements by highlighting their strengths and weaknesses. Techniques such as binary search tree, AHP, hierarchy AHP, priority group/Numerical Analysis, bubble sort, MoSoW, simple ranking and Planning Game were analyzed and compared in this study. Methodology: The study is based on previous literature on requirement prioritization. Results: The study showed that numerical assignment and simple ranking methods require less time in the prioritization process and they also have low scalability and reliability. The study also showed that the analytic hierarchy process requires more time for requirement prioritization; it is reliable but it is not scalable. The study also revealed that it is difficult to prioritize requirements with the existing prioritization techniques when multiple stakeholders are involved. Conclusion: The study suggests that future researches should be based on the design of requirement prioritization techniques that will have the ability to accommodate large stakeholders and requirements.  


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.


IET Software ◽  
2021 ◽  
Author(s):  
Muhammad Azeem Akbar ◽  
Wishal Naveed ◽  
Sajjad Mahmood ◽  
Saima Rafi ◽  
Ahmed Alsanad ◽  
...  

2017 ◽  
Vol 29 (8) ◽  
pp. e1873 ◽  
Author(s):  
Juan Manuel Carrillo de Gea ◽  
Joaquín Nicolás ◽  
José L. Fernández-Alemán ◽  
Ambrosio Toval

Sign in / Sign up

Export Citation Format

Share Document