Updated on 2024-05-31 GMT+08:00

Managing Requirement Priorities

Four-Step Management

Requirement priority management helps determine the sequence of requirement fulfillment, thereby maximizing the return and minimizing the risk or investment. To properly manage priorities, we need to:

  1. Determine the priority model. Seemingly simple, priority is actually a value based on comprehensive judgment of multiple factors. These factors and judgment principles constitute the priority model.
  2. Prioritize requirements. Calculate requirement priorities using the priority model.
  3. Adjust requirement priorities.
  4. Improve the priority model. If requirement priorities are adjusted frequently, analyze and improve the priority model as needed. In cases that the requirement has been delivered or released, but its actual usage or value of the function does not meet the expectation, review the requirement analysis to identify whether the analysis or the priority model is incorrect, and make corresponding adjustments.

Determining the Priority Model

Cost-benefit analysis (CBA) is the simplest priority model. The Eisenhower Matrix and Kano model are also priority models. Simple or complex, all these models can help determine requirement priorities. Select one as needed.

Note that the priority model should not be too complex at the beginning. Otherwise, high costs of requirement management exert an adverse impact on requirement development and delivery. A simple, useful model should always be preferred. It is recommended that enterprises start with a simple model and improve the model continuously.

  • A simple model means a few factors to be considered. For example, CBA contains only two factors, which is simpler than other models with more factors.
  • A simple model also means a narrower value range or a lower precision requirement. For example, it is simpler to predict the profit as high, medium, or low than in the unit of CNY10,000.

Archive the selected model and make it accessible to all or related personnel. For example, it is a good practice to record the model in CodeArts Wiki.

Prioritizing Requirements

In CBA, the expected market revenue and R&D investment are used as the benefit and cost respectively. Calculate the difference or ROI. For example, there are two requirements to be prioritized. For requirement A, the estimated profit and R&D investment are CNY100,000 and CNY30,000 RMB respectively, so the estimated profit is CNY70,000 and ROI is 233%. For requirement B, the estimated profit and R&D investment are CNY50,000 and CNY40,000 RMB respectively, so the estimated profit is CNY10,000 and ROI is 25%. It is easy to see the priority of requirement A higher than that of requirement B. Assume that there are another two requirements. For requirement C, the estimated profit and ROI are CNY70,000 RMB and 50%, and for requirement D, the estimated profit and ROI are CNY10,000 RMB and 500%. How can we determine the priorities of these four requirements?

In this case, we need to introduce weights to calculate a comprehensive value, as shown in the following table:

Requirement

Estimated Revenue (CNY10,000)

Estimated Cost (CNY10,000)

Estimated Profit (CNY10,000)

Profit Weight

Profit Weighted Value

ROI

ROI Weight

ROI Weighted Value

Comprehensive Value

Priority Sequence

Requirement A

10

3

7

0.1

0.7

233%

1

2.33

3.03

2

Requirement B

5

4

1

0.1

0.1

25%

1

0.25

0.35

4

Requirement C

21

14

7

0.1

0.7

50%

1

0.5

1.2

3

Requirement D

2

1

1

0.1

0.1

500%

1

5.0

5.1

1

According to the results in the preceding table, we need to add requirements D, A, C, and B to the development plan in sequence. In CodeArts, the Order field (1–100) can be used to display priority.

Figure 1 Story priorities

Adjusting Requirement Priorities

Adjusting requirement priorities is simple. Just reset the value of the Order field in CodeArts. More importantly, however, you need to record the priority adjustment in CodeArts Wiki, including why the adjustment is required, how the adjustment is performed, and any specific considerations. It can be used as a reference in retrospective meetings after each sprint for review.

Improving the Priority Model

The priority model must change to the evolving market, users, and products. We can review and analyze the requirement priority model to find out what can be enhanced. The review can be conducted regularly (for example, once a month) to go over all the requirements involved, or requirements with adjusted priorities or problems. Also, the review can be conducted irregularly and problem-driven. For example, if a large number of requirement priorities are adjusted in a day, a review meeting can be scheduled for that day or the next day to analyze the cause.

To achieve a good review effect, we must restore the situation when the problem occurs as much as possible. Therefore, the records in CodeArts Wiki are very important. The retrospective meeting should provide as much information as possible to participants for a better discussion.

During the review, we need to identify the root cause. We need to find out whether the model design (such as factors and dimensions) is incorrect, whether the value or weight is incorrect (perhaps estimating the revenue for a specific requirement is difficult), or whether process management is improper (such as incorrect priorities due to premature estimation without sufficient information), and make targeted improvements.