Requirements Prioritization Techniques and Different ... - IEEE Xplore

3 downloads 0 Views 306KB Size Report
Abstract—Requirements prioritization (RP) is considered as an important part of software requirements engineering in which requirements are ranked to ...
2014 8th Malaysian Software Engineering Conference (MySEC)

Requirements Prioritization Techniques and Different Aspects for Prioritization A Systematic Literature Review Protocol

Falak Sher, Dayang N. A. Jawawi, Radziah Mohamad, Muhammad Imran Babar Department of Software Engineering Universiti Teknologi Malaysia UTM, Johor, 81310, Malaysia [email protected], [email protected], [email protected], [email protected] The success of quality software development depends on the right selection of candidate requirements which are prioritized based on key priority aspects [5]. There are different requirements prioritization techniques that are used to prioritize the requirements. In this research paper, some of the existing techniques are evaluated based on different technical and business aspects. A comparison of nine basic techniques is performed and these techniques include Numerical Assignment (NAT), Analytic Hierarchy Process (AHP) [6-9], Hierarchy AHP, Minimal Spanning Tree (MST), Cumulative Voting (CV), Hierarchical Cumulative Voting (HCV), Priority Groups (PG), Binary Priority List (BPL), and Bubble Sort (BS). Based on this comparison it is concluded that it is very difficult to justify the use of any technique as the best one [3]. In another comparative study, six prioritization techniques AHP, VOP (Value-Oriented Prioritization), CV, NAT, BST and PG, are compared in order to evaluate the prioritization process. ValueOriented Prioritization (VOP) technique is declared as the best technique for the prioritization process. VOP includes business aspect as a major share of aspects as well as risk as a technical aspect [10]. The five techniques, like AHP, BST, PG, 100-Point Method (100P), Planning Game Combine with AHP (PGCAHP), are analyzed to choose the best for decisionmaking in the requirements prioritization process. [11]. This comparison concludes that BST is proved the best method for prioritizing of requirements. The reason for its justification is, easy in use, return most accurate results and supports a large number of requirements.

Abstract—Requirements prioritization (RP) is considered as an important part of software requirements engineering in which requirements are ranked to develop high-quality software. Success of quality software depends on the selection of wellprioritized requirements. Different techniques are proposed and used to prioritize the software requirements. Requirements are assigned weights or ranked according to their importance and are placed in a priority list for implementation in successive releases. These techniques depend on many aspects that need to be addressed while prioritizing requirements. Requirements prioritization aspects are categorized into three major groups’ technical aspects, business aspects and client aspects. Most of the existing techniques are unable to support these aspects, and it affects the quality of decision-making in the requirements prioritization process. Hence, there is a need to explore the different techniques and their support for different aspects. A comparison of the existing techniques is performed. The requirements prioritization aspects are selected to determine the current trends in the software requirements prioritization process. The issue of scalability and the business/client related aspects are the key focal points of this research paper. This paper describes the review protocol, as per guidelines of the Barbara Kitchenham, in order to conduct a systematic literature review. Keywords—Requirements prioritization; technical aspects; business aspects; client aspects; systematic review protocol

I. INTRODUCTION Requirements prioritization plays an important role in requirements negotiation, software release planning and other related areas of requirements engineering (RE). Development of quality software depends on the specification of software requirements. The order in which the requirements should be implemented is defined in the requirements prioritization process which is a highly complex decision-making process [1]. Hence, the requirements engineers and industry professionals spend a reasonable time in order to justify the requirements prioritization phase. Different techniques are used in the industry for requirements prioritization, but none of them is able to fulfil the industry requirements and expectations of the experts [2-4]. The issues, of business, customer and implementation, related to the requirements prioritization techniques are highlighted.

978-1-4799-5439-1/14/$31.00 ©2014 IEEE

During requirements prioritization different factors, related to business and technical aspects, are considered. These factors are stakeholder expectations, risk, cost, complexity, time constraints, dependencies, scalability, sensitivity against errors, contradictory, penalty, volatility, resources, speed, value, effort, approach type, result type, size of requirements, granularity, sophistication, perspective, type of technique (manual or algorithmic), number of comparisons, structure, customer importance, strategic importance, expert biases, provision of change of requirements, empirical validation, ease to use, support for consistency index, sales impact, customer satisfaction, marketing, strategic and integrity [3, 8, 12-23]. Many techniques facilitate the requirements prioritization

31

is explored that too much consideration is given to methods and techniques. However, the prioritization processes are ignored [33]. Several studies are conducted which support the requirements prioritization process as decision-making activity. Still there is a lack of evidence which may help in the selection of appropriate prioritization technique [34].

process through technical aspects. However, VOP is the only technique which covers five business aspects and one technical aspect for requirements prioritization process. This single technique is not enough to meet the industry requirements to support the prioritization process. Moreover, prioritization techniques should be easy to use [24, 25], easy to learn [26], should develop interest in and confidence of the user on the system [2]. Existing techniques support technical aspects and ignore the business aspects. [10, 24]. Hence, it is concluded that there is a need for a technique which should support all possible aspects to achieve best results for prioritization of requirements during the prioritization process in order to develop high-quality software.

III.

RESEARCH METHOD

After inception of Systematic literature review (SLR) in 2004, it is becoming very popular in the field of software engineering in order to explore more about the respective domain [35]. An SLR is “a means of evaluating and interpreting all available research relevant to a particular research question, topic area or phenomenon of interest” [36]. An SLR is considered as an Evidence Based Software Engineering (EBSE) practice. The EBSE research method is applied in the field of education, social policies and psychiatry [36]. In order to carry out this SLR, the guidelines given by Kitchenham are followed [37]. Firstly, a review protocol is designed in order to conduct this SLR. Fig. 1 describes the review protocol. The review protocol contains seven research phases: (i) research motivation and research question formulation (ii) construction of search string (iii) selection of electronic databases for research work (iv) collection of research papers (v) study selection (inclusion and exclusion) (v) determining quality assessment criteria and lastly (vi) data synthesis. The research motivation is based on the different research problems which are reported in the literature and are associated to the different requirements prioritization techniques and aspects. The research questions are designed based on the research motivation.

The rest of the paper is structured as follows: Section II presents the related work. Section III is comprised of research method with further distribution as research motivation, research question, search process, study inclusion and exclusion criteria, quality assessment criteria, data synthesis and document retrieval. Section IV describes the initial results. Section V concludes the paper. II. RELATED WORK The efforts are made to perform systematic literature review on software requirements prioritization techniques. However, none of the SLRs focuses on technical, business and clients aspects as a key issue. G. Kaur and S. Bawa conducted research work where only seven techniques, AHP, VOP, CV, NA, BST, PG and Binary Tree, are considered. Each requirements prioritization techniques is compared against evaluation criteria of fault tolerance, time-consumption, granularity and complexity [7]. Recently, a systematic literature review by Philip focuses on the technical aspects only, and it covers issues of scalability, complexity, ease of use, reliability, validation, evolution and dependencies. This contribution has missed out the important business aspects. Similarly, many existing latest surveys, on the current work, are not discussed and analyzed [27]. Ma has conducted research work to evaluate the effectiveness of requirement prioritization techniques. The technique focuses on medium and a large set of requirements to evaluate the existing prioritization techniques [28]. Khan conducted a research study to target existing prioritization techniques in the form of a systematic review. Most of the techniques lack in providing empirical evidence for requirements prioritization process [13]. A research study is conducted by Riņķevičs and Torkar to examine the Cumulative Voting technique for requirements prioritization [29]. In order to support the large-scale requirements, Analytical Hierarchy Process (AHP) is assessed and is supported by the mitigation strategy, to address the issues of the technique [30]. For empirical validation of different techniques, a case study is performed in eight software houses to monitor the practical application of the prioritization techniques on agile requirements prioritization process and expected business values delivery [31]. A literature review is conducted to highlight the issues and challenges of the requirements prioritization process. However, the requirements prioritization process is taken as a decision-making process as a part of agile projects [32]. The mapping study by Pergher and Rossi focuses on the empirical studies. In this research study, it

Fig. 1. Review protocol

The research questions help to define the limits of the research while exploring the published research in a specified domain. The search process the search strings are designed which help in exploring all related studies for a given domain. The search strings are formulated based on key the technical terms which are derived from existing studies. Different electronic databases are used in order to find out the research

32

studies related to the focused problem domain. However, seven electronic databases are used to search the research papers. The explored electronic databases are ACM, IEEE Xplore digital library, Google search, Citeseer, Wiley inter science, ISI web of knowledge and Metapress. During search process, lots of research studies are collected but there is a need to sort out the related research studies only. In order to get the most relevant papers, the research process is narrowed-down, and the filtering is performed based on the pre-defined inclusion and exclusion criteria. In order to assess the appropriateness of the research work, the quality assessment criteria (QAC) is considered. The QAC helps in evaluation of a research study based on the assigned points.

RQ2. Which business/clients aspects are reported and empirically validated for requirements prioritization? C. Search Process The search process is carried out carefully in order to extract the related research studies. Seven electronic databases are used to collect the research papers. The databases which are explored are IEEE Computer Society Digital Library, ISI Web of Knowledge, Springer link, Science Direct, ACM, Google Scholar, Citeseer, Metapress and Wiley InterScience. Few studies were not available due to the access problem, and these studies are excluded from the SLR. The formulation of the search strings is based on the respective research questions, and the search strings cover the different aspects of the problem domain. A list of keywords is used to search out electronic databases in order to collect the data. The search strings are applied in a versatile manner in order to find out all related studies. For the formulation of search strings, guidelines are taken from Kitchenham [37]. Moreover, advanced search techniques are applied with a combination of Boolean operators and advanced search option in order to make search process more robust. Below is a list of the keywords which is used to search the related research studies.

A. Research Motivation The literature shows that most of the existing prioritization techniques are not suitable for a large number of requirements (scalability problem). This makes the requirements prioritization process more complex [2, 3, 11, 38]. Most of the existing techniques do not provide a scalable solution for requirements prioritization [3]. Similarly, existing techniques reported in the literature are time-consuming [4, 11]. Complexity is another technical problem which must be considered as a part of prioritization, and most of the existing techniques are unable to address this problem [2, 4]. Moreover, the existing techniques are either partially automated or have no automation support and are not intelligent enough [39]. Most of the techniques are error prone [16]. Results of these techniques are faulty and not recallable [40]. Reported techniques are able to meet the prioritization of a small set of requirements [2, 5]. Majority of the techniques focuses on technical aspects only [10, 41]. It is required that the requirements prioritization techniques must focus on technical, business and client (customer) aspects [2, 4, 11].

• • • • •

Requirements prioritization Requirements prioritization technique Requirements prioritization limitations Requirements classification Requirement prioritization aspects

Simple search terms are used to explore the existing literature. These keywords are expanded from existing recognized research published in well know journals. D. Study Inclusion and Exclusion Criteria The main focus is on requirements prioritization techniques and related aspects. Filtering of research studies is based on support for empirical evidence in respective domain. Below is listed criteria considered to accomplish research work.

The existing techniques are unable to cover the required and important aspects for prioritization. Existing techniques are not state of the art and do not support and facilitate the prioritization process for development of high-quality software. There is a need to conduct an SLR in order to search out all required technical, business and clients’ aspects. This SLR will help in developing a hybrid technique to get a prioritized list of the requirements in order to develop high-quality software. This research provides a detailed description of the technical, business and clients aspects supported by the existing techniques. Moreover, the aspects which are required but are not supported by the existing techniques are also reported here.

1) Inclusion Criteria: Research papers titles, abstracts and keywords are taken into account to map the inclusion criteria in order to continue this research. • Papers written in English language. • Papers discussing the RE prioritization techniques. • Papers discussing the technical aspects for requirements prioritization. • Papers discussing the business aspects for requirements prioritization. • Papers discussing the client’s aspects for requirements prioritization. • Papers targeting the scalability and complexity as major aspects. • Papers published in the domain of RE prioritization from the year 1990 to 2014.

B. Research Questions The main objective of this research work is to explore the existing research to critically examine the existing software requirements prioritization techniques. This research also targets on to find out the existing techniques which support prioritization based on the technical, business and client aspects. Following is the list of main questions which are addressed in this study. RQ1. Which requirements aspects have been reported and empirically validated for software requirements prioritization process?

33

is conducted by a group of two primary researchers. Document retrieval process is completed by the primary and independent researchers. Independent researcher will go for selection of random paper to support the analyses of the research studies and to select or reject a research study based on the focused domain.

• Papers published with the potential of answering one or more than one or part of the question(s). 2) Exclusion Criteria: The exclusion criteria are based on the following key parameters.

IV. INITIAL RESULTS

• The Research studies which are not published in English language • Simple articles which are published on websites • Redundant studies • Papers that are published before 1990 • Grey papers • Papers not able to answer the research questions

At this stage, provision of comprehensive results is too early to represent. Table I (Appendix A) presents the initial results and detail about different requirements prioritization techniques, citation of the studies and their comparison with the technical and business/client aspects. Current trends show that most of the existing techniques are not scalable and lack in term of their support for business/client aspects. Moreover, existing techniques are easy to use, support in decision-making and provide accurate results but are not empirically validated. Effort will be made to explore in more detail the requirements prioritization aspects for the RP process in order to support the experts in industry and academia. This will also help in determining the future research trends.

E. Quality Assessment Criteria The quality assessment criteria (QAC) are defined in order to assess the quality of the primary research studies. The QAC is based on different research questions which are used to evaluate the quality of a research study. Each study is assigned some points based on the research questions [37]. Dyba et al., have proposed criteria for quality assessment in the form of a checklist [42] [43]. The basic objective of these assessment criteria is to find out the most relevant research studies and to consider these studies as a part of the SLR.

V. CONCLUSION Development of quality software depends on the requirements specification and requirements prioritization process. Requirements prioritization process is performed by applying different prioritization techniques. These techniques depend on the technical, business and client aspects which play a vital role to support the decision-making in requirements prioritization. Critical analysis of the existing techniques based on their support for prioritization aspects is not performed comprehensively. This motivation leads to an effort which will help the software industry and associated experts to improve the quality of software.

F. Data Collection Many software tools are available to support the data collection process. The data is collected with the help of Endnote software [44]. Data collection process is based on research questions, and only relevant papers are considered based on the quality parameters. Research question one RQ1 targets the exploration of aspects which are considered by the requirements prioritization techniques. The research studies which cover technical, business and client aspects are collected for this literature review. Moreover, the RQ2 of this SLR targets on the empirical evidence of the business and client aspects.

ACKNOWLEDGMENT This research work is conducted at the Universiti Teknologi Malaysia by the Software Engineering Research Group (SERG) and is funded by Ministry of Science, Technology and innovation Malaysia (MOSTI) under Vote No. 4S064. The authors would like to thank Professor Barbara Kitchenham for her valuable comments on our review protocol.

G. Data Synthesis In data synthesis part, results are summarized based on the facts collected from primary studies [45]. For data synthesis, both quantitative and qualitative data analysis approaches are used. In this SLR, data related to the different requirements prioritization approaches will be analyzed based on the empirical support, reported requirements prioritization aspects and the issues of scalability and complexity.

REFERENCES [1] A. Aurum and C. Wohlin, Engineering and managing software requirements: Springer, 2005. [2] M. Khari and N. Kumar, "Comparison of Six Prioritization Techniques for Software Requirements," Journal of Global Research in Computer Science, vol. 4, pp. 38-43, 2013. [3] M. Vestola, "A Comparison of Nine Basic Techniques for Requirements Prioritization," 2010. [4] P. Voola and A. V. Babu, "Comparison of requirements prioritization techniques employing different scales of measurement," ACM SIGSOFT Software Engineering Notes, vol. 38, pp. 1-10, 2013. [5] M. S. Hasan, A. Al Mahmood, M. J. Alam, S. M. N. Hasan, and F. Rahman, "An Evaluation of Software Requirement Prioritization Techniques," International Journal of Computer Science and Information Security (IJCSIS), vol. 8, 2010. [6] A. Perini, A. Susi, and P. Avesani, "A Machine Learning Approach to Software Requirements Prioritization," 2012. [7] G. Kaur and S. Bawa, "A Survey of Requirement Prioritization Methods," in International Journal of Engineering Research and Technology, 2013.

Initial study of the techniques and reported aspects will help in answering all of the research questions. The RQ1 will help in finding out different aspects which are taken as parameters for the prioritization process. The RQ2 focuses on the business and client aspects and their impact on the requirements prioritization process for the quality software development. H. Document Retrieval We have retrieved 325 papers at initial stage. In the first phase, we have rejected 205 research papers after going through the abstracts and titles of the research studies. However, 115 papers are very carefully analyzed at initial stage to extract the required information. The initial evaluation of the 115 studies

34

[8] M. Ramzan, M. A. Jaffar, and A. A. Shahid, "Value based Intelligent Requirement Prioritization (VIRP): Expert Driven Fuzzy Logic based Prioritization Technique," International Journal of Innovative Computing, Information and Control (IJICIC) Vol, vol. 6, 2011. [9] R. Thakurta, "A framework for prioritization of quality requirements for inclusion in a software project," Software Quality Journal, pp. 125, 2012. [10] J. Azar, R. K. Smith, and D. Cordes, "Value-oriented requirements prioritization in a small development organization," Software, IEEE, vol. 24, pp. 32-37, 2007. [11] V. Ahl, "An experimental comparison of five prioritization methods," Master's Thesis, School of Engineering, Blekinge Institute of Technology, Ronneby, Sweden, 2005. [12] S. Gartner and K. Schneider, "A method for prioritizing end-user feedback for requirements engineering," in Cooperative and Human Aspects of Software Engineering (CHASE), 2012 5th International Workshop on, 2012, pp. 47-49. [13] K. A. Khan, "A systematic review of software requirements prioritization," Unpublished master’s thesis, Blekinge Institute of Technology, Ronneby, Sweden, 2006. [14] V. Gaur, A. Soni, and P. Bedi, "An Application of Multi-Person Decision-Making Model for Negotiating and Prioritizing Requirements in Agent-Oriented Paradigm," in Data Storage and Data Engineering (DSDE), 2010 International Conference on, 2010, pp. 164-168. [15] P. Berander and A. Andrews, "Requirements prioritization," in Engineering and managing software requirements, ed: Springer, 2005, pp. 69-94. [16] M. I. Babar, M. Ramzan, and S. Ghayyur, "Challenges and future trends in software requirements prioritization," in Computer Networks and Information Technology (ICCNIT), 2011 International Conference on, 2011, pp. 319-324. [17] P. Tonella, A. Susi, and F. Palma, "Interactive Requirements Prioritization using a Genetic Algorithm," Information and Software Technology, 2012. [18] P. Laurent, J. Cleland-Huang, and C. Duan, "Towards automated requirements triage," in Requirements Engineering Conference, 2007. RE'07. 15th IEEE International, 2007, pp. 131-140. [19] C. E. Otero, E. Dell, A. Qureshi, and L. D. Otero, "A quality-based requirement prioritization framework using binary inputs," in Mathematical/Analytical Modelling and Computer Simulation (AMS), 2010 Fourth Asia International Conference on, 2010, pp. 187-192. [20] P. Fitsilis, V. Gerogiannis, L. Anthopoulos, and I. K. Savvas, "Supporting the Requirements Prioritization Process Using Social Network Analysis Techniques," in Enabling Technologies: Infrastructures for Collaborative Enterprises (WETICE), 2010 19th IEEE International Workshop on, 2010, pp. 110-115. [21] A. Ahmad, A. Shahzad, V. K. Padmanabhuni, A. Mansoor, S. Joseph, and Z. Arshad, "Requirements prioritization with respect to Geographically Distributed Stakeholders," in Computer Science and Automation Engineering (CSAE), 2011 IEEE International Conference on, 2011, pp. 290-294. [22] S. S. Payyavula, S. S. Jahagirdar, and M. Kumar, "Application of Value Based Requirement Prioritization in a Banking Product implementation," in Services in Emerging Markets (ICSEM), 2012 Third International Conference on, 2012, pp. 157-161. [23] K. Vlaanderen, S. Jansen, S. Brinkkemper, and E. Jaspers, "The agile requirements refinery: Applying SCRUM principles to software product management," Information and Software Technology, vol. 53, pp. 58-70, 2011. [24] A. S. Danesh, S. M. Mortazavi, and S. Y. S. Danesh, "Requirements prioritization in on-line banking systems: using value-oriented framework," in Computer Technology and Development, 2009. ICCTD'09. International Conference on, 2009, pp. 158-161. [25] J. Karlsson, C. Wohlin, and B. Regnell, "An evaluation of methods for prioritizing software requirements," Information and Software Technology, vol. 39, pp. 939-947, 1998.

[26] A. Perini, A. Susi, F. Ricca, and C. Bazzanella, "An empirical study to compare the accuracy of AHP and CBRanking techniques for requirements prioritization," in Comparative Evaluation in Requirements Engineering, 2007. CERE'07. Fifth International Workshop on, 2007, pp. 23-35. [27] P. Achimugu, A. Selamat, R. Ibrahim, and M. N. r. Mahrin, "A systematic literature review of software requirements prioritization research," Information and Software Technology, vol. 56, pp. 568585, 2014. [28] Q. Ma, "The effectiveness of requirements prioritization techniques for a medium to large number of requirements: a systematic literature review," AUT University, 2009. [29] K. Riņķevičs and R. Torkar, "Equality in Cumulative Voting: A Systematic Review with an Improvement Proposal," Information and Software Technology, 2012. [30] S. Nidhra, K. Satish, L. Poovanna, and V. S. Ethiraj, "Analytical Hierarchy Process issues and mitigation strategy for large number of requirements," in Software Engineering (CONSEG), 2012 CSI Sixth International Conference on, 2012, pp. 1-8. [31] Z. Racheva, M. Daneva, K. Sikkel, R. Wieringa, and A. Herrmann, "Do we know enough about requirements prioritization in agile projects: insights from a case study," in Requirements Engineering Conference (RE), 2010 18th IEEE International, 2010, pp. 147-156. [32] Z. Racheva, M. Daneva, and L. Buglione, "Supporting the dynamic reprioritization of requirements in agile development of software products," in Software Product Management, 2008. IWSPM'08. Second International Workshop on, 2008, pp. 49-58. [33] M. Pergher and B. Rossi, "Requirements prioritization in software engineering: A systematic mapping study," in Empirical Requirements Engineering (EmpiRE), 2013 IEEE Third International Workshop on, 2013, pp. 40-44. [34] P. Berander, K. A. Khan, and L. Lehtola, "Towards a research framework on requirements prioritization," SERPS, vol. 6, pp. 18-19, 2006. [35] H. Zhang and M. A. Babar, "An empirical investigation of systematic reviews in software engineering," in Empirical Software Engineering and Measurement (ESEM), 2011 International Symposium on, 2011, pp. 87-96. [36] T. Dyba, B. A. Kitchenham, and M. Jorgensen, "Evidence-based software engineering for practitioners," Software, IEEE, vol. 22, pp. 58-65, 2005. [37] B. A. Kitchenham and S. Charters, "Guidelines for performing systematic literature reviews in software engineering," 2007. [38] L. Karlsson, T. Thelin, B. Regnell, P. Berander, and C. Wohlin, "Pair-wise comparisons versus planning game partitioning— experiments on requirements prioritisation techniques," Empirical Software Engineering, vol. 12, pp. 3-33, 2007. [39] M. Ramzan, "Intelligent Requirement Prioritization using Fuzzy Logic," National University, 2010. [40] L. Karlsson, "Requirements Prioritisation and Retrospective Analysis for Release Planning Process Improvement," 2006. [41] R. Smith, J. Azar, and D. Cordes, "A Value-Oriented Approach to Requirements Prioritization," tech. report, Dept. of Computer Science, Univ. of Alabama2006. [42] T. Dybå and T. Dingsøyr, "Empirical studies of agile software development: A systematic review," Information and software technology, vol. 50, pp. 833-859, 2008. [43] T. Dybå and T. Dingsøyr, "Strength of evidence in systematic reviews in software engineering," in Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, 2008, pp. 178-187. [44] M. Keil, "Pulling the plug: software project management and the problem of project escalation," Mis Quarterly, pp. 421-447, 1995. [45] B. Kitchenham, "Procedures for performing systematic reviews," Keele, UK, Keele University, vol. 33, p. 2004, 2004.

35

APPENDIX A TABLE I. REQUIREMENTS PRIORITIZATION TECHNIQUES AND DIFFERENT ASPECTSS N0.

Technique Citations

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

Analytic Hierarchy Process (AHP) Attribute goal-oriented requirement analysis (AGORA) Benefit and cost prediction Binary priority list (BPL) B-Tree Prioritize Bubble Sort Cognitive driven requirement prioritization Correlation-based assessment framework (CBPA) Cost of Delay Cost-Value Approach Cumulative voting (CV) Dot voting Eclipse Process Framework EVOLVE Fuzzy AHP Hierarchical cumulative voting (HCV) Hierarchy AHP Incremental Funded Methodology Interactive requirement prioritization Kano Analysis Lanchester theory Larman Mathematical programming techniques Minimal spanning tree MoSCoW Method Multi criteria preference analysis requirement negotiation (MPARN) Multi-Attribute Utility Theory Multi-objective next release problem Multi-voting system Numeral Assignment or Numerical Assignment Technique Outranking Pair-wise analysis Ping Pong Balls Planning Game Beck, K. (2000) Planning game Combined with AHP (PGcAHP) Planning Poker Priority groups PROMETHEE Purpose Alognment Model Ranking Ranking based on product definition Relative weighting Requirement uncertainty prioritization approach Round-the-group prioritization SERUM Simple Additive Weighting Simple multi criteria rating techniques by swing (SMART) Technique of bucketing requirements Theme Screening/Scoring Theory W Top Ten Requirements TOPSIS Value based intelligent requirements prioritization (VIRP) Value based requirement prioritization Value oriented prioritization (VOP) Weighted criteria analysis Wieger’s Prioritization Wieger's matrix approach Winwin

Technical aspects ScaleEasy ability Use

Business/Client Aspects Sales MarkCustomer eting Satisfaction

50 2

8 8

9 8

Time Complexity 8 8

2 3 8 8 1 2

8 9 9 8 8 8

9 9 9 9 8 8

9 8 8 8 8 8

9 8 8 9 9 8

8 9 9 8 8 8

9 8 8 8 8 8

9 8 8 8 8 8

9 8 8 8 8 8

9 8 8 8 8 8

4 20 20 2 2 8 2 19 7 2 1 5 2 2 2 8 6 1

8 8 8 8 8 8 8 9 9 8 8 8 8 8 8 8 9 8

9 9 9 9 9 8 8 9 9 9 9 9 9 9 9 9 9 9

8 9 9 8 8 9 8 9 9 8 8 8 8 8 8 9 8 8

9 9 8 8 8 9 9 9 9 8 9 9 8 8 8 9 8 9

8 8 9 8 8 8 9 9 8 8 8 9 8 8 8 9 8 8

8 9 8 8 8 8 8 8 8 8 8 8 9 8 8 8 8 8

8 9 8 8 8 8 8 8 8 9 8 9 9 8 8 8 8 9

8 9 8 8 8 8 8 8 8 8 8 9 9 9 8 8 8 8

8 9 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8

2 1 3 15

8 8 8 8

9 9 9 9

8 8 8 9

9 8 8 9

8 8 8 9

8 8 8 8

9 8 8 8

8 8 8 8

8 8 8 8

1 12 1 20 3

8 8 8 9 9

9 9 9 9 9

8 9 8 9 9

8 9 8 9 9

8 9 8 9 9

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

8 8 8 8 8

2 10 2 2 8 2 2 1

8 8 8 8

9 9 9 9

8 8 8 8

8 8 8 8

8 9 9 8

8 8 8

9 9 9

8 8 8

8 8 8

8 8 8

8 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

9 8 8 8 8 8 8 8

8 8 8 8 8 8 8 8

3 4 2 3

8 8 8 8

9 9 9 9

9 9 8 8

9 8 8 8

8 9 8 8

8 8 8 8

8 8 8 8

8 8 8 8

8 8 8 8

2 2 25 18 9 5

8 8 8 8 8 9

9 9 9 9 9 9

8 8 9 9 8 9

8 8 9 9 9 9

8 8 9 9 9 9

8 8 8 8 8 8

8 8 8 8 8 8

8 8 8 8 8 8

8 8 8 8 8 8

1 10 3 14 2 1

8 8 8 9 8 8

9 9 9 9 9 9

8 9 8 9 8 8

8 9 8 9 8 8

8 9 8 9 8 8

8 9 8 8 8 8

8 9 8 8 8 8

8 9 8 8 8 8

8 9 8 8 8 8

36

Decision making

Accuracy

Strategic

9 9

9 9

8 8

8 8

8 8

8 8