Why Prioritize Requirements?
Requirements prioritization is necessary because resources are always limited and you can rarely implement everything. Here are the core difficulties:
- Too many requirements from too many sources
- Resources are limited (budget, time, people)
- Developers may not know the business value of requirements
- Clients may not know the implementation complexity
- Companies often lack systematic data and metrics to support prioritization
- Often done manually, informally, on an ad-hoc basis
- Different stakeholders have conflicting goals and priorities
- Some stakeholders' decisions carry more weight than others
- Difficult to establish and communicate priorities
- Attitude problem: "No need for priorities, we can do everything!" — until the deadline arrives
- When the deadline approaches, requirements get cut chaotically instead of strategically
The 80-20 Rule (Pareto Principle) IMPORTANT
| 20% of Cause | 80% of Effect |
|---|---|
| Criminals | Crimes |
| Drivers | Accidents |
| Factories | Pollution |
| Company products | Overall sales |
| Employees | Accomplished results |
Requirements Triage
Requirements prioritization is also called triage — a medical term for sorting patients by urgency. In RE it means deciding which requirements really matter and which should be implemented in the current release.
- Simple and fast for industry adoption
- Accurate and reliable results
- Consider the value of requirements to stakeholders (maximize)
- Consider the cost of implementation (minimize)
- Consider time to market (minimize)
- Important to agree on requirements granularity first (e.g., use cases, features, or detailed functional requirements)
1st Technique — Prioritization Scales
The simplest technique: define criteria and a scale, then assign every requirement a rating. Two commonly used dimensions are Urgency and Importance.
- High — Mission critical; required for next release
- Medium — Supports necessary operations; required eventually but could wait
- Low — Functional or quality enhancement; nice to have if resources permit
- Essential — Product unacceptable unless these requirements are satisfied
- Conditional — Would enhance the product but product is acceptable without it
- Optional — Functions that may or may not be worthwhile
2nd Technique — Wiegers' Prioritization KEY
A semi-quantitative analytical approach to requirements prioritization based on value, cost, and risk. Relies on estimating relative priorities rather than absolute ones.
- Relative Benefit — value gained by having this requirement
- Relative Penalty — harm to stakeholders if requirement is NOT included
- Relative Cost — effort to implement this requirement
- Relative Risk — technical and other risks involved
Chemical Tracking System Example:
| Feature | Rel. Benefit | Rel. Penalty | Value % | Rel. Cost | Cost % | Rel. Risk | Risk % | Priority |
|---|---|---|---|---|---|---|---|---|
| 1. Query vendor order status | 5 | 3 | 8.4 | 2 | 4.8 | 1 | 3.0 | 1.345 ▲ |
| 2. Generate stockroom inventory | 9 | 7 | 16.2 | 5 | 11.9 | 3 | 9.1 | 0.987 |
| 4. Print chemical safety datasheet | 2 | 1 | 3.2 | 1 | 2.4 | 1 | 3.0 | 0.833 |
| 8. Search vendor catalogs | 9 | 8 | 16.9 | 7 | 16.7 | 8 | 24.2 | 0.586 ▼ |
| 10. Import from drawing tools | 7 | 4 | 11.7 | 9 | 21.4 | 7 | 21.2 | 0.365 ▼ |
Feature #1 has the highest priority (1.345) despite moderate benefit — because its cost and risk are very low. Feature #10 has the lowest priority (0.365) because it has high cost AND high risk.
- Systematic and analytical — removes some emotion and politics
- Considers multiple dimensions simultaneously
- Produces ranked, comparable priorities
- Can be adapted with different weights for different projects
- Still limited by ability to properly estimate values
- Interdependent requirements difficult to treat individually
- Inconsistencies between individual stakeholder estimates
- Requires adaptation and calibration per project
A weighted spreadsheet approach using 4 factors totaling 100% weight:
| Factor | Weight | Description |
|---|---|---|
| Value to Customer | 40% | How much does the customer want this? |
| Value to Business | 20% | How much will the business benefit? |
| Minimize Implementation Cost | 10% | Lower cost = higher priority contribution |
| Ease of Implementation | 30% | Technical and organizational ease |
Priority Rating = Sum of (score × weight%) for each factor. Higher score = higher priority. In the example, Requirement 6 scored highest at 6.9.
3rd Technique — Kano Surveys KEY
The Kano Model groups requirements based on customer perception in order to select requirements that deliver the greatest customer satisfaction. It uses a survey with paired questions.
Requirements the customer takes for granted. If absent, extreme dissatisfaction. If present, no extra satisfaction (expected). Example: a car must have brakes.
Requirements the customer specifically asked for. More = better satisfaction. Example: better fuel economy = happier customer.
Requirements the customer does not request or expect. Surprise and delight when present, no dissatisfaction if absent. Example: unexpected premium feature.
Requirements the customer does not care about. Present or absent — makes no difference to satisfaction.
"Requirements" the customer actively dislikes. Including them causes dissatisfaction. These should be avoided entirely.
How Kano Surveys Work:
Functional question: "What-is-your-reaction-if-this-requirement-IS-included-in-the-product"
Dysfunctional question: "What-is-your-reaction-if-this-requirement-is-NOT-included"
For each, possible answers are:
Kano Conclusions Matrix:
| Functional ↓ Dysfunctional → |
Like | Expect | Neutral | Tolerate | Dislike |
|---|---|---|---|---|---|
| Like | Questionable | Excitement | Excitement | Excitement | Performance |
| Expect | Reverse | Questionable | Indifferent | Indifferent | Basic |
| Neutral | Reverse | Indifferent | Indifferent | Indifferent | Basic |
| Tolerate | Reverse | Indifferent | Indifferent | Questionable | Basic |
| Dislike | Reverse | Reverse | Reverse | Reverse | Questionable |
Always satisfy Basic requirements first (table stakes), then Performance, then Excitement (delighters). Ignore Indifferent. Avoid Reverse.
4th Technique — Three-Level Scale KEY
Groups requirements into High, Medium, and Low priority based on two dimensions: Importance (does the customer need it?) and Urgency (do they need it in the next release?).
The Importance × Urgency Matrix:
- Both important AND urgent
- Must be in the next release or that release is not shippable
- Contractual or compliance obligations may dictate inclusion
- Appear urgent to some stakeholders but don't achieve business objectives
- Don't-waste-time-on-these-—-they-don't add sufficient value
- Either set to Low priority or scrub them entirely
- Include the priority of each requirement in your SRS
- Perform prioritization iteratively, especially on large projects
- If the number of high-priority requirements is excessive, re-prioritize the high group to divide them into 3 sub-classes: Highest, Higher, High
- "Highest" becomes your new top priority; "Higher" and "High" merge with your original medium requirements
- High priority definition: "Must be in the next release or that release is not shippable"
Other Criteria to Consider
The cost/benefit approach is good but sometimes insufficient. These additional criteria should be considered when prioritizing:
- Cost of implementation — how much to develop?
- Value to customer — how much does the customer want it?
- Value to company — how much will the business benefit?
- Time to implement — how long to deliver?
- Ease of implementation at the technical level
- Ease of implementation at the organizational level (business process changes)
- Obligation to external authority — laws, standards, patents, compliance requirements
- Strategic competitive advantage — differentiating the product in the market
- Risk — ISO 31000: "the effect of uncertainty on objectives" (includes positive AND negative outcomes)
Optional Self-Study Techniques OPTIONAL
These techniques are listed as optional self-study in the slides but are worth knowing:
- Decision support and portfolio management tool
- Pairwise comparisons of features with dynamic algorithm (reduces pairs based on responses)
- Creation and validation of web questionnaires
- Detection of inconsistency between answers
- Priorities for different markets, represented in various ways
- Integrates with IBM DOORS (requirements management tool)
Techniques Comparison Summary
| # | Technique | Type | Best For | Key Limitation |
|---|---|---|---|---|
| 1 | Prioritization Scales Urgency/Importance |
Subjective | Small teams, quick decisions, early-stage projects | Imprecise; stakeholders must agree on meaning of each level |
| 2 | Wiegers'-Prioritization |
Semi-quantitative | Large projects needing analytical, formula-based ranking | Requires calibration; still depends on estimates; interdependencies are hard |
| 3 | Kano Surveys Customer perception model |
Survey-based | Customer-facing products; understanding satisfaction drivers | Time-consuming survey; requires a representative customer sample |
| 4 | Three-Level Scale H/M/L × Importance/Urgency |
Subjective | Most projects; iterative; easy to communicate to stakeholders | Subjective; "High" bucket can get bloated without iterative refinement |
Study Tips & Memorization Tricks 🧠
- What is requirements prioritization and why is it necessary?
- What does the 80-20 rule mean in the context of requirements prioritization?
- What is "triage" in the context of RE? What must the triage process ensure?
- What are the 4 dimensions of Wiegers' prioritization and the formula?
- What are the 5 Kano categories? How are they ordered by priority?
- How does a Kano survey work? What are the two question types asked?
- What does the Kano conclusions matrix produce?
- Explain the Three-Level Scale (H/M/L) using the Importance × Urgency matrix.
- What should you do with requirements in the "Urgent but Not Important" quadrant?
- What do you do when too many requirements are classified as High priority?
- What are the difficulties of requirements prioritization?
- What is the ISO 31000 definition of risk and how does it differ from the traditional definition?