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."

Semantics? I think not.

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 :)

Dave Rooney said...

Yeah, Marty, when I hear the word 'hope' it tells me that they haven't got a clue how long it's going to take. Challenging people about it, though, can certainly put them outside their comfort zone!

Ivan said...

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?

"Abandon Hope - Choose certainty!"

Dave Rooney said...

Hi Ivan,

Yes, it's amazing the difference it makes with the simple semantic change from "I hope to complete that by Friday" to "At my current rate I will have that done by Friday".

localtvnews said...

I must say this is a great post. And I'll throw "trying" into the mix as another word to avoid. "I'll try" isn't really any better than "I hope to..."

Both give you plenty of wiggle room and therefore, room to be safely vague.

I hope to try. And I'm going to try and hope. Or something. Whichever.


Mark

Anthony Van Alphen said...

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