"The key is not to prioritize what's on your schedule but to schedule your priorities." – Stephen R. Covey
"You can do anything, but not everything." – David Allen
Requirement Prioritisation Techniques in Agile Development
- MoSCoW Method: This technique categorizes requirements into four priority levels: Must-haves (critical and non-negotiable), Should-haves (important but not critical), Could-haves (desirable but not necessary), and Won't-haves (not needed for this iteration). This method helps teams focus on the most critical features first.
- Kano Model: The Kano model classifies requirements into three categories: Basic Needs (expected by users), Performance Needs (improvements that correlate with satisfaction), and Excitement Needs (unexpected features that delight users). Prioritization is based on these categories to balance essential and innovative features.
- Relative Weighting: Teams assign relative weights or points to each requirement, reflecting its importance. The sum of these weights helps in ranking and prioritizing requirements. This method can be quantitative, using numeric values, or qualitative, using descriptive terms like "high," "medium," and "low."
- Value vs. Effort Matrix: Requirements are plotted on a 2x2 matrix, with one axis representing the perceived value to the customer, and the other representing the effort or complexity required for implementation. This approach helps identify high-value, low-effort items for immediate attention.
- Buy a Feature: This collaborative technique involves stakeholders "buying" features or requirements with a limited budget. Each participant allocates their budget to the features they consider most important. The features with the highest investment become the top priority for the next iteration.
- Vote a Feature: When many clients are utilising a product, the product team takes up those functionalities on priority which many clients have asked for.