- Requirement prioritization
Requirement prioritization is used in
Software product management for determining which candidaterequirements 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.Introduction
In
Software product management there exist several sub processes. First of all there isportfolio management where a product development strategy is defined based on information from the market and partner companies. In product roadmapping (ortechnology roadmapping ), themes and core assets of products in the portfolio are identified and roadmap constructions are created. Inrequirements 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.Cost-Value Approach
A good and relatively easy to use method for prioritizing software product
requirement s is the cost-value approach. This approach was created byJoachim Karlsson andKevin Ryan . 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 theAnalytic Hierarchy Process (AHP). This method was created byThomas 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. [Karlsson, J. & Ryan, K. (1997). A Cost-Value Approach for Prioritizing Requirements, "IEEE Software September/October 1997", 67-74.]# Requirement engineers carefully review candidate requirements for completeness and to ensure that they are stated in an unambiguous way.
# Customers and users (or suitable substitutes) apply AHP’s pairwise comparison method to assess the relative value of the candidate requirements.
# Experienced software engineers use AHP’s pairwise comparison to estimate the relative cost of implementing each candidate requirement.
# A software engineer uses AHP to calculate each candidate requirement’s relative value and implementation cost, and plots these on a cost-value diagram. Value is depicted on the y axis of this diagram and estimated cost on the x-axis.
# The stakeholders use the cost-value diagram as a conceptual map for analyzing and discussing the candidate requirements. Now software managers prioritize the requirements and decide which will be implemented.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 prioritize requirements, select requirements, define release requirements, validate release requirements and prepare launch.
Other Prioritization Techniques
*
Quality Function Deployment (QFD)*
Binary Search Tree (BST)*
Planning game (PG)*
100-point method (100P)*Planning Game combined with AHP (PGcAHP)
References
* Weerd, I. van de, Brinkkemper, S., Nieuwenhuis, R., Versendaal, J., Bijlsma, L. (2006). "A Reference Framework for Software Product Management. Scientific Report. Department of Information and Computing Sciences, Utrecht University, The Netherlands, 2006". Submitted for publication.
External links
* [http://www.btscpi.fr/downloadplus.php?lng=en&pg=628 Excel file which produces automatically a prioritized table of functions] and associated diagram of value percentages
Wikimedia Foundation. 2010.