Struggling to Prioritize Requirements? Discover the purpose of requirement prioritization, the criteria for prioritization, challenges, and the most effective Techniques to prioritize requirements for project success.
Understanding the Nature of Requirements #
Requirements are volatile in nature. They keep changing based on the business needs and the new requirements keep on coming.
Suppose, you are doing business analysis for a Corporate Banking client, and you received a few requirements in this oder:
- Implement a new feature to send an automatic reminder email to the customer to approve pending authorization requests every day.
- Fix a production issue where the users are not able to generate reports.
- Enhance the report generation feature to allow users to generate reports in Excel format in addition to CSV and PDF.
- Implement regulatory compliance to restrict access to mobile apps to those users only who registered their devices with the bank. This must be implemented within a month.
As a Business Analyst, you would have to analyze each requirement and make it ready for development.
Would you just follow the First In First Out (FIFO) method to analyze and scope requirements into the next software release?
Or
Does it make sense to first prioritize these requirements with business stakeholders so that the most important requirements would get implemented first?
Purpose of Requirement Prioritization #
Adding value to the business is a key consideration for a Business Analyst.
It will not add any value or address business need if the requirements are implemented in the order they are requested.
Hence, it is very important to prioritize requirements to ensure that the most important and critical business requirements are addressed first followed by the other non critical and less important requirements.
The purpose of prioritization is to rank requirements in the order of their relative importance to business and stakeholders.
Prioritization of requirements would yield the following benefits:
- Reduce development costs
- Shorten the project duration
- Ensure that the most important requirements are taken care of
- Manage project better
- Help in trade-offs
Criteria for Requirement Prioritization #
Requirements should be prioritized using several different criteria, such as:
- Business Value or Benefit
- Penalty
- Cost
- Business or Technical Risk
- Relationship to Other Requirements (Dependencies)
- Time Sensitivity or Urgency
- Stability
- Regulatory or Policy Compliance
Challenges in Prioritization #
It’s not always easy to prioritize all the requirements since it’s a collaborative effort. Each stakeholder in the project has a different view on the importance of requirements.
There can be the following challenges while prioritizing requirements with stakeholders:
- Non-negotiable demands from stakeholders i.e. trying to consider all requirements as high priority.
- Unrealistic trade-offs i.e. the implementation team intentionally or unintentionally overestimates a requirement to influence prioritization.
The best way to overcome these challenges is to evaluate requirements against business goals or business priorities and ensure that the requirements are estimated correctly.
Requirement Prioritization Techniques #
It’s worth knowing the different techniques to prioritize requirements so that we can apply the most appropriate technique suitable to the project and the organization.
The following are the most effective Requirement Prioritization Techniques.
- Grouping
- Group the requirements into the High, Medium, and Low categories.
- MoSCoW Technique
- MoSCoW is an abbreviation for Must, Should, Could, and Won’t category of requirements.
- Group the requirements into the above-mentioned categories.
- Ranking
- Rank the requirements from least to most important
- For example, discuss the relative importance of all the requirements with stakeholders and rank them in the order such as 1, 2, 3, and so on.
- In the Agile software development method, the ranking can be done in the Product Backlog by placing the most important requirements on the top of the backlog in an ordered sequence followed by the least important requirements.
- Time Boxing/Budgeting
- Prioritize requirements based on the allocation of a fixed resource (either fixed time window or fixed budget) and include only those requirements that fit within the allocated resource.
- This technique can only be used when the solutions for all the requirements are designed and the requirements can be estimated.
- For example, in the case of Time Boxing, suppose there is a fixed time window of 1 month. Get the time estimate for all the requirements and include only those requirements that can be completed within 1 month by the available development capacity.
- Similarly, in the case of Budgeting, suppose there is a fixed budget of $1000. Get the cost estimate for all the requirements and include only those requirements that can be completed within the $1000 budget by the available development capacity.
- Negotiation
- Establish consensus among stakeholders as to which requirements will be prioritized.
- Decision Analysis
- Use Decision Analysis techniques such as Decision Tree or Decision Table with a defined set of evaluation criteria such as Penalty, Time-sensitivity, Cost, Business value, etc. and evaluate each requirement against the criteria to prioritize them.
Conclusion #
It’s the responsibility and the goal of the Project Manager and Business Analyst to deliver the expected business value by utilizing the available resources efficiently.
The task of prioritizing requirements is the first step towards achieving this goal, hence it’s a very crucial task. If the requirements are prioritized correctly, it will lead to project success for sure.