5 February 2008

Abandon Hope!

In a meeting at a client today, a developer was giving a status update. He mentioned that he hoped to have something completed by the end of this week.

He hoped.

I've joked with colleagues before that there is simply no place for hope in the software development industry. When I said it, I meant "hope" in the "abandon hope all ye who enter here" sense, but when I thought about it, though, there really should be no "hope" in software development.

Progress should be based on reality, i.e Yesterday's Weather, and not on some optimistic, rose-coloured glasses view of what could be if the planets all align correctly. Software developers, their management, their families, pets and minor acquaintances are all notoriously optimistic when estimating how long it will take to accomplish a task. Therefore, when estimating, we need to draw upon experience and a proven track record. Where there is uncertainty, use a Spike to gather enough information to be able to provide an estimate that's devoid of hope, and full of evidence!

The developer could have said, "At my current pace, I will be done by the end of the week", or, "Without any other distractions, I will be done by the end of the week". Even better, he could have said, "The last time I did something like this [or this size], it took me 3 days. So, I should be done by the end of the week."

6 comments:

Marty Nelson
said...

I've been hearing this word lately during the morning stand-up and it's been striking my brain like a wrong note in a melody. Currently I'm a peer, but having been in the coach/scrum master role I tend to chime in when I hear bad patterns and this is definately one of them.

So I'm going to try and get folks to elaborate when they "hope" I think there are two possiblities:

1) Ask if they've done similar things recently and how long those things took.

2) Ask about what they have completely and to be more specific about what needs to be done to be done :)

In the run up (aka. death march) my team's last product release 'hope' was often mentioned - far too often. Dev's, Project Management, QA, etc. Once a few of us spotted it we gradually drove its use out - it became one of *those* four letter words. Removing hope was certainly part of actually releasing the product.

Despite the team being in a much better place now, 'hope' still pops its head up every now and then - even out of my own mouth. I too now use it as a trigger to challenge people (including myself) about what they really mean - what don't we know? where's the risk? can we split the story/task?

Rooney mentioned this to me twice in our project. I now find myself retargeting my words every time I use this expression. I am hope.. likely to use this expression less in our ongoing project based on this feedback. Thanks...AVA