February 29, 2008

...Learn TDD with Codemanship

Estimating: Another Bloody Golf Analogy

Time for a golf analogy?

Imagine you are a golfer. I show you a photo of the 18th hole of a well-kept and very exclusive golf course, and I ask you "How many shots will it take you to get the ball in the hole?"

Based on your experience as a golfer, you shrug your shoulders and takle a wild stab in the dark. "3?" you tentatively suggest. Yeah, it looks like it may be a par 3 hole.

I then furnish you with some new information: the exact distance between the tee and the hole is 127.3m. And I ask you to refine your estimate. "Er - 3?" you suggest again.

So I give you another tidbit of info: the current windspeed is 3 knots South South West. How many shots will it take you now? "Well, about 3", you reply, with barely any extra confidence.

So I bundkle you into my clapped-out old Volkswagon and drive you down to the course, and take you over to the 18th hole, and we pace the journey between the tee and the hole together, noting all the key features of the terrain and their precise locations on the way. And then - after a brief detour to the 19th hole (for medicinal purposes, you understand) - I drive you back here and ask you again: "How many shots will it take you to complete this hole?"

Will you change your answer? Probably not, if experience is anything to go by. And will it actually take you 3 shots if you go ahead and play the hole? Possibly. Possibly not. It might take 2. It might take 4. It probably won't take 10. It almost certainly won't take 1, or 10,000. Nobody can ever know for sure.

Get the picture yet?

Posted 13 years, 3 months ago on February 29, 2008