Requirement Prioritization
   HOME

TheInfoList



OR:

Requirement prioritization is used in the
Software product management Software product management (sometimes also referred to as ''digital product management'' or, in the right context just ''product management'') is the discipline of building, implementing and managing software or digital products, taking into acc ...
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.


Introduction

In
Software product management Software product management (sometimes also referred to as ''digital product management'' or, in the right context just ''product management'') is the discipline of building, implementing and managing software or digital products, taking into acc ...
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 requi ...
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 product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, includ ...
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 Telelogic AB was a software business headquartered in Malmö, Sweden. Telelogic was founded in 1983 as a research and development arm of Televerket, the Swedish department of telecom (now part of TeliaSonera). It was later acquired by IBM Rati ...
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 complex decisions, based on mathematics and psychology. It was developed by Thomas ...
(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 Software product management (sometimes also referred to as ''digital product management'' or, in the right context just ''product management'') is the discipline of building, implementing and managing software or digital products, taking into acc ...
. 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 Quality function deployment (QFD) a method developed in Japan beginning in 1966 to help transform the voice of the customer into engineering characteristics for a product.Larson et al. (2009). p. 117. Yoji Akao, the original developer, described QF ...
(QFD) *
Binary Search Tree In computer science, a binary search tree (BST), also called an ordered or sorted binary tree, is a rooted binary tree data structure with the key of each internal node being greater than all the keys in the respective node's left subtree and ...
(BST) * Ordinal priority approach (OPA) *
Planning game Extreme programming (XP) is an agile software development methodology used to implement software projects. This article details the practices used in this methodology. Extreme programming has 12 practices, grouped into four areas, derived from the ...
(PG) *
PROMETHEE #REDIRECT Preference ranking organization method for enrichment evaluation {{R from other capitalisation ...
*100-point method (100P) also known as
Cumulative voting Cumulative voting (also accumulation voting, weighted voting or multi-voting) is a multiple-winner method intended to promote more proportional representation than winner-take-all elections such as block voting or first past the post. Cumulativ ...
*Planning Game combined with AHP (PGcAHP) * MoSCoW Method *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