Chapter Summary
Chapter 16: Setting Requirement Priorities
© Karl E. Wiegers
1
16.1 Why Prioritize?
Competition for limited resources Balance project scope against: ◦ Schedule ◦ Budget ◦ Staff ◦ Quality
Have multiple options early (which way to go)
2
Things that can happen -
Refusal to set priorities: “it’s all equally important.”
Biased priorities: 85% are high (although not the case)
Late-breaking “rapid de-scoping”- in a panicked state
Too many resources spent on low-priority, eventually-deferred functions
3
Questions to ask
Is there another way to do this? What are the consequences of deleting this
requirement? What is the business impact of delaying this
requirement? Why would a user be unhappy if this
requirement were missing? What is the least-important requirement of
all? (can be repeated to build priority list) 4
16.2 Prioritization Techniques
In or out: stake holders make binary decision
Pair-wise comparison and rank ordering:
Assign unique priority number to each requirement and make pairwise comparison
5
6
Three level Scale (High, Medium and Low) based on Importance and Urgency
MoSCoW (Moscow) For each Req, decide, if it is - M: Must - the REQ must be satisfied - S: Should - be but not mandatory - C: Could – implement only permitting - Won’t – will not be implemented
It gives 4 level scale (but no rational) No 2 dimension as in three scale not highly recommended
7
Priority = value %
(cost % * cost weight) + (risk % * risk weight)
8
Prioritization based on Value, Cost and Risk
-Estimating Relative Customer Value of Features (weight = 1)
9
Estimating Feature Priority (weight = 1)
10
Prioritization Example: A Word Processor (weight = 1)
11
12
(Weight) (2.0) (1.0) (1.0) (0.5)
Feature RelativeBenefit Relative Penalty
Total Value
Value %
Relative Cost
Cost %
Relative Risk
Risk % Priority
Print a material safety data sheet 2 4 1 1
Query status of a vendor order 5 3 2 1
Generate a Chemical Stockroom inventory report 9 7 5 3
See history of a specific chemical container 5 5 3 2
Search vendor catalog for a specific chemical 9 8 3 8
Maintain a list of hazardous chemicals 3 9 3 4
Modify a pending chemical request 4 3 3 2
Generate an individual laboratory inventory report 6 2 4 3
Check training database for hazardous chemical training record 3 4 4 2
Import chemical structures from structure drawing tools 7 4 9 7
Totals 53 49 155 100.0 37 100.0 33 100.0
Priority = value %
(cost % * cost weight) + (risk % * risk weight)Table . Value, Cost, and Risk
Another Example: Chemical Factory (Exercise)
13
(Weight) (2.0) (1.0) (1.0) (0.5)
Feature RelativeBenefit Relative Penalty
Total Value
Value %
Relative Cost
Cost %
Relative Risk
Risk % Priority
Print a material safety data sheet 2 4 8 5.5 1 2.7 1 3.0 1.22
Query status of a vendor order 5 3 13 8.4 2 5.4 1 3.0 1.21
Generate a Chemical Stockroom inventory report 9 7 25 16.1 5 13.5 3 9.1 0.89
See history of a specific chemical container 5 5 15 9.7 3 8.1 2 6.1 0.87
Search vendor catalog for a specific chemical 9 8 26 16.8 3 8.1 8 24.2 0.83
Maintain a list of hazardous chemicals 3 9 15 9.7 3 8.1 4 12.1 0.68
Modify a pending chemical request 4 3 11 7.1 3 8.1 2 6.1 0.64
Generate an individual laboratory inventory report 6 2 14 9.0 4 10.8 3 9.1 0.59
Check training database for hazardous chemical training record 3 4 10 6.5 4 10.8 2 6.1 0.47
Import chemical structures from structure drawing tools 7 4 18 11.6 9 24.3 7 21.2 0.33
Totals 53 49 155 100.0 37 100.0 33 100.0
Priority = value %
(cost % * cost weight) + (risk % * risk weight)Table . Value, Cost, and Risk
Another Example: Chemical Factory
Prioritization
END
14