An Evaluation of Software Requirement Prioritization Techniques

Abstract — Requirements prioritization plays an important role in the requirement engineering process, particularly, with respect to critical tasks like requirements negotiation and software release planning. Selecting the right set of requirements for a product release largely depends on how successfully the requirement candidates are prioritized. There are different requirement prioritization techniques available which are some more elaborated than others. This paper takes a closer look at nine different techniques of requirement prioritization namely Analytical Hierarchy Process (AHP), Hierarchy AHP, Minimal Spanning Tree, Bubble Sort, Binary Search Tree (BST), Priority Group, Planning Game (PG), 100 points method and Planning Game combined with AHP (PGcAHP) and then put them into a controlled experiment, in order to find out the best one. The evaluation was done on the basis of some criteria like: ease of use, certainty, accuracy of result, method’s ability to scale up to many more requirements, required number of comparisons, and required time to make decision. Analysis of the data from the experiment indicates that the analytic hierarchy process to be a promising candidate, although it may be problematic to scale-up. However, the result clearly indicates that the Planning Game (PG) yields accurate result, is able to scale up, requires least amount of time, the easiest method to use and so on. For these reasons, finding of the experiment is, the Planning Game (PG) method is supposed to be the best method for prioritizing requirements.

[1]  Gavin R. Finnie,et al.  Prioritizing software development productivity factors using the analytic hierarchy process , 1993, J. Syst. Softw..

[2]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[3]  Hoh Peter In,et al.  Multi-criteria preference analysis for systematic requirements negotiation , 2002, Proceedings 26th Annual International Computer Software and Applications.

[4]  Joachim Karlsson,et al.  Software requirements prioritizing , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[5]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[6]  Pete Sawyer,et al.  Packaged Software: Challenges for RE , 2000 .

[7]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[8]  Claes Wohlin,et al.  Requirements prioritisation: an experiment on exhaustive pair-wise comparisons versus planning game partitioning , 2004, ICSE 2004.

[9]  Claes Wohlin,et al.  An evaluation of methods for prioritizing software requirements , 1998, Inf. Softw. Technol..

[10]  Jawed I. A. Siddiqi,et al.  Requirements Engineering: The Emerging Wisdom , 1996, IEEE Softw..

[11]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[12]  Martin Höst,et al.  An Industrial Case Study on Distributed Prioritisation in Market-Driven Requirements Engineering for Packaged Software , 2001, Requirements Engineering.

[13]  Günther Ruhe,et al.  Requirements Negotiation under Incompleteness and Uncertainty , 2003, SEKE.

[14]  Saul I. Gass,et al.  Singular value decomposition in AHP , 2004, Eur. J. Oper. Res..

[15]  Sarah Hatton,et al.  Early Prioritisation of Goals , 2007, ER Workshops.

[16]  Frank Moisiadis,et al.  The fundamentals of prioritising requirements , 2002 .

[17]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[18]  Thomas L. Saaty,et al.  That is not the analytic hierarchy process: what the AHP is and what it is not , 1997 .

[19]  Günther Ruhe,et al.  Decision Support in Requirements Engineering , 2005 .

[20]  Jonas S. Karlsson Towards a strategy for software requirements selection , 1995 .

[21]  Alfred V. Aho,et al.  Data Structures and Algorithms , 1983 .

[22]  Victor R. Basili,et al.  Experimentation in software engineering , 1986, IEEE Transactions on Software Engineering.

[23]  Charles Richter,et al.  A review of the state of the practice in requirements modeling , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[24]  Christos Douligeris,et al.  A telecommunications quality study using the analytic hierarchy process , 1994, IEEE J. Sel. Areas Commun..