This post originated from an RSS feed registered with Java Buzz
by Michael Cote.
Original Post: Yesterday's Weather
Feed Title: Cote's Weblog: Coding, Austin, etc.
Feed URL: https://cote.io/feed/
Feed Description: Using Java to get to the ideal state.
All that matters is what you have done. The actuals. How much you made
last month. How much code is written, how many task are complete. It
is the only thing that is accurate. I wish we could take all the work
on projections and redirect it into finishing the job at hand. Oh what
a world that would be...
If I ask someone how far it is from Austin to Dallas, and
they say, "I don't know", I'm pissed. Is it 30 minutes, less than 5
hours, more than 100 hours? I want some kind of projection, even if
it's 100% wrong.
Driving projectionss are easy 'cause you're doing the same thing
over and over again (I've driven to Dallas countless times, and it's
always the same within 1/2 hour...except that one time I got a flat),
with almost 100% known tools (car, road, etc.).
But, if you were to project how long it would take you to get
through unknown territory (like developing/innovating new software), I
imagine you could come up with a rough estimate, but not a very good
one.
Along those lines, I tend to favor the
"Yesterday's Weather" theory: instead of estimating how long
something will take, just figure you'll get done today as much work as
you got done yesterday. This entails keeping track of your past
performance, of course, which is a lot more than most planning and
estimating schemes seem to end up doing.
So, if I'm going through uncharted lands, and I was able to move 10
miles yesterday, I'll say that I'll probably be able to move 10 more
miles tomorrow. Then if I actually move 12 miles, the next day, I'll
figure I'll move 12 more. And so on. It'll never be 100% accurate, but
it'll be closer than making stuff
up.
There's a problem of boot-strapping this whole process, and as
such, it'll be very wrong in the beginning. But, as more and more
history is built up, it'll get more and more accurate. It'll never work
out perfectly, but as
Fowler says, "The point of course is that while Yesterdays Weather is
a crude mechanism, it ends up being not significantly less accurate
than more sophisticated (i.e. complicated) ways of doing it."