Developer Pain

“أوجع الأيام بعد الحب، ليس أولها، لأن النبتة لا تتألم فور انقطاع الماء، بل عندما يبدأ الجفاف فعلاً.”
~ محمد حسن علوان

Table of contents

Introduction

Like user pain, Developer Pain is a way to combine several criteria into one common ranking criteria. However, where user pain gives a number to what the benefit is of resolving an issue, Developer Pain gives a global number to what the cost might be.

The criteria we use within our company can be found on a separate page.

Criteria

As every company is unique in it’s processes and the way it runs it’s business, the criteria used will differ between different companies.

The criteria are meant to be opposing values. For instance:

Ranking

Instead of using a three dimensional rating scale, Developer Pain uses a two dimensional plan that can be expressed in either points or percentages.

In plain words: simply pick either the left (low) or right (high) value for each item.

Using points

Scoring is done by assigning a 1 to the “cheaper” option and a 10 to the “dearer” option. The minimum cost of an issue will be List.length * 1, the maximum cost will be List.length * 10

Using percentages

For percentage, the following formula is used to define an upper and a lower cost per item:

lower = 10 / List.length
upper =  100 / List.length

Scoring is done by assigning the value of lower to the “cheaper” option and the value of upper to the “dearer” option. As there ain’t no such thing as a free lunch, the minimum cost of an issue will be 10%, the maximum cost will be 100%

Closing thoughts

Best suited for

There are a few items that define the context which developer pain is best suited for:

Combining with user pain

Starting out, it is advisable to keep user pain and developer pain separated.

Once developers and product owners are confident with both, a single unified score could be calculated based on both separate scores.

Relation to story points

More observant (or more experienced) individuals might wonder what the difference is between developer pain and Story Points.

One of the main differences is that teams or developers that start out using story points often encounter the problem that the numbers feel vague.

They don’t gain more than a fuzzy or superficial insight on how to use story points. As a result such teams or individuals often resort to either using planning poker to estimating in units of time (hours, days, etc.) or continually changing the criteria used to come to a given estimate.

Because developer pain uses fixed criteria, it makes it easier for developers to reach consistent estimates. This also helps developers to gain the feeling that estimating issues is quantifiable rather than educated guesswork

Developer pain could be used as an in-between step to help teams to go from “traditional” (time based) estimating to using story points. Developer pain could eventually even be abandoned completely in favor of planning poker.