Software development or any other project concerning numerous requirements, monetary limitations, and constricted targets often dictate the need to prioritize requirements. The necessity to prioritize originates from a very simple fact - that we don’t have sufficient resources to work on everything we come up with. Hence, it is essential to make assessments on which set of requirements are required to be executed in the beginning and which ones can be pushed for a future release.
When prioritizing requirements it is particularly vital to ensure stakeholder’s participation in the entire process. Stereotypically, requirements are elicited through workshops, documented sources, and prevailing systems and processes. These facts are then documented and proposed to the stakeholders for prioritization and/or exclusion from scope.
Several techniques on how to prioritize requirements have been developed, however some work well on small number of requirements, while others are appropriate for complex projects with many decision-makers and variables. This list of requirements prioritization techniques offers an overview of common practices that can be used in prioritizing requirements.
1. Ranking
Rank requirements on an ordinal scale, and give each requirement a different statistical value based on its significance.
For example, the number 1 can signify that the requirement is the most important and the number n can be allocated to the least important requirement, n being the total number of requirements. This technique works best when dealing with a single stakeholder.
2. MoScoW Technique
As an alternative to numbers, this technique uses four priority groups: MUST have, SHOULD have, COULD have, and WON'T have. With this technique, stakeholders can prioritize requirements in a collective fashion. The acronym represents the following:
- MUST (it is Mandatory)
- SHOULD (it is Of high priority)
- COULD (it is Preferred but not necessary)
- WOULD (it can be postponed and suggested for future execution)
3. Bubble Sort Technique
In this technique, one needs to basically compare two requirements with each other. If one finds out that one requirement should have superior priority over the other, they are swapped across accordingly. Continue this approach till the final requirement is appropriately sorted. The result is a list of requirements that are ranked.
4. Hundred Dollar Method
In this technique all stakeholders get abstract 100 dollars, which they can then allocate to the requirements. As such, the stakeholder may give all 100 dollars to a single requirement, or the person may distribute the points more evenly. The higher the value assigned to each requirement, the higher the priority of the requirement. At the end, the total is calculated and the requirements are arranged based on the number of points they acquire.
5. Five Whys
With five whys, the analyst asks the stakeholder repetitively why the requirement is essential until the prominence of the requirements is recognized. The answers disclose whether the requirement is crucial or can be postponed once the priority is determined.
Conclusion:
So, you need to choose the prioritization technique which satisfies your needs and accomplishes your objectives in the least amount of time and with nominal resources.
About Author:
Gurpreet Kaur Gaga is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: gurpreetkaur.gaga@spluspl.com
Gurpreet Kaur Gaga is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: gurpreetkaur.gaga@spluspl.com