Requirement prioritization is used in the Software product management for determining which candidate requirements of a software product should be included in a certain release. Requirements are also prioritized to minimize risk during development so that the most important or high risk requirements are implemented first. Several methods for assessing a prioritization of software requirements exist.[1][2]
In Software product management there exist several sub processes. First of all there is portfolio management where a product development strategy is defined based on information from the market and partner companies. In product roadmapping (or technology roadmapping), themes and core assets of products in the portfolio are identified and roadmap constructions are created. In requirements management candidate software requirements for a product are gathered and organized. Finally, in the release planning activity, these requirements are prioritized and selected for a release, after which the launch of the software product can be prepared. Thus, one of the key steps in release planning is requirements prioritization.
A good and relatively easy to use method for prioritizing software product requirements is the cost-value approach. This approach was created by Joachim Karlsson and Kevin Ryan. The approach was then further developed and commercialized in the company Focal Point (that was acquired by Telelogic in 2005). Their basic idea was to determine for each individual candidate requirement what the cost of implementing the requirement would be and how much value the requirement has.
The assessment of values and costs for the requirements was performed using the Analytic Hierarchy Process (AHP). This method was created by Thomas Saaty. Its basic idea is that for all pairs of (candidate) requirements a person assesses a value or a cost comparing the one requirement of a pair with the other. For example, a value of 3 for (Req1, Req2) indicates that requirement 1 is valued three times as high as requirement 2. Trivially, this indicates that (Req2, Req1) has value ⅓. In the approach of Karlsson and Ryan, five steps for reviewing candidate requirements and determining a priority among them are identified. These are summed up below.[3]
Now, the cost-value approach and the prioritizing of requirements in general can be placed in its context of Software product management. As mentioned earlier, release planning is part of this process. Prioritization of software requirements is a sub process of the release planning process.
The release planning process consists of the sub processes: