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.
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.
Comments
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 :)
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!"
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".
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