Discussion about this post

User's avatar
Nuño Sempere's avatar

> So completing a technical task can involve a "for" loop with a random number of iterations, which can quickly generate a lognormal curve

A for loop with random stuff would generate a normal

function getResult(){

result = 0

for (i=0, i<n, i++) {

result += get_random_factor(i)

}

return result

}

I think what would generate a lognormal is

function getResult2() {

result = 0

for(i=0, i<getDifficultyOfStage(0), i++){

for(i=0, i<getDifficultyOfStage(1), i++){

for(i=0, i<getDifficultyOfStage(2), i++){

for(i=0, i<getDifficultyOfStage(3), i++){

result += delta

}

}

}

}

}

return result

}

where the different stages correspond to e.g., solve problem, check with management, check with clients, fight upper management, etc etc.

Expand full comment
Todd Little's avatar

Nice article. You have found a pattern quite similar to what I found comparing project estimates. When I researched further I found that this pattern was quite common. p10 at 1x, p50 at 2x, and p90 at 4x. Your pattern is a bit different as you have p50 at 1x and p90 at about 4x, but then I expect differences as you are at the task level and I measured at the project. As you say, lognormals add together and stay lognormal, but the standard deviation decreases. As tasks add up to be projects the range becomes smaller. As always one of the big challenges is that data is not readily available. Can you make the data available in some form?

Expand full comment
9 more comments...

No posts