Back when I was doing project management (for software development, but that's irrelevant here), there was an amusing and frequently ineffective ritual that I carried out on a regular basis. It was called getting status updates from the team.
It worked like this. Let's say Fred has been assigned a 1 week task, which he began on Monday morning last week. It is now first thing Monday morning this week.
I could, in theory, have collected Fred's status update at close of business on Friday afternoon, but that wouldn't have been playing according to the rules, because everyone knows there is an infinite amount of time available during the weekend to finish a job.
So, it is Monday, and Fred's job is due. Needless to say Fred does not volunteer it, so I go to him.
Gary: How's that task going?
Fred: It's 90% done.
or
Fred: It's 95% done.
or (and this means Fred's task is in deep trouble and is going to be very, very late)
Fred: It's 99% done.
The answer to the last one is easy...
Gary: Oh good! Then I'll stand behind your back for the next 24 minutes while you finish it, shall I?
Because 1% of 40 hours is 24 minutes. And Fred replies:
Fred: Oh...uh...well, there's this problem and that problem...none of which are my fault of course, and...how about Wednesday?
Wednesday is actually code for end of the week, making a 100% overrun.
Gary: So it's not 99% done, is it? It's more like, 50%.
Fred: Errrr...guess so.
Now you might argue I should have checked with Fred halfway through, to make sure he was on track, and you'd be right. I did check with Fred halfway through, at the end of Wednesday last week, and he replied, "Oh, I'm going fine. It's half done!" Because, you see, Fred can count to 5 (probably) and he knows that on day 3 he should be halfway done. He didn't actually check to see if he was halfway done, he merely said that, because that irritant Gary was bothering him again, and this was the right way to get rid of the irritant.
The funny thing is, the one week task that Fred has screwed up on, was scheduled on his own estimate. Whenever possible, I did bottom up scheduling in which the person who had to do the job was the one who decided how long it would take, and that's what went into the schedule.
This teaches a hugely important lesson:
People are really, really bad at estimating how long it will take them to do things.
By bad I mean, I kept records of how long people said it would take them, and how long it really took them, and on average, it took 3 times longer than they said.
I call this the fudge factor, and used to keep records of everyone's personal fudge. The ratios varied per person from about 1 to 5, 3 being the average. I only once met someone who had a fudge factor less than 1; his was about 0.7. That guy had two PhDs, one in engineering and the other in astrophysics, and had memorized the entire set of emacs commands. If you are familiar with emacs, you'll know this is like memorizing all of War And Peace, only harder because it doesn't make sense.
Although individual fudge factors varied widely, for any one given individual their fudge factor was remarkably consistent across many tasks and many estimates, even if the tasks were of a wildly different nature. If I asked how long it would take you to do the shopping, or to write some code, or to proofread your novel, you would be wrong by about the same ratio in every case.
So, what's your personal fudge factor? If you're not sure but want to find out, try writing down some estimates for things you'll be doing in the next couple of weeks, and then record start and stop times using a watch.
No comments:
Post a Comment