Requirements Prioritization João M. Fernandes Universidade do Minho – Portugal Requirements Prioritization Contents 1. 2. 3. 4. What is Requirements Prioritization Aspects of Prioritization Prioritization Techniques Stakeholders in the Prioritization Process 2/46 Requirements Prioritization What is Requirements Prioritization In everyday life, we make many decisions Make the right decision requires prioritization between different alternatives It is not obvious which choice is the best, when several aspects are considered When buying a new car, it is easy to make a choice based on a unique criterion When considering multiple aspects, the choice becomes much harder 3/46 Requirements Prioritization What is Requirements Prioritization What requirements are the most important to you, Miro? I need everything, Bill, otherwise they wouldn’t be specified. 4/46 Requirements Prioritization What is Requirements Prioritization The importance of a functionality might decrease when other aspects are used Develop the functionality that is most desired by the customers, as well as least risky, least costly, etc Prioritization helps in these complex decision problems Software projects may have more candidate requirements than can be realized 5/46 Requirements Prioritization What is Requirements Prioritization Prioritization helps to identify the most valuable requirements Prioritizing requirements support 1. 2. 3. 4. 5. to decide on the core requirements to plan and select an ordered set of software requirements for implementation to trade off desired project scope against project constraints to balance the business benefit of each requirement against its cost to estimate expected customer satisfaction 6/46 Requirements Prioritization What is Requirements Prioritization 6. 7. 8. 9. 10. 11. to balance cost of requirements on the architecture and future evolution of the product to select a subset of the requirements and still produce a system that satisfies the customers to get a technical advantage and optimize market opportunity to minimize rework and schedule slippage to handle contradictory requirements, and resolve disagreements between stakeholders to establish relative importance of each requirement to provide the greatest value at the lowest cost 7/46 Requirements Prioritization What is Requirements Prioritization The challenge is to select the right requirements from a set of candidate requirements, so that all the different key interests, technical constraints and preferences of the critical stakeholders are fulfilled the overall business value of the product is maximized The most cost effective way to develop software is to find the optimal set of requirements early 8/46 Requirements Prioritization Contents 1. 2. 3. 4. What is Requirements Prioritization Aspects of Prioritization Prioritization Techniques Stakeholders in the Prioritization Process 9/46 Requirements Prioritization Aspects of Prioritization Requirements can be prioritized according to many different aspects An aspect is an attribute of requirements that can be used to prioritize them Common aspects are importance, penalty, cost, time, and risk With a single aspect, it is easy to decide which requirements are most desirable With more aspects, high priority requirements may become less important 10/46 Requirements Prioritization Aspects of Prioritization Aspects interact Changes in one aspect may affect another aspect It is essential to know what effects such conflicts may have Do not just consider importance when prioritizing requirements Several aspects can be prioritized, but it may not be practical to consider them all 11/46 Requirements Prioritization Aspects of Prioritization With importance, prioritize the most important requirements for the system Importance could be an extremely multifaceted concept Importance could be urgency of implementation, strategic importance for the company, etc Specify in each case which kind of importance to prioritize 12/46 Requirements Prioritization Aspects of Prioritization Evaluate the penalty that occurs if a requirement is NOT fulfilled Penalty is not just the opposite of importance Failing a standard could incur a high penalty even if it has low importance The same goes for implicit requirements that users take for granted 13/46 Requirements Prioritization Aspects of Prioritization The implementation cost is usually estimated by the developing organization Measures that affect cost include complexity of the requirement ability to reuse existing code amount of testing Cost is often expressed in terms of staff hours (main cost in software) Cost and time can be prioritized by estimating them on an absolute scale 14/46 Requirements Prioritization Aspects of Prioritization Every project carries some amount of risk Risk management copes with internal (technical) and external risks (suppliers) Consider likelihood and impact when determining the risk of an item Risk management identifies risks that may cause difficulties during development Such risks could include performance risks, process risks, schedule risks, etc 15/46 Requirements Prioritization Aspects of Prioritization Volatility of requirements is often handled as part of the risk aspect The reasons for requirements volatility vary (market changes, business requirements change, legislative changes, users change) Volatile requirements affect the stability of a project, and increase the costs An architecture suited to change is needed if volatility is considered 16/46 Requirements Prioritization Aspects of Prioritization Examples of other aspects are financial benefit strategic benefit urgency competitors competence and resources release theme ability to sell user dis/satisfaction 17/46 Requirements Prioritization Aspects of Prioritization Develop a list of vital aspects Stakeholders must interpret the aspects and the requirements in the same way Hard to interpret results, if no guidelines exist about the meaning of aspects Consider multiple aspects before deciding if a requirement should be implemented 18/46 Requirements Prioritization Aspects of Prioritization The cost-value approach maximizes value for the money, by prioritizing value and cost XP’s Planning Game (PG) uses importance, effort (cost), and risks Many alternatives to combine aspects Which aspects to consider depends on the specific situation 19/46 Requirements Prioritization Contents 1. 2. 3. 4. What is Requirements Prioritization Aspects of Prioritization Prioritization Techniques Stakeholders in the Prioritization Process 20/46 Requirements Prioritization Prioritization Techniques Any prioritization assigns values to objects to establish a relative order between them The objects are the requirements The prioritization can be done with various measurement scales and types 21/46 Requirements Prioritization Prioritization Techniques Nominal Scale classification data, e.g. m/f no ordering, e.g. no sense to state that m>f arbitrary labels, e.g., city, colour Ordinal Scale ordered but differences are not important e.g., political parties on left to right spectrum given labels 0, 1, 2 Interval Scale ordered, constant scale, but no natural zero differences make sense, but ratios do not e.g., temperature (C,F) dates Ratio Scale ordered, constant scale, natural zero e.g., height, weight, age, length 22/46 Requirements Prioritization Prioritization Techniques The Analytic Hierarchy Process (AHP) is a decision-making method Requirements are grouped into subsets by arranging them in a hierarchy (e.g. a goal tree) Each requirement only has to be compared to others in the same subset The relative weight for each requirement in the subset is computed 23/46 Requirements Prioritization Prioritization Techniques AHP compares all possible pairs of requirements, to determine which has higher priority, and to what extent A scale from 1 to 9 (1/9) can be used 1 = equal importance 3 = moderately more important 5 = more important 7 = much more important 9 = absolutely more important 2,4,6,8 = intermediate values 24/46 Requirements Prioritization Prioritization Techniques Step 4: 5: Normalize 1: 2: 3: Calculate Choose Perform Sum therequirements all columns the the pair row sum wise averages ofcomparisons to columns prioritize R4 > R5 > R1 > R2 > R3 25/46 Requirements Prioritization Prioritization Techniques Number of comparisons = n×(n-1)/2 AHP is not suitable for large numbers of requirements The redundancy of the pair-wise comparisons allows a consistency check where judgment errors can be identified a consistency ratio to be calculated 26/46 Requirements Prioritization Prioritization Techniques In the 100-dollar test, stakeholders are given 100 units to distribute among the requirements The result of the prioritization is presented on a ratio scale Problem 1: when prioritizing too many requirements 20 requirements → 5 points to each one Solution: use $100,000 to have more freedom 27/46 Requirements Prioritization Prioritization Techniques Problem 2: Person performing the prioritization miscalculates and the points don’t add up to 100 Solution: use a tool (spreadsheet) Problem 3: Stakeholders do not get their favourite requirements as a top priority Stakeholders ask to repeat their evaluation Solution: Do not allow the prioritization to be repeated on the same requirements 28/46 Requirements Prioritization Prioritization Techniques Problem 4: A clever stakeholder might put all his points on a favourite requirement that others do not prioritize as highly He saves points from requirements that will get many points anyway Solution: Limit the points spent on individual requirements Stakeholders may not prioritize according to their actual needs 29/46 Requirements Prioritization Prioritization Techniques Numerical assignment assigns requirements to different priority groups Number of groups can vary (typical 3) Problem 1: Using relative terms (high, medium, low) confuse the stakeholders Solution: Clearly define what a group really means Each group must represent something that the stakeholders can relate to (e.g. critical, standard, optional) 30/46 Requirements Prioritization Prioritization Techniques Problem 2: Stakeholders tend to think that everything is critical With three groups, a typical distribution is 85%-10%-5% Solution: Put restrictions on the allowed number of requirements in each group Stakeholders are forced to divide requirements into certain groups Problem 3: Each requirement does not get a unique priority 31/46 Requirements Prioritization Prioritization Techniques Ranking is based on an ordinal scale but there are no ties The most important requirement is ranked 1 and the least important is ranked n Relative difference between the ranked items is not visible Problem 1: to align several different stakeholders’ views Solution: taking the mean priority of each requirement ⇒ possible ties 32/46 Requirements Prioritization Prioritization Techniques In the top-ten requirements approach, the stakeholders pick their top-ten requirements with no order among them Suitable for multiple stakeholders of equal importance Prioritizing further can create unnecessary conflicts (e.g., one stakeholder gets support for their top priority and other for his third) Conflicts arise if one customer gets 6 requirements while another only gets 3 33/46 Requirements Prioritization Prioritization Techniques Use the simplest appropriate technique More sophisticated techniques are used when a more sensitive analysis is needed The simplest possible technique ensures cost effective decisions Tools ease the use of more sophisticated techniques 34/46 Requirements Prioritization Prioritization Techniques Some techniques are combined to make prioritization easier or more efficient Requirements triage has parallels with medical treatment at hospitals Medical personnel divide victims into: those that will die whether treated or not those who will resume normal lives whether treated or not those for whom medical treatment may make a significant difference 35/46 Requirements Prioritization Prioritization Techniques There are requirements that must be in the product need not to be satisfied by the product deserve more attention Requirements are assigned to one of three groups (numerical assignment) Requirements needing more attention are prioritized by a more complex technique In XP’s PG, the requirements are 1. 2. divided into priority groups ranked within each group 36/46 Requirements Prioritization Contents 1. 2. 3. 4. What is Requirements Prioritization Aspects of Prioritization Prioritization Techniques Stakeholders in the Prioritization Process 37/46 Requirements Prioritization Stakeholders in the Prioritization Process Bespoke project vs. Market-driven development 38/46 Requirements Prioritization Stakeholders in the Prioritization Process Consider 3 scenarios one customer a number of “known” customers a mass-market With one customer, only his priorities need to be considered Some software processes are based on one customer (always available) XP has an “on-site customer” practice 39/46 Requirements Prioritization Stakeholders in the Prioritization Process Customer ≠ User The person who prioritizes and the users may not have the same priorities Involve the users in prioritizing the requirements Employer vs. employee 40/46 Requirements Prioritization Stakeholders in the Prioritization Process With several customers, prioritization becomes more difficult Challenge is to combine these different customer views The goal is to create win-win conditions and make all stakeholders “winners” Do not ignore any perspective All stakeholders must be involved 41/46 Requirements Prioritization Stakeholders in the Prioritization Process For a mass-market, it is impossible to get all customers to prioritize Several sources exist for a mass-market: internal records, marketing intelligence, competitor intelligence The sample must be representative for the intended market segment Decide which market segments should be tackled before prioritizing 42/46 Requirements Prioritization Stakeholders in the Prioritization Process The prioritization for a mass-market eases the identification of which parts are common for all market segments to develop for specific market segments This is valuable for product lines The concept of personas that originated in marketing can be used 43/46 Requirements Prioritization Stakeholders in the Prioritization Process All perspectives that have a stake in the product must be involved in the prioritization process Three mandatory views customers care about the user/customer value developers know the technical difficulties financial representatives take care for budgetary constraints and risks 44/46 Requirements Prioritization Stakeholders in the Prioritization Process Establish trade-offs among stakeholders with different priorities Strong stakeholders are hard to neglect Insistent users often get what they want Handle different stakeholders in a structured way The influence of each stakeholder can be adjusted by considering different aspects Weight market segments (size of market segment, revenue last year, nbr customers) 45/46 Requirements Prioritization Further Reading Berander P, Andrews A; “Requirements Prioritization”, in Engineering and Managing Software Requirements, Aurum A, Wohlin C (eds.), Springer, chap. 4, Jul/2005, ISBN 3-540-25043-3. DOI 10.1007/3-540-28244-0_4 46/46
© Copyright 2026 Paperzz