Skip to content

Instantly share code, notes, and snippets.

@Fire-Dragon-DoL
Created August 31, 2014 17:13
Show Gist options
  • Select an option

  • Save Fire-Dragon-DoL/0ac7b3198e1f0f2ce32c to your computer and use it in GitHub Desktop.

Select an option

Save Fire-Dragon-DoL/0ac7b3198e1f0f2ce32c to your computer and use it in GitHub Desktop.
Why software estimates are complex (from HN)
Yet another place where intuitions derived from the normal distribution about the behavior of distributions screws people.
An explanation I like, from michaelochurch:
      Let's say that you have 20 tasks. Each involves rolling a 10-sided die.
   If it's a 1 through 8, wait that number of minutes. If it's a 9, wait 15
   minutes. If it's a 10, wait an hour.
      How long is this string of tasks going to take? Summing the median time
   expectancy, we get a sum 110 minutes, because the median time for a task is
   5.5 minutes. The actual expected time to completion is 222 minutes, with 5+
   hours not being unreasonable if one rolls a lot of 9's and 10's.
      This is an obvious example where summing the median expected time for the
   tasks is ridiculous, but it's exactly what people do when they compute time
   estimates, even though the reality on the field is that the time-cost
   distribution has a lot more weight on the right. (That is, it's more common
   for a "6-month" project to take 8 months than 4. In statistics-wonk terms,
   the distribution is "log-normal".)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment