Prioritization of User Stories in UMed

Akira Kakkar
3 min readFeb 2, 2022
Photo by airfocus on Unsplash

Background

As a software engineer, I did not have to think much on prioritization as backlog is always prioritized by PM. We, software engineers, just put user story points to each user story to tweak the order to make sense on each sprint. But now, in UMed Inc, we have to think more on prioritization. Since I did not know how to do this well, I read number of articles and talked to colleagues to come up with process. This is is just a first draft of process we came up with and still experimenting.

Proposal

Main idea on prioritization is put numbers to each criteria and add or subtract these criteria to come up with total prioritization number. Higher the number, the more important to work on.

Size

We decided to use T-shirt size, S, M, L, and XL.

Attributes

We came up with following attributes.

  • Population
  • Impact
  • Frequency
  • User Story Points

Population

Population is ratio of people who are impacted by the user story. For example, we provide online medication with nurse visits for blood test. Only 1/3 of appointments for diabetic patients are nurse visits That means, population for user story related to “nurse visit” is “M”.

Impact

Impact is how badly users want this feature. This is probably the most non-objective attribute.

Frequency

Frequency is how often the users encounter this. For example, changing password is not as frequent as booking an appointment in our app. And thus changing password might be “S” or “M” for frequency.

User Story Points

This is typical user story points from engineers. Of course, this is not measured by time but complexity of user stories. This cannot be based on time because some people from our engineering team work part time and time spends vary from people to people. We discuss during sprint estimation meeting to come up with T-Shirt size. If discussion gets too long or no where, we put larger numbers and re-discuss to break down user stories.

Formula

Convert T-Shirt Size into numbers by fibonacci sequence. Reason fibonacci sequence is used is we want to put more weight on larger size.

S = 1

M=2

L = 3

XL = 5

Total = Population + Impact + Frequency − 3 x User Story Points

If you are using Notion, following formula can be used to get total value

((prop("Population") == "S") ? "1" : ((prop("Population") == "M") ? "2" : ((prop("Population") == "L") ? "3" : "5"))) + ((prop("1/T") == "S") ? "1" : ((prop("1/T") == "M") ? "2" : ((prop("1/T") == "L") ? "3" : "5"))) - ((prop("User Story") == "S") ? "3" : ((prop("User Story") == "M") ? "6" : ((prop("User Story") == "L") ? "9" : "15"))) + ((prop("Impact") == "S") ? "1" : ((prop("Impact") == "M") ? "2" : ((prop("Impact") == "L") ? "3" : "5")))

Example of the board

--

--