Today, it is time to describe the requirement prioritization techniques. We can transmit them using a number of techniques. Those are as follows:
This technique consists in a selected group of stakeholders determining the available priorities for the requirements according to the adopted criteria.
This technique consists in stakeholders selecting the most important requirements defined according to the adopted criteria. For these requirements, their ranking is defined by describing the validity of requirements with regard to specific criteria.
Classification of a single criterion
In this requirement prioritization techniques, the requirements are assigned a priority depending on the impact of implementing a given requirement on the success of the system being created. The requirements are given one of the three available priorities:
- Mandatory requirements must be implemented regardless of costs and are necessary for the success of the system being created.
- Optional: An optional requirement specifies a requirement that does not necessarily have to be implemented. The omission of several optional requirements does not affect the success of the system being created.
- Nice-To-Have: Requirements that do not affect the success of the system being created if they are not implemented.
Priority matrix according to Wiegers
The essence of this requirement prioritization techniques is the priority matrix, thanks to which the rank of individual requirements can be calculated on the basis of specific criteria and weight for these criteria.
Using Wiegers’ priority matrix is very time-consuming compared to previous techniques; therefore, it should be used in cases where previous techniques did not yield the expected results. An example of a hierarchy of priorities by Wiegers [Picture and description comes from “Requirements Engineering Fundamentals” Klaus Pohl, Chris Rupp]
The calculation of priorities in a prioritization matrix according to Wiegers can be performed as follows:
- Determine the relative weights for the benefit, detriment, cost, and risk.
- Determine the requirements to be prioritized.
- Estimate the relative benefit.
- Estimate the relative detriment.
- Calculate the total values and percentage values for each requirement: Value%(Ri) =Benefit(Ri) ×WeightBenefit + Detriment(Ri) × WeightDetriment
- Estimate the relative cost and calculate the cost percentage for each requirement.
- Estimate the relative risks and calculate the risk percentage for each requirement. Calculate the individual requirement priorities:
Priority(Ri)=Value%(Ri)/(Cost%(Ri) ×WeightCost + Risk%(Ri) ×WeightRisk)
- Assert the rank of the individual requirements.
In my experience, the technique of a single criterion works best. By setting the value of the criterion, I negotiate the value of the criterion for each requirement with the stakeholders.