Requirement prioritization is used in the
Software product management for determining which candidate
requirements
In engineering, a requirement is a condition that must be satisfied for the output of a work effort to be acceptable. It is an explicit, objective, clear and often quantitative description of a condition to be satisfied by a material, design, pro ...
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 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
A technology roadmap is a flexible planning schedule to support strategic and long-range planning, by matching short-term and long-term goals with specific technology solutions. It is a plan that applies to a new product or process and may include ...
), themes and core assets of products in the portfolio are identified and roadmap constructions are created. In
requirements management
Requirements management is the process of documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. It is a continuous process throughout a project. A requ ...
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
In engineering, a requirement is a condition that must be satisfied for the output of a work effort to be acceptable. It is an explicit, objective, clear and often quantitative description of a condition to be satisfied by a material, design, pro ...
s 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
In the theory of decision making, the analytic hierarchy process (AHP), also analytical hierarchy process, is a structured technique for organizing and analyzing MCDA, complex decisions, based on mathematics and psychology. It was developed by ...
(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.
# 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
# Prepare launch
Other prioritization techniques
*
Quality Function Deployment (QFD)
*
Binary Search Tree
In computer science, a binary search tree (BST), also called an ordered or sorted binary tree, is a Rooted tree, rooted binary tree data structure with the key of each internal node being greater than all the keys in the respective node's left ...
(BST)
*
Ordinal priority approach (OPA)
*
Planning game (PG)
*
PROMETHEE
*100-point method (100P) also known as
Cumulative voting
Cumulative voting (sometimes called the single divisible vote) is an election system where a voter casts multiple votes but can lump votes on a specific candidate or can split their votes across multiple candidates. The candidates elected are tho ...
*Planning Game combined with AHP (PGcAHP)
*
MoSCoW Method
The MoSCoW method is a prioritization technique. It is used in software development, management, business analysis, and project management to reach a common understanding with stakeholders on the importance they place on the delivery of each r ...
*ICE Scoring Model for quick prioritization (ICE score = Impact * Confidence * Ease)
*RICE Scoring Model for quick prioritization (RICE score = (Reach * Impact * Confidence) / Effort)
*Software Engineering Risk: Understanding and Management (SERUM)
*EVOLVE
*Value Oriented Prioritization Method (VOP)
*Minimal Spanning Tree (MST),
*Bubble Sort (BS),
*Numeral Assignment
References
{{reflist
Further reading
* I. van de Weerd,
Sjaak Brinkkemper, R. Nieuwenhuis, J. Versendaal and L. Bijlsma (2006). ''A Reference Framework for Software Product Management. Scientific Report. Department of Information and Computing Sciences, Utrecht University, The Netherlands, 2006''. Submitted for publication.
Product management
Software requirements