1
Requirements Prioritization
Lecture # 44
2
The Decision Making Process
• In everyday life, we make decisions,
e.g., when buying a DVD-player, food,
a telephone, etc
• Usually, we do not have more than a
couple of choices to consider. Even
with just a couple of choices, decisions
can be difficult to make
3
Need for Prioritization
• When having tens, hundreds or even
thousands of alternatives, decision-making
becomes much more difficult
• One of the keys to making the right decision
is to prioritize between different
alternatives. It is often not obvious which
choice is better, because several aspects
must be taken into consideration
4
Example
• Buying a car
• One aspect or several aspects
5
Requirements Prioritization
• When developing software systems, similar
trade-offs must be made
• The functionality that is most important for
the customers might not be as important
when other aspects (e.g. price) are factored
in
• We need to develop the functionality that is
most desired by the customers, as well as
least risky, least costly, and so forth
6
Requirements Prioritization
• The quality of software products is
often determined by the ability to
satisfy the needs of the customers and
users
• So, it is very important to include those
requirements in the product, which are
really needed by the customers
7
Requirements Prioritization
• Most software projects have more candidate
requirements than can be realized within the
time and cost constraints
• Prioritization helps to identify the most
valuable requirements from this set by
distinguishing the critical few from the
trivial many
8
Requirements Prioritization
• Act of giving precedence or priority to
one item over another item
• Requirements prioritization means
giving precedence to some
requirements over other requirements
based on feedback from system
stakeholders
9
Benefits of Requirements
Prioritization
• Stakeholders can decide on the core
requirements for the system
• Planning and selection of ordered, optimal
set of software requirements for
implementation in successive releases
• Helps in trade-offs of conflicting constraints
such as schedule, budget, resources, time to
market, and quality
10
Benefits of Requirements
Prioritization
• Balances the business benefit of each
requirement against its cost
• Balances the implications of requirements
on the software architecture and future
evolution of the product and its associated
cost
• Selects only a subset of the requirements
and still produce a system that will satisfy
the customers
11
Benefits of Requirements
Prioritization
• Get technical advantage and optimize
market opportunity
• Minimize rework and schedule slippage
(plan stability)
• Handle contradictory requirements, focus
the negotiation process, and resolve
disagreements between stakeholders
12
Benefits of Requirements
Prioritization
• Establish relative importance of each
requirement to provide the greatest
value at the lowest cost
13
Requirements Prioritization
• Prioritization can be done arbitrarily, as
we discussed in the requirements
negotiations
• Prioritization should be based on
certain criteria like objectives, risks,
quality factors, or viewpoints of
stakeholders
14
Requirements Prioritization
• “The challenge is to select the ‘right’
requirements out of a given superset of
candidate requirements so that all the
different key interests, technical constraints
and preferences of the critical stakeholders
are fulfilled and the overall business value
of the product is maximized”
– Ruhe et. al.
15
Prioritization Process
• Prioritization is an iterative process and
might be performed at different abstraction
levels and with different information in
different phases during the software
lifecycle
• Prioritization techniques can roughly be
divided into two categories:
– Methods
– Negotiation approaches
16
Prioritization Methods
• The methods are based on
quantitatively assigning values to
different aspects of requirements
• Quantitative methods make it easier to
aggregate different decision variables
into an overall assessment and lead to
faster decisions
17
Negotiation Approaches
• Negotiation approaches focus on giving
priorities to requirements by reaching
agreement between different stakeholders
• They are based on subjective measures and
are commonly used when analyses are
contextual and when decision variables are
strongly interrelated
18
Important Considerations
• In addition, one must be mindful of the social
nature of prioritization. There is more to
requirements prioritization than simply asking
stakeholders about priorities
• Stakeholders play roles and should act according
to the goals of that roles, but they are also
individuals with personalities and personal
agendas, and there are organizational issues also
• These issues must be addressed while prioritizing
requirements
19
Aspects of Prioritization
• Requirements can be prioritized taking
many different aspects into account
• An aspect is a property or attribute of a
project and its requirements that can be used
to prioritize requirements
• Often aspects interact and changes in one
aspect could result in an impact on another
aspects
20
Aspects of Prioritization
• Importance
– The stakeholders should prioritize which
requirements are most important for the
system. Importance is multifaceted, and
could be urgency of implementation,
importance for product architecture,
strategic importance
21
Aspects of Prioritization
• Penalty
– It is possible to evaluate the penalty that
is introduced if a requirement is not
fulfilled. Penalty is not just the opposite
of importance
22
Aspects of Prioritization
• Cost
– The implementation cost is usually estimated
by the developing organization. Measures that
influence cost include: complexity of the
requirement, the ability to reuse existing code,
the amount of testing and documentation
needed
– Cost is often expressed in terms of staff hours
23
Aspects of Prioritization
• Time
– Time is influenced by many other factors
such as degree of parallelism in
development, training needs, need to
develop support infrastructure, complete
industry standards
24
Aspects of Prioritization
• Risk
– Every project carries some amount of risk
• Volatility
– Volatility of requirements is considered a
risk factor and is sometimes handled as
part of the risk aspect. A point of view is
to handle them separately
25
Aspects of Prioritization
• Other aspects
– Financial benefit, strategic benefit, competitors,
competence/resources, release theme, ability to
sell
• It is important for stakeholders to develop a
list of aspects to help in decision-making
process
• Combining different aspects
26
Prioritization Techniques
• The purpose of any prioritization is to
assign values to distinct prioritization
objects that allow establishment of a
relative order between the objects in
the set. In our case, the objects are the
requirements to prioritize
27
Prioritization Techniques
• The prioritization can be done with various
measurement scales and types
• The least powerful prioritization scale is the
ordinal scale, where the requirements are
ordered so that it is possible to see which
requirements are more important than
others, but not how much more important
28
Prioritization Techniques
• The ratio scale is more powerful since it is
possible to quantify how much more
important one requirement is than another
• An even more powerful scale is the absolute
scale, which can be used in situations where
an absolute number can be assigned
29
Analytical Hierarchy Process (AHP)
• AHP is a systematic decision-making
method that has been adapted for
prioritization of software requirements
• It involves comparing all possible pairs of
hierarchically classified requirements, in
order to determine which has higher
priority, and to what extent
30
Analytical Hierarchy Process (AHP)
• The total number of comparisons to perform
with AHP are n * (n-1)/2; where n is the
number of requirements; at each hierarchy
level, which results in a dramatic increase in
the number of requirements
• Studies have shown that AHP is not suitable
for large number of requirements
31
Cumulative Voting, the 100-Dollar
Test
• The 100-dollar test is a very
straightforward prioritization technique
where the stakeholders are given 100
imaginary units (money, hours, etc.) to
distribute between the requirements
• The result of the prioritization is
presented on a ratio scale
32
Cumulative Voting, the 100-Dollar
Test
• One should only perform the
prioritization once on the same set of
requirements, since the stakeholders
might bias their evaluation the second
time around if they do not get one of
their favorite requirements as a top
priority
33
Numerical Assignment (Grouping)
• It is the most common prioritization
technique, and is based on grouping
requirements into different priority
groups
• The number of groups can vary, but in
practice, three groups are very
common
34
Numerical Assignment (Grouping)
• When using numerical assignment, it is
important that each group represents
something that the stakeholders can relate to
(e.g. critical, standard, optional), for a
reliable classification
• Using relative terms such as high, medium,
and low will confuse the stakeholders
35
Numerical Assignment (Grouping)
• Everything can be marked critical
36
Ranking
• As in numerical assignment, ranking is
based on an ordinal scale but the
requirements are ranked without ties in rank
• This means that the most important
requirement is ranked 1 and the least
important is ranked n (for n requirements)
37
Top-Ten Requirements
• In this approach, the stakeholders pick their
top-ten requirements (from a larger set)
without assigning an internal order between
the requirements
• This makes the approach especially suitable
for multiple stakeholders of equal
importance
38
Top-Ten Requirements
• The reason to not prioritize further is that it
might create unnecessary conflict when
some stakeholders get support for their top
priority and others only for their third
priority
• It is not advisable to take average across all
stakeholders since it might lead to some
stakeholders not getting any of their top
requirements
39
Top-Ten Requirements
• The main challenge in this technique is
to balance issues related to the fact that
top priority requirements of all
stakeholders are included in the next
development activity
40
Summary of Presented Techniques
• AHP
– Scale: Ratio
– Granularity: Fine
– Sophistication: Very Complex
• 100 Dollar Test
– Scale: Ratio
– Granularity: Fine
– Sophistication: Complex
41
Summary of Presented Techniques
• Ranking
– Scale: Ordinal
– Granularity: Medium
– Sophistication: Easy
• Numerical Assignment
– Scale: Ordinal
– Granularity: Coarse
– Sophistication: Very Easy
42
Summary of Presented Techniques
• Top-Ten
– Scale: -
– Granularity: Extremely Coarse
– Sophistication: Extremely Easy
43
Hints and Tips on Requirements
Prioritization
• A general advice is to use the simplest
appropriate prioritization technique and use
more sophisticated ones when a more
sensitive analysis is needed for resolving
disagreements or to support the most critical
decisions
• More sophisticated techniques, generally,
are more time consuming, the simplest
possible technique ensures cost effective
decisions
44
Hints and Tips on Requirements
Prioritization
• The trade-off is to decide exactly how
“quick and dirty” the approach can be
without letting the quality of the
decisions suffer
• Commercial tools are available that
facilitate the use of sophisticated
techniques
45
Hints and Tips on Requirements
Prioritization
• Different techniques can be combined
also
46
Involvement of Stakeholders
• One Customer
• Several Known Customers
• Mass Market
– Concept of personas
• Perspectives of customers, developers,
and financial representatives
47
Requirements Prioritization Issues
• Abstraction level
• Reprioritization
• Non-functional requirements
• Introducing prioritization into an
organization
• Evaluating prioritization
• Using the results of requirements
prioritization
48
Summary
• Requirements prioritization is an important
research area in requirements engineering
• There are different techniques available for
requirements prioritization
• There is a major emphasis on stakeholders
involvement in each requirements
prioritization technique
49
References
• “Requirements Prioritization (Chapter
4),” by Patrik Berander & Anneliese
Andrews in ‘Engineering and
Managing Software Requirements’ by
Aybuke Aurum & Claes Wohlin (Eds.),
Springer 2005

More Related Content

PPTX
Requirements prioritization
PPSX
Requirement Management
PPSX
GAP Analysis
PPTX
BM52 Project Management and how to manage.pptx
PDF
APM Benefits Summit 2017 - From ambition to delivery: Don't just do something...
PPT
Introduction to Operations Management by Stevenson
PPT
Agile Method requirement engineering.ppt
PPT
vu-re-lecture-4dgdfgdsfgfghfghfdghfdghfd1.ppt
Requirements prioritization
Requirement Management
GAP Analysis
BM52 Project Management and how to manage.pptx
APM Benefits Summit 2017 - From ambition to delivery: Don't just do something...
Introduction to Operations Management by Stevenson
Agile Method requirement engineering.ppt
vu-re-lecture-4dgdfgdsfgfghfghfdghfdghfd1.ppt

Similar to vu-re-lecture-44 requirement engineering.ppt (20)

PPTX
Introduction Operations Management tutorial-1.pptx
PPTX
Requirement-Prioritization-08012023-110019am.pptx
PPTX
Requirements engineering for agile methods
PPT
Operation management intro
PDF
Value Insights - ITIL 4 Foundation - exam preparation v1.0 (1).pdf
PPTX
Manufacturing strategy
PPTX
Feasibility Study.pptx
PDF
2.requirements management
PPTX
Chapter 02
PPTX
Software_Requirements_Validation_and_Negotiation.pptx
PPTX
Project Management Chapter 1 and chapter 2 Rosetti
PDF
Lean Project Portfolio Management
PPTX
Business Case Pratictioners Forum: Business case - an overview, Stefan Sanche...
PPTX
Accountability – Managing the Risks of Innovation Procurement
PPTX
Decision making in administration
PPTX
Chaptfhhdggdhghgdhgdhgdgffghfghffer-3.pptx
PDF
SPM 5 - Release Planning
PPTX
Building Awareness Of The Business Case Is It A Rule Problem Or Is It Somet...
PPT
Accounting_Essentials.ppt
PDF
Art of Implementing a Business Solution
Introduction Operations Management tutorial-1.pptx
Requirement-Prioritization-08012023-110019am.pptx
Requirements engineering for agile methods
Operation management intro
Value Insights - ITIL 4 Foundation - exam preparation v1.0 (1).pdf
Manufacturing strategy
Feasibility Study.pptx
2.requirements management
Chapter 02
Software_Requirements_Validation_and_Negotiation.pptx
Project Management Chapter 1 and chapter 2 Rosetti
Lean Project Portfolio Management
Business Case Pratictioners Forum: Business case - an overview, Stefan Sanche...
Accountability – Managing the Risks of Innovation Procurement
Decision making in administration
Chaptfhhdggdhghgdhgdhgdgffghfghffer-3.pptx
SPM 5 - Release Planning
Building Awareness Of The Business Case Is It A Rule Problem Or Is It Somet...
Accounting_Essentials.ppt
Art of Implementing a Business Solution
Ad

More from ubaidullah75790 (20)

PPTX
Chapter20 transaction processing system .pptx
PPTX
Chapter22 database security in dbms.pptx
PPTX
Chapter27 distributed database syst.pptx
PPTX
File Organization in database management.pptx
PPTX
transaction processing databse management.pptx
PPT
physical database design distributed .ppt
PPT
module03-ipaddr ipv6 addressing in net.ppt
PPT
PDBD- Part2 physical database design.ppt
PPT
Physical_Design system development life.PPT
PPT
S3 application and network attacks in.ppt
PPT
Chapter 5 cyber security in computer.ppt
PPTX
1606802425-dba-w7 database management.pptx
PPT
ENCh18 database management system ss.ppt
PPT
Chapter07 database system in computer.ppt
PPT
Chapter05 database sytem in computer . ppt
PPT
Chapter04 database system in computer.ppt
PPT
Chapter03 database system in computer.ppt
PPT
Chapter02 database system in computer.ppt
PPT
Chapter01 database system in computer.ppt
PPT
MYCH8 database management system in .ppt
Chapter20 transaction processing system .pptx
Chapter22 database security in dbms.pptx
Chapter27 distributed database syst.pptx
File Organization in database management.pptx
transaction processing databse management.pptx
physical database design distributed .ppt
module03-ipaddr ipv6 addressing in net.ppt
PDBD- Part2 physical database design.ppt
Physical_Design system development life.PPT
S3 application and network attacks in.ppt
Chapter 5 cyber security in computer.ppt
1606802425-dba-w7 database management.pptx
ENCh18 database management system ss.ppt
Chapter07 database system in computer.ppt
Chapter05 database sytem in computer . ppt
Chapter04 database system in computer.ppt
Chapter03 database system in computer.ppt
Chapter02 database system in computer.ppt
Chapter01 database system in computer.ppt
MYCH8 database management system in .ppt
Ad

Recently uploaded (20)

PPTX
Module 8- Technological and Communication Skills.pptx
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PDF
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
PPTX
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
PPTX
Management Information system : MIS-e-Business Systems.pptx
PDF
737-MAX_SRG.pdf student reference guides
PDF
Soil Improvement Techniques Note - Rabbi
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PDF
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPT
Total quality management ppt for engineering students
PDF
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
PPTX
introduction to high performance computing
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PDF
ChapteR012372321DFGDSFGDFGDFSGDFGDFGDFGSDFGDFGFD
PDF
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PPTX
Software Engineering and software moduleing
Module 8- Technological and Communication Skills.pptx
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
tack Data Structure with Array and Linked List Implementation, Push and Pop O...
Management Information system : MIS-e-Business Systems.pptx
737-MAX_SRG.pdf student reference guides
Soil Improvement Techniques Note - Rabbi
distributed database system" (DDBS) is often used to refer to both the distri...
null (2) bgfbg bfgb bfgb fbfg bfbgf b.pdf
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Total quality management ppt for engineering students
Artificial Superintelligence (ASI) Alliance Vision Paper.pdf
introduction to high performance computing
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
August -2025_Top10 Read_Articles_ijait.pdf
ChapteR012372321DFGDSFGDFGDFSGDFGDFGDFGSDFGDFGFD
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
III.4.1.2_The_Space_Environment.p pdffdf
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Software Engineering and software moduleing

vu-re-lecture-44 requirement engineering.ppt

  • 2. 2 The Decision Making Process • In everyday life, we make decisions, e.g., when buying a DVD-player, food, a telephone, etc • Usually, we do not have more than a couple of choices to consider. Even with just a couple of choices, decisions can be difficult to make
  • 3. 3 Need for Prioritization • When having tens, hundreds or even thousands of alternatives, decision-making becomes much more difficult • One of the keys to making the right decision is to prioritize between different alternatives. It is often not obvious which choice is better, because several aspects must be taken into consideration
  • 4. 4 Example • Buying a car • One aspect or several aspects
  • 5. 5 Requirements Prioritization • When developing software systems, similar trade-offs must be made • The functionality that is most important for the customers might not be as important when other aspects (e.g. price) are factored in • We need to develop the functionality that is most desired by the customers, as well as least risky, least costly, and so forth
  • 6. 6 Requirements Prioritization • The quality of software products is often determined by the ability to satisfy the needs of the customers and users • So, it is very important to include those requirements in the product, which are really needed by the customers
  • 7. 7 Requirements Prioritization • Most software projects have more candidate requirements than can be realized within the time and cost constraints • Prioritization helps to identify the most valuable requirements from this set by distinguishing the critical few from the trivial many
  • 8. 8 Requirements Prioritization • Act of giving precedence or priority to one item over another item • Requirements prioritization means giving precedence to some requirements over other requirements based on feedback from system stakeholders
  • 9. 9 Benefits of Requirements Prioritization • Stakeholders can decide on the core requirements for the system • Planning and selection of ordered, optimal set of software requirements for implementation in successive releases • Helps in trade-offs of conflicting constraints such as schedule, budget, resources, time to market, and quality
  • 10. 10 Benefits of Requirements Prioritization • Balances the business benefit of each requirement against its cost • Balances the implications of requirements on the software architecture and future evolution of the product and its associated cost • Selects only a subset of the requirements and still produce a system that will satisfy the customers
  • 11. 11 Benefits of Requirements Prioritization • Get technical advantage and optimize market opportunity • Minimize rework and schedule slippage (plan stability) • Handle contradictory requirements, focus the negotiation process, and resolve disagreements between stakeholders
  • 12. 12 Benefits of Requirements Prioritization • Establish relative importance of each requirement to provide the greatest value at the lowest cost
  • 13. 13 Requirements Prioritization • Prioritization can be done arbitrarily, as we discussed in the requirements negotiations • Prioritization should be based on certain criteria like objectives, risks, quality factors, or viewpoints of stakeholders
  • 14. 14 Requirements Prioritization • “The challenge is to select the ‘right’ requirements out of a given superset of candidate requirements so that all the different key interests, technical constraints and preferences of the critical stakeholders are fulfilled and the overall business value of the product is maximized” – Ruhe et. al.
  • 15. 15 Prioritization Process • Prioritization is an iterative process and might be performed at different abstraction levels and with different information in different phases during the software lifecycle • Prioritization techniques can roughly be divided into two categories: – Methods – Negotiation approaches
  • 16. 16 Prioritization Methods • The methods are based on quantitatively assigning values to different aspects of requirements • Quantitative methods make it easier to aggregate different decision variables into an overall assessment and lead to faster decisions
  • 17. 17 Negotiation Approaches • Negotiation approaches focus on giving priorities to requirements by reaching agreement between different stakeholders • They are based on subjective measures and are commonly used when analyses are contextual and when decision variables are strongly interrelated
  • 18. 18 Important Considerations • In addition, one must be mindful of the social nature of prioritization. There is more to requirements prioritization than simply asking stakeholders about priorities • Stakeholders play roles and should act according to the goals of that roles, but they are also individuals with personalities and personal agendas, and there are organizational issues also • These issues must be addressed while prioritizing requirements
  • 19. 19 Aspects of Prioritization • Requirements can be prioritized taking many different aspects into account • An aspect is a property or attribute of a project and its requirements that can be used to prioritize requirements • Often aspects interact and changes in one aspect could result in an impact on another aspects
  • 20. 20 Aspects of Prioritization • Importance – The stakeholders should prioritize which requirements are most important for the system. Importance is multifaceted, and could be urgency of implementation, importance for product architecture, strategic importance
  • 21. 21 Aspects of Prioritization • Penalty – It is possible to evaluate the penalty that is introduced if a requirement is not fulfilled. Penalty is not just the opposite of importance
  • 22. 22 Aspects of Prioritization • Cost – The implementation cost is usually estimated by the developing organization. Measures that influence cost include: complexity of the requirement, the ability to reuse existing code, the amount of testing and documentation needed – Cost is often expressed in terms of staff hours
  • 23. 23 Aspects of Prioritization • Time – Time is influenced by many other factors such as degree of parallelism in development, training needs, need to develop support infrastructure, complete industry standards
  • 24. 24 Aspects of Prioritization • Risk – Every project carries some amount of risk • Volatility – Volatility of requirements is considered a risk factor and is sometimes handled as part of the risk aspect. A point of view is to handle them separately
  • 25. 25 Aspects of Prioritization • Other aspects – Financial benefit, strategic benefit, competitors, competence/resources, release theme, ability to sell • It is important for stakeholders to develop a list of aspects to help in decision-making process • Combining different aspects
  • 26. 26 Prioritization Techniques • The purpose of any prioritization is to assign values to distinct prioritization objects that allow establishment of a relative order between the objects in the set. In our case, the objects are the requirements to prioritize
  • 27. 27 Prioritization Techniques • The prioritization can be done with various measurement scales and types • The least powerful prioritization scale is the ordinal scale, where the requirements are ordered so that it is possible to see which requirements are more important than others, but not how much more important
  • 28. 28 Prioritization Techniques • The ratio scale is more powerful since it is possible to quantify how much more important one requirement is than another • An even more powerful scale is the absolute scale, which can be used in situations where an absolute number can be assigned
  • 29. 29 Analytical Hierarchy Process (AHP) • AHP is a systematic decision-making method that has been adapted for prioritization of software requirements • It involves comparing all possible pairs of hierarchically classified requirements, in order to determine which has higher priority, and to what extent
  • 30. 30 Analytical Hierarchy Process (AHP) • The total number of comparisons to perform with AHP are n * (n-1)/2; where n is the number of requirements; at each hierarchy level, which results in a dramatic increase in the number of requirements • Studies have shown that AHP is not suitable for large number of requirements
  • 31. 31 Cumulative Voting, the 100-Dollar Test • The 100-dollar test is a very straightforward prioritization technique where the stakeholders are given 100 imaginary units (money, hours, etc.) to distribute between the requirements • The result of the prioritization is presented on a ratio scale
  • 32. 32 Cumulative Voting, the 100-Dollar Test • One should only perform the prioritization once on the same set of requirements, since the stakeholders might bias their evaluation the second time around if they do not get one of their favorite requirements as a top priority
  • 33. 33 Numerical Assignment (Grouping) • It is the most common prioritization technique, and is based on grouping requirements into different priority groups • The number of groups can vary, but in practice, three groups are very common
  • 34. 34 Numerical Assignment (Grouping) • When using numerical assignment, it is important that each group represents something that the stakeholders can relate to (e.g. critical, standard, optional), for a reliable classification • Using relative terms such as high, medium, and low will confuse the stakeholders
  • 35. 35 Numerical Assignment (Grouping) • Everything can be marked critical
  • 36. 36 Ranking • As in numerical assignment, ranking is based on an ordinal scale but the requirements are ranked without ties in rank • This means that the most important requirement is ranked 1 and the least important is ranked n (for n requirements)
  • 37. 37 Top-Ten Requirements • In this approach, the stakeholders pick their top-ten requirements (from a larger set) without assigning an internal order between the requirements • This makes the approach especially suitable for multiple stakeholders of equal importance
  • 38. 38 Top-Ten Requirements • The reason to not prioritize further is that it might create unnecessary conflict when some stakeholders get support for their top priority and others only for their third priority • It is not advisable to take average across all stakeholders since it might lead to some stakeholders not getting any of their top requirements
  • 39. 39 Top-Ten Requirements • The main challenge in this technique is to balance issues related to the fact that top priority requirements of all stakeholders are included in the next development activity
  • 40. 40 Summary of Presented Techniques • AHP – Scale: Ratio – Granularity: Fine – Sophistication: Very Complex • 100 Dollar Test – Scale: Ratio – Granularity: Fine – Sophistication: Complex
  • 41. 41 Summary of Presented Techniques • Ranking – Scale: Ordinal – Granularity: Medium – Sophistication: Easy • Numerical Assignment – Scale: Ordinal – Granularity: Coarse – Sophistication: Very Easy
  • 42. 42 Summary of Presented Techniques • Top-Ten – Scale: - – Granularity: Extremely Coarse – Sophistication: Extremely Easy
  • 43. 43 Hints and Tips on Requirements Prioritization • A general advice is to use the simplest appropriate prioritization technique and use more sophisticated ones when a more sensitive analysis is needed for resolving disagreements or to support the most critical decisions • More sophisticated techniques, generally, are more time consuming, the simplest possible technique ensures cost effective decisions
  • 44. 44 Hints and Tips on Requirements Prioritization • The trade-off is to decide exactly how “quick and dirty” the approach can be without letting the quality of the decisions suffer • Commercial tools are available that facilitate the use of sophisticated techniques
  • 45. 45 Hints and Tips on Requirements Prioritization • Different techniques can be combined also
  • 46. 46 Involvement of Stakeholders • One Customer • Several Known Customers • Mass Market – Concept of personas • Perspectives of customers, developers, and financial representatives
  • 47. 47 Requirements Prioritization Issues • Abstraction level • Reprioritization • Non-functional requirements • Introducing prioritization into an organization • Evaluating prioritization • Using the results of requirements prioritization
  • 48. 48 Summary • Requirements prioritization is an important research area in requirements engineering • There are different techniques available for requirements prioritization • There is a major emphasis on stakeholders involvement in each requirements prioritization technique
  • 49. 49 References • “Requirements Prioritization (Chapter 4),” by Patrik Berander & Anneliese Andrews in ‘Engineering and Managing Software Requirements’ by Aybuke Aurum & Claes Wohlin (Eds.), Springer 2005