November 22, 2005

...Learn TDD with Codemanship

Agile Scheduling & Estimating

Honestly, I'm usually quite thick, but occasionally I surprise myself. Like when I wrote this uncharacteristically insightful post to the Agile Modeling newsgroup about scheduling and estimating:

---------------------------------------

I feel it's my solemn duty to pitch in at this point with some proper
scientific solutions to estimating and scheduling (and costing, lest
we forget).

First of all, we should never underestimate the role of seaweed. Pin
some seaweed to a notice board where the developers are working. I
find this increases schedule accuracy significantly in the long term.

Once you have the seaweed in place, you should consider performing
some kind of rain dance. It's this very technique that has contributed
to the 100% schedule and cost accuracy of the UK NHS patient records
project, to name but none.

Some teams take the extra precaution of offering sacrifices to the
schedule gods. An investment bank I worked with, for example, burned
their business analysts at the stake. It seemed to do the trick and I
highly recommend it for the vast majority of projects. You might want
to consider throwing in a couple of usability experts, too - just in case.

Seriously, though, here's what I think of estimating:

Imagine a first class golfer teeing off*. You go to where the ball
stops and put a big "X" on that spot. Then you ask him to do it again
and put the ball on the X. He won't be able to do it. Nobody can.
(We're only human, after all.)

Okay, so imagine you have a golf-playing robot. It can play exactly
the same shot over and over again, with a 100% consistent swing. Will
the ball always land on the X? Nope.

That's the problem with project estimating. Knowing what the
temperature was yesterday is only a very rough guide to what it might
be today. Right now, the UK is experiencing freezing temperatures. Two
weeks ago I was sitting outside in a shirt quite comfortably (in
Glasgow!!!).

Your best bet is to settle for ballpark. "It's less than 3 years but
more than 1" or "it's less than a week's work, but it's more than a
day's work". Over time, it all averages out, but you won't achieve
100% schedule accuracy unless you get very lucky - and that's all it
will be: LUCK.

Complexity - it'll get you every time!

Jason Gorman
http://www.parlezuml.com

* Yes, it's another bloody golf metaphor!

--------------------------------------------

To which, Mark Graybill replied:

"You the man Jason!"

And, for once, I quite agree :-)
Posted 15 years, 2 months ago on November 22, 2005