Transcription of A Comparison of Nine Basic Techniques for Requirements ...
1 A Comparison of Nine Basic Techniques forRequirements PrioritizationMikko VestolaHelsinki University of TechnologyEmail: Requirements prioritization is an important activityin software development. Numerous different Techniques toprior-itize Requirements exist. In this paper, we focus on the followingresearch questions: 1) What empirically studied requirementsprioritization Techniques are presented in the literature? 2) Howeasy to use, accurate and scalable are these Techniques ? Totalof nine Basic Requirements prioritization Techniques wereiden-tified: 1) Numeral assignment technique , 2) Analytic hierarchyprocess (AHP), 3) Hierarchy AHP, 4) Minimal spanning tree,5) Cumulative voting (CV), 6) Hierarchical cumulative voting(HCV), 7) Priority groups, 8) Binary priority list (BPL), 9)Bubblesort.
2 The Techniques are presented and analyzed based on theempirical studies from the literature. The results indicate thatnone of the Techniques can be considered the best one. The bestprioritization technique depends on the situation ( numberof Requirements used or desired results scale). This study alsoreveals that there are several problems with the existing empiricalstudies, which make it hard to compare their results to eachother. Therefore, this paper also presents recommended practicesfor future empirical studies about Requirements Terms Requirements , prioritization , Techniques , meth-ods, approaches, empirical, comparisonI.
3 INTRODUCTIONR equirements prioritization is an important activity in soft-ware development. Usually, the number of Requirements fromthe customers exceeds the number of features that can beimplemented within the given time and available resources[1]. For that reason, some of the requested features will notbe completed or they are moved to later releases. Therefore,the customer and the development teams must decide what isthe most essential functionality which should be implementedas early as possible.
4 In other words, the stakeholders shouldprioritize the are numerous different Techniques presented in theliterature how to prioritize Requirements . It might be difficultto pick the most suitable method because of the large numberof them. Some methods are more time consuming than othersbut provide more accurate results. Some methods scale wellto be used with larger number of Requirements but providevery coarse results. In other words, none of the techniquescan really be considered the best one but a practitioner mustpick a technique that is the most suitable for his situation,forexample, in terms of scalability, accuracy and time paper helps to decide the right technique for pri-oritizing Requirements by answering the following researchquestions:1) What empirically studied requirement prioritizationtechniques are presented in the literature?
5 2) Based on the empirical studies, how did these techniquesperform, especially in terms of easy of use, accuracy andscalability?Hopefully, this paper helps to choose the right prioritizationtechnique and also helps to develop completely new prioriti-zation methods using these prioritization Techniques as basicbuilding blocks. In addition, the results of this paper alsoguidewhich Techniques need more empirical rest of this paper is organized as follows. In Section II,we1introduce the classification of Requirements prioritiza-tion approaches.
6 The following three sections, Section III,Section IV and Section V, present different requirementsprioritization Techniques classified based on the results theyprovide (nominal, ordinal or ratio scale) and also analyze howthese Techniques are empirically studied. Finally, Section VIconcludes the Requirements prioritization LEVELSA ccording to [2] and [3], Requirements prioritization ap-proaches can be classified into four different abstraction lev-els, namely: prioritization activities, Techniques , methods andprocesses.
7 Approaches on higher levels utilize lower levelactivities and prioritizationactivitiesare the lowest levelapproaches. This level refers to the underlying primitive activ-ities which are used to rank Requirements . One Basic approachis to separately assign a rank to each requirement accordingtoa specific criterion ( importance for the customer). Anotherway is that Requirements are ranked by assigning a preferencevalue to pairs of Requirements (pair-wise Comparison ). A thirdapproach is to group each requirement to one specific classfrom a number of predefined classes of the results from the lower levelprioritization activities and possibly do some calculations tocompute the Requirements ordering.
8 Three common scales topresent the results are: nominal scale, ordinal scale and ratioscale. For example, the Analytic Hierarchy Process (AHP) isan example of a prioritization technique . It utilizes pair-wisecomparison activity to calculate the priorities for of the plural pronoun is customary even in solely authored researchpapers and thus is also used in this final result from AHP is a list of Requirements based ona ratio scale. In other words, the priorities calculated withAHP can answer the question: How much important is thisone requirement when compared to some other?
9 Anotherexample of prioritization technique is the Binary prioritylist(BPL) approach. It also uses pair-wise Comparison activitybut does not require so many pair-wise comparisons thanAHP and produces a ranked list of Requirements based onan ordinal scale. Unlike AHP, the results of BPL can notanswer the above mentioned question. In other words, the BPLtechnique can only tell that one requirement is more importantthan another but not to what extent. As we can see, thesetwo different prioritization Techniques both utilize pair-wisecomparison but they use it in different ways and thus producevery different the next level of Requirements prioritization approachesare the Requirements prioritizationmethods.
10 These methods areusually more sophisticated than Techniques and are developedspecifically for Requirements prioritization . While a techniqueoften focuses on prioritizing based on one aspect ( impor-tance for customer), a method usually utilizes more variables( importance, cost, dependencies). For example, the Cost-Value approach is one example of prioritization methods. Itpresents Requirements in a two dimensional cost-value dia-gram. Both cost and value for each requirement are computedwith the AHP technique .