DEV Community

Cover image for Uncertainty increase development effort
calvinsadewa
calvinsadewa

Posted on

Uncertainty increase development effort

Background

Currently i am working in a sprint-based squad, and recently at work i have been involved in quarterly planning on how to schedule sprints for squads for the rest of the quarter. You might think this is tedious process, but it is helpful in term of coordinating effort between multiple division, so that other division.

One of the problem we encounter is translating from estimated story point of each effort, to a precise schedule on when effort would be finished. We could do this by making translation between Story Point to Man-Days, and then from each Man-Days to precise schedule according to each squad composition.

Story Point Man-days
1 0.05
2 0.1
3 0.25
5 0.5
8 1
13 2
21 4

Uncertain Estimation

We can say uncertainty in estimation as chance for an estimation to deviate from original estimation. Like 10 % chance for story point to go up or down from original estimation.
Infographic 10%

How would this uncertainty effect development effort? Turn out it generally increase effort due to higher story point generally take longer time to finish than lower story point.

For example, let's take estimation of a task as 8 with 10% chance ± 5 story point. Expected Man-Days for the task to finish would be:

  1. 80% * Man-Days(8 SP) + 10% * Man-Days(3 SP) + 10% * Man-Days(13 SP).
  2. 80% * 1 + 10% * 0.25 + 10% * 2.
  3. 1.025 Man-Days, which is higher than perfectly certain Man-Days(8 SP) = 1
  4. Hence uncertainty increase effort, even though Average expected complexity still same.

Effect of Higher Uncertainty toward increased effort

We could also label these chances of change and calculate expected increase of effort, like:

Label Chances Avg Increase of effort
Perfectly certain 0% chance of change 0%
Certain 10% chance of 1 level of change 2.5%
Uncertain 20% chance of 1 level of change, 5% chance of 2 level of change 12.5%
Highly Uncertain 25% chance of 1 level of change, 10% chance of 2 level of change 27.5%

Afternote

  1. This article is inspired this talk about statistical consequence of fat tail: https://www.youtube.com/watch?v=_8j1XZ0N_wE
  2. I am using normal distribution here, giving equal chance for story point to be added and to be reduced. Given well recorded tendency for software developer to underestimate, probably log normal distribution would be better

Detail of calculations for Higher Uncertainty vs Effort

In which 1 level change is based of Fibonacci change, F(N+1) - F(N) = F(N-1) which for 8 Story Point it is 5 Story Point.
2 level change is F(N+2) - F(N) = F(N+1), which for 8 SP it is 13(!) SP, up and down (for down, it would make it goes to -5, for Manday we will treat it as negative Man-Day(5)).

Story Point Perfectly Certain MD Certain MD Uncertain MD Highly Uncertain MD
1 0.05 N/A N/A N/A
2 0.1 N/A N/A N/A
3 0.25 0.26 N/A N/A
5 0.5 0.51 0.545 N/A
8 1 1.025 1.125 1.275
13 2 2.05 2.25 2.55
21 4 4.1 4.5 5.1

Top comments (0)