Prioritizing Requirements using a Cost-Value Approach
Encyclopedia
Requirement prioritization is used in Software product management
Software product management
Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience. It is the discipline and business process which governs a product from its inception to the market or...

 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
Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience. It is the discipline and business process which governs a product from its inception to the market or...

 there exist several sub processes. First of all there is portfolio management
Portfolio management
Portfolio Management may refer to:* Investment management, handled by a portfolio manager* IT Program management* IT portfolio management* Project management* Project 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
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...

 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

Cost Value Approach is like Cost Estimation for ....
A good and relatively easy to use method for prioritizing software product requirement
Requirement
In engineering, a requirement is a singular documented physical and functional need that a particular product or service must be or perform. It is most commonly used in a formal sense in systems engineering, software engineering, or enterprise engineering...

s is the cost-value approach. This approach was created by Joachim Karlsson and Kevin Ryan
Kevin Ryan
Kevin Ryan may refer to:*Kevin Ryan , long-distance runner from New Zealand*Kevin Ryan , founder and director emeritus of the Center for the Advancement of Ethics and Character at Boston University...

. The approach was then further developed and commercialized in the company Focal Point (that was acquired by Telelogic
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 . It was later acquired by IBM Rational, and exists under the IBM software group.Telelogic had operations in 22...

 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
Analytic Hierarchy Process
The Analytic Hierarchy Process is a structured technique for organizing and analyzing complex decisions. Based on mathematics and psychology, it was developed by Thomas L...

 (AHP). This method was created by Thomas Saaty
Thomas Saaty
Thomas L. Saaty is Distinguished University Professor at the University of Pittsburgh, where he teaches in the Joseph M. Katz Graduate School of Business...

. 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.
  1. Requirement engineers carefully review candidate requirements for completeness and to ensure that they are stated in an unambiguous way.
  2. Customers and users (or suitable substitutes) apply AHP’s pairwise comparison method to assess the relative value
    Relative value
    Relative value is the attractiveness measured in terms of risk, liquidity, and return of one instrument relative to another, or for a given instrument, of one maturity relative to another...

     of the candidate requirements.
  3. Experienced software engineers use AHP’s pairwise comparison to estimate the relative cost of implementing each candidate requirement.
  4. 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.
  5. 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
Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience. It is the discipline and business process which governs a product from its inception to the market or...

. 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:
  1. Prioritize requirements
  2. Select requirements
  3. Define release requirements
  4. Validate release requirements
  5. Prepare launch

Other Prioritization Techniques

  • Quality Function Deployment
    Quality function deployment
    Quality function deployment is a “method to transform user demands into design quality, to deploy the functions forming quality, and to deploy methods for achieving the design quality into subsystems and component parts, and ultimately to specific elements of the manufacturing process.”, as...

     (QFD)
  • Binary Search Tree
    Binary search tree
    In computer science, a binary search tree , which may sometimes also be called an ordered or sorted binary tree, is a node-based binary tree data structurewhich has the following properties:...

     (BST)
  • Planning game (PG)
  • PROMETHEE
    Prométhée
    Prométhée is an opera in three acts by the French composer Gabriel Fauré. The libretto, by Jean Lorrain and Ferdinand Hérold, is based on the Greek myth of Prometheus. Although designated a tragédie lyrique, the opera resists easy categorisation. It was intended as a large-scale work with spoken...

  • 100-point method (100P) also known as Cumulative voting
    Cumulative voting
    Cumulative voting is a multiple-winner voting system intended to promote more proportional representation than winner-take-all elections.- History :...

  • Planning Game combined with AHP (PGcAHP)
  • MoSCoW Method
    MoSCoW Method
    MoSCoW is a prioritisation technique used in business analysis and software development to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement - also known as MoSCoW prioritisation or MoSCoW analysis.According to A Guide to the Business...


Further reading

  • I. van de Weerd, Sjaak Brinkkemper
    Sjaak Brinkkemper
    Jacobus Nicolaas Brinkkemper is a Dutch computer scientist, and Full Professor of organisation and information at the Department of Information and Computing Sciences of Utrecht University.-Biography:...

    , 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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK