Prioritization Techniques and user stories

25/12/2023

MoSCoW Technique for prioritization

The MOSCOW technique is a prioritization method used in project management and product development to categorize requirements or features based on their importance. The acronym MOSCOW stands for:

  1. Must Have: These are requirements or features that are deemed essential for the project or product's success. They are considered non-negotiable and must be included in the final deliverable.

  2. Should Have: These are important requirements or features that are not critical for the project's immediate success but are highly desirable. They should be included if possible, but their omission would not derail the project.

  3. Could Have: These are optional requirements or features that would be nice to have but are not essential. They provide additional value or functionality but can be deferred to a later phase if necessary.

  4. Won't Have or Will not have (this time) : These are requirements or features that are they are not a priority for this specific time frame. Some initiatives in the "will-not-have" group will be prioritized in the future, while others are not likely to happen. Some teams decide to differentiate between those by creating a subcategory within this group.

The MOSCOW technique helps project stakeholders and teams prioritize their efforts by clearly defining the importance and urgency of each requirement or feature. It facilitates decision-making and resource allocation by focusing on delivering the most critical elements first while providing flexibility for accommodating less critical items as time and resources allow.

When using the MOSCOW technique, stakeholders typically collaborate to assign each requirement or feature to one of the four categories based on its relative importance and impact on project success. This helps ensure alignment and clarity regarding project priorities throughout the development process.

Aligning MoSCoW Technique with constraint

MoSCoW prioritization can also be based on constraints, such as time, budget, or available resources. Here's how development teams can use the MoSCoW technique with a focus on constraints:

  1. Identify Constraints: Start by identifying the key constraints affecting the project, such as tight deadlines, limited budget, or resource shortages. Understanding these constraints will help in prioritizing requirements effectively.

  2. Align Priorities with Constraints: Consider the impact of each requirement on the identified constraints. Requirements that help meet critical deadlines, stay within budget limits, or utilize available resources efficiently should be given higher priority.

  3. Focus on Critical Constraints: Prioritize requirements that directly address the most critical constraints. For example, if the project has a strict deadline, prioritize requirements that are essential for meeting that deadline as "Must Have."

  4. Balance Constraints: Balance the prioritization of requirements across different constraints. For instance, if there's flexibility in the budget but a tight deadline, prioritize requirements that contribute to meeting the deadline as "Must Have" and allocate resources accordingly.

  5. Iterative Planning: Continuously review and adjust the prioritization of requirements based on changing constraints throughout the project lifecycle. As constraints evolve or new constraints emerge, reassess the priority of requirements to ensure they align with the project's current needs and objectives.

  6. Optimize Resource Utilization: Prioritize requirements that maximize the efficient use of available resources while delivering the most value to stakeholders. This may involve identifying opportunities for reuse, leveraging existing assets, or prioritizing high-impact requirements that require minimal resources.

  7. Communicate Priorities: Clearly communicate the prioritization of requirements based on constraints to all stakeholders, including team members, product owners, and project sponsors. This ensures everyone understands the rationale behind prioritization decisions and can align their efforts accordingly.

By incorporating constraints into MoSCoW prioritization, development teams can make informed decisions about which requirements to focus on, ensuring that the project stays on track to meet its objectives while effectively managing limitations imposed by time, budget, or resources.

Kano Model

The Kano model is a technique used for prioritizing features or requirements based on customer satisfaction. It helps teams understand which features are essential for customer satisfaction and which ones provide additional delight. The model categorizes features into the following main categories, the first three  are categories to include and the last two are the categories to avoid.

  1. Must-Be Quality (Basic Needs): These are features that customers expect as a basic requirement. If these features are missing, customers will be dissatisfied, but their presence doesn't necessarily lead to increased satisfaction. Examples include basic functionalities or performance characteristics that are considered standard in the industry.

  2. One-Dimensional Quality (Performance Needs): These are features that directly correlate with customer satisfaction. The better these features are, the more satisfied customers will be. However, their absence won't necessarily lead to dissatisfaction. Examples include factors like speed, price, or reliability.

  3. Attractive Quality (Excitement Needs): These are features that go beyond customers' expectations and can delight them. Their presence can lead to increased satisfaction, but their absence won't necessarily result in dissatisfaction. These features often differentiate a product or service from competitors and can lead to customer loyalty. Examples include innovative or unexpected features that exceed customers' initial expectations.

  4. "indifferent" features, which customers won't care about.

  5. "dissatisfaction" features, which will upset customers.

Here's how the Kano model can be used for prioritization:

  1. Identify Features: Begin by identifying all the features or requirements of your product or service.

  2. Categorize Features: Categorize each feature into one of the three Kano categories: Must-Be, One-Dimensional, or Attractive Quality. This categorization can be done through surveys, interviews, or direct feedback from customers.

  3. Prioritize Features: Once features are categorized, prioritize them based on their category. Must-Be Quality features should be prioritized first since they are essential for basic satisfaction and could lead to dissatisfaction if missing. Next, prioritize One-Dimensional Quality features, as they directly impact satisfaction. Finally, prioritize Attractive Quality features, as they provide opportunities for differentiation and customer delight.

  4. Iterative Improvement: Continuously gather feedback from customers to refine and update the prioritization of features. As customer preferences and market dynamics change, reassess the importance of features and adjust priorities accordingly.

  5. Resource Allocation: Allocate resources and efforts based on the prioritization of features. Focus on implementing Must-Be and One-Dimensional Quality features first to ensure basic satisfaction and performance. Then, allocate resources to develop Attractive Quality features that can differentiate your product or service and create a competitive advantage.

By using the Kano model for prioritization, teams can focus their efforts on developing features that directly impact customer satisfaction, thereby maximizing the value delivered to customers and increasing the likelihood of success in the marketplace.

Paired Comparison Method

The paired comparison method is a technique used for prioritizing items by systematically comparing each item with every other item in a pairwise fashion. It's commonly used in decision-making processes where there are multiple options to consider, such as prioritizing tasks, features, or projects. Here's how the paired comparison method works:

  1. List Items: Start by listing all the items that need to be prioritized. These could be tasks, projects, features, requirements, or any other items that require prioritization.

  2. Create Pairwise Comparisons: For each pair of items, systematically compare them and determine which item is more important, valuable, or preferred. Consider factors such as urgency, impact, cost, or any other relevant criteria based on the context of the decision.

  3. Assign Scores: Assign a score or weight to each item based on the results of the pairwise comparisons. For example, if Item A is preferred over Item B in a pairwise comparison, give Item A a higher score or weight.

  4. Aggregate Scores: Once all pairwise comparisons are completed, aggregate the scores for each item. This could involve summing up the scores or calculating weighted averages, depending on the scoring system used.

  5. Rank Items: Rank the items based on their aggregated scores. The item with the highest score is considered the top priority, followed by the item with the next highest score, and so on.

  6. Review and Validate: Review the results of the prioritization process to ensure they align with the overall goals, objectives, and constraints of the decision-making context. Validate the rankings with stakeholders to gather feedback and make any necessary adjustments.

The paired comparison method allows for a systematic and structured approach to prioritization by directly comparing items against each other, rather than relying on subjective judgments or arbitrary rankings. It helps ensure that priorities are based on relative importance or value, taking into account the specific criteria or considerations relevant to the decision at hand. 

100 Point Method

The 100 point or 100 dollar method is a technique used for prioritizing items by allocating a limited "budget" of points or dollars among them based on their relative importance or value. It's a simple and flexible approach that allows decision-makers to allocate resources or prioritize tasks, features, or projects according to their preferences and priorities. Here's how the method typically works:

  1. List Items: Start by listing all the items that need to be prioritized. These could be tasks, projects, features, requirements, or any other items that require prioritization.

  2. Assign Points or Dollars: Allocate a total of 100 points or dollars among the items based on their relative importance or value. Each item can receive a portion of the total budget proportional to its perceived importance or priority.

  3. Distribute the Budget: Distribute the points or dollars among the items according to their importance. For example, if there are 10 items to prioritize, each item could receive between 0 and 100 points or dollars, with the total allocation not exceeding 100.

  4. Adjustment: Adjust the allocation as needed to reflect the relative importance or priority of each item. You may need to redistribute points or dollars between items to better reflect their importance or to accommodate changing priorities.

  5. Review and Validate: Review the allocation of points or dollars to ensure it aligns with the overall goals, objectives, and constraints of the decision-making context. Validate the prioritization with stakeholders to gather feedback and make any necessary adjustments.

  6. Finalize Priorities: Once the allocation is finalized and validated, use the assigned points or dollars to rank the items in order of priority. The item with the highest allocation is considered the top priority, followed by the item with the next highest allocation, and so on.

The 100 point or 100 dollar method provides a straightforward and intuitive way to prioritize items by allowing decision-makers to express their preferences and priorities in a quantitative manner. It can be adapted to different decision-making contexts and is particularly useful when there are limited resources or when trade-offs need to be made between competing priorities.

In the above figure. 

Total no of points received by the functionality Customer Sign-up = 90

Total no of points received by the functionality Social Media Sharing - 60

Total no of points received by the functionality Customer Profile - 70

Total no of points received by the functionality  Track Orders - 80

Hence the Ranking of the functionalities will be as follows

Customer Sign up - Rank 1

Track Orders - Rank 2

Customer Profile - Rank 3

Social Media Sharing - Rank 4