Requirements Prioritization

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