I've been awared a scholarship by the Mises Institute to attend Mises University this summer. Mises U is a one week program in Austrian Economics. It should be very educational. I can't wait.
As described in the previous post about our development process at GreatVines, we use LiquidPlanner for project management. Estimating how long tasks will take is important in most software development projects (and generally any project involving more than one person).
LiquidPlanner provides a great way of estimating tasks using an 80% confidence interval, but estimating tasks like this is a new concept for most developers. Below is a transcript with a developer that recently joined our project. We were able to get from "I have no idea how long it will take" to a decent estimate in about half an hour, but it should only take a minute or two for the next task.
2013-09-05 11:16:52: <Christian G. Warden> have you guys reviewed all of the
tasks for the september release?
2013-09-05 11:20:44: <Ben H> yes, but many of the tickets refer to parts of the
code I have no experience with so I have no idea how much
work they will be.
2013-09-05 11:23:11: <Christian G. Warden> you can put wide estimates on tasks
like that. can you give me an example, and i'll walk you
through it?
2013-09-05 11:25:15: <Ben H> 10631525- Make Modal Form Fields scroll-able: I
have no idea where contacts are viewed in the application,
I haven't had any reason to look at their controller/model
2013-09-05 11:25:52: <Ben H> so any time estimate I would come up with would be
a sheer guess
2013-09-05 11:26:38: <Christian G. Warden> ok, no problem. what's the
likelihood it will take you more than 2 weeks to complete
the task given what you currently know about the app?
2013-09-05 11:27:21: <Ben H> darn near 0% I would figure
2013-09-05 11:27:26: <Christian G. Warden> phew :)
2013-09-05 11:27:31: <Christian G. Warden> how about 1 week?
2013-09-05 11:28:29: <Ben H> that's still very high, so 2%?
2013-09-05 11:28:38: <Christian G. Warden> how about 3 days?
2013-09-05 11:28:40: <Ben H> given that it looks like pure GUI work
2013-09-05 11:30:03: <Jim Thompson> yeah Ben the problem is that one customer
has put so many fields in the FieldSet that you can't see
the entire modal, the Save and Cancel buttons scroll below
the page
2013-09-05 11:30:33: <Ben H> I guess 3-4 days (if it is pure GUI work then 1-2
should be more then enough, unless there's something
unseemly complex)
2013-09-05 11:30:45: <Jim Thompson> I am going to move this task beneath the
Performance items Christian
2013-09-05 11:30:47: <Jim Thompson> (and Ben)
2013-09-05 11:32:20: <Christian G. Warden> would you say there's a 10%
probability that it will take more than 4 days?
2013-09-05 11:33:34: <Jim Thompson> at 12-32 hours it might have to drop off
the list, or at least to the bottom
2013-09-05 11:34:40: <Christian G. Warden> jim, we'll go through the tasks and
reprioritize after the estimates are updated.
2013-09-05 11:34:57: <Jim Thompson> ok, I also moved "New Task" and "New Event"
to October, which is when we promised it
2013-09-05 11:35:39: <Christian G. Warden> you're interrupting my estimation
lesson :)
2013-09-05 11:36:02: <Ben H> (yeah, he's been high balling for tutorial
purposes)
2013-09-05 11:36:11: <Jim Thompson> ok im out
2013-09-05 11:37:50: <Christian G. Warden> no, i want to come up with realistic
estimates. if they're wide right now because of
uncertainty as to what it will take to complete them,
that's fine. once we have estimates, we can decide
whether to invest time to come up with tighter estimates.
2013-09-05 11:38:44: <Christian G. Warden> so, do you think 4 days as a high
estimate is accurate?
2013-09-05 11:39:29: <Ben H> for this example I put 12-24, it's really wide and
most likely most of that will be learning about how that
GUI element is working and making the tests
2013-09-05 11:39:57: <Ben H> the range is more to show that it could go
horribly wrong if there is something there I have no idea
of
2013-09-05 11:40:24: <Ben H> but 12 still seems really high
2013-09-05 11:40:30: <Christian G. Warden> what's the likelihood that you will
complete the task in 2 hours?
2013-09-05 11:41:14: <Ben H> the likihood I'll complete it in 6 hours I would
meet the 10% threshold
2013-09-05 11:41:26: <Ben H> *likelihood
2013-09-05 11:41:38: <Christian G. Warden> ok, so, let's make it 6-24
2013-09-05 11:45:29: <Christian G. Warden> and you can check yourself by
imagining we're going to a casino. you can choose from
two wagers:
1) roulette - there are 10 numbers on the roulette wheel.
if 1 or 10 comes up, you lose. if 2 through 8 comes up,
you win $100.
2) the bookmaker - if you complete the task in less than 6
hours, you lose. if you complete the task in more than 24
hours, you lose. if you complete the task between 6 and
24 hours, you win $100. which wager do you want to take?
2013-09-05 11:47:25: <Ben H> bookmaker, it also means I can spend some
speculative time trying different approaches to find one
that solves the problem better
2013-09-05 11:47:34: <Ben H> if things go well
2013-09-05 11:49:16: <Christian G. Warden> so it's not really an 80% confidence
interval. it might be more like a 90% confidence
interval. you should make the range narrower.
2013-09-05 11:49:52: <Ben H> how then do you show the risk if (I doubt in this
case) that 10% could be really bad
2013-09-05 11:52:19: <Christian G. Warden> it's ok if there's an outlier
occasionally. we want to get an accurate estimate across
all of the tasks.
2013-09-05 11:56:09: <Christian G. Warden> you should narrow the range until
you're ambivalent between taking the two wagers. and
widen the range when you'd rather play roulette.
2013-09-05 11:58:02: <Christian G. Warden> but we've already gone from "i have
no idea how long it will take" to "i'm 90% confident, it
will take between 6 and 24 hours".
2013-09-05 11:59:40: <Ben H> I'm just worried it's misplaced confidence
2013-09-05 12:00:03: <Ben H> either way, given the range, I am (90%) confident
that I can get it done within the range
2013-09-05 12:07:07: <Christian G. Warden> nobody dies if you're wrong. you're
expected to be wrong 20% of the time (once you narrow it
to an 80% confidence interval). if we decide we need to
know with more certainty when something will be done, we
might ask you to spend an hour to do a little research so
you can come up with a tighter estimate, after which you
would adjust the high and/or low estimate. for now,
though, estimate the tasks based on what you currently
know.
2013-09-05 12:07:50: <Ben H> ok
The roulette idea comes from Douglas Hubbard's How to Measure Anything.

The state is that great fiction by which everyone tries to live at the expense of everyone else. - Frederic Bastiat