Hacker News new | ask | show | jobs
by kbelder 1248 days ago
Just something I was thinking about... while setting a range for tasks instead of a simple single estimate is a improvement, my intuition is that tasks should be described by a log-normal curve (https://en.wikipedia.org/wiki/Log-normal_distribution).

It's very deceptive to say a task will take 4 hours. It's much better to estimate it'll take 2-8 hours, as you do. I think it's another step more realistic to say it's a log-normal curve... then you can get a prediction like:

    1% - complete in 15 minutes
    5% - complete in 1 hour
    10% - complete in 2 hours
    50% - complete in 4 hours
    80% - complete in 8 hours
    90% - complete in 16 hours
    95% - complete in 32 hours
    99% - complete in 64 hours
    99.5% - complete in 128 hours
    ...
...and so on. This mimics how task duration actually works in real life, in my opinion. The average completion time wouldn't vary that much, but the tails are treated very differently. With this you'd be able to sum up the probability of the the deviation from that average over many tasks.
1 comments

You're exactly right! Under the hood, DoomCheck actually uses a log-logistic distribution -- https://en.wikipedia.org/wiki/Log-logistic_distribution -- which it fits using the range endpoints as 10% and 75% respectively. Then it does a Markov simulation to combine them across the whole project.