Agile prioritization

avril 21, 2018

Agile prioritization

The Agile prioritization is the relative ordering of user stories with respect to value and risk.

An agile team must always face the prioritization of product features in its product backlog. From release planning to iteration planning, an agile team must prioritize the user stories/features of its product to ensure that high-quality and high-value features are developed first to help facilitate an optimized and early return on investment (ROI). An agile team typically prioritizes requirements or user stories/features in terms of relative value and risk; value is defined by the customer (i.e., customer-value prioritization).

Two common methods to prioritize product features are: MoSCoW and Kano.

MoSCoW method

The MoSCoW method categorizes features into ‘Must have,’ ‘Should have,’ ‘Could have,’ and ‘Would have’ features.

[Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

Kano method

The Kano method categorizes features into ‘Must haves (threshold),’ ‘Dissatisfiers,’ ‘Satisfiers,’ and ‘Delighters.’ Must haves are features that are requisite.

Dissatisfiers are features that adversely impact perceived value and should be eliminated.

‘Satisfiers’ are features that increase perceived value linearly, where the more you add the more the customer is pleased, but are not required, and

‘Delighters’ are features that increase perceived value exponentially to please the customer.

[Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

Risk-to-value matrix

To prioritize features based on risk, a risk-to-value matrix can be used.

A  has four quadrants, with the horizontal axis having low and high value, and the vertical axis having low and high risk. User stories are assigned to one of the four categories/quadrants: low-value, low-risk; low-value, high-risk; high-value, low-risk; high-value, high-risk.

All prioritization in agile is ‘relative,’ meaning that the priority of one user story is relative to other user stories and not prioritized on a fixed scale.

[Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

In iteration planning, an agile team, collaboratively with the customer, chooses user stories to include for development. Although the user stories are prioritized in the product backlog initially during release planning, an agile team and customer should review prioritization based on progressive elaboration (i.e., gained knowledge and perspective).

Prioritization is often based on value and risk and can be performed using the MoSCoW or Kano method and through the use of risk-to-value and cost-to-value matrices.

An agile team performs decomposition to subdivide user stories into more manageable tasks so that it may estimate task time. Tasks for an iteration may also be prioritized based on value, similar to how user stories are prioritized.

[Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

Cost-to-value matrix

A cost-to-value matrix can also be made in this manner.

To prioritize features based on cost, a cost-to-value matrix can be used. A cost-to-value matrix has four quadrants, with the horizontal axis having low and high value, and the vertical axis having low and high cost User stories are assigned to one of the four categories/quadrants: low-value, low-cost; low-value, high-cost; high-value, low-cost; high-value, high-cost. All prioritization in agile is ‘relative,’ meaning that the priority of one user story is relative to other user stories and not prioritized on a fixed scale. [Lean-Agile Software Development: Achieving Enterprise Agility. Alan Shalloway, Guy Beaver, James R. Trott.]

 

Leave a Reply

You must be logged in to post a comment.