Nerdherder: So, Nerd76, how is task98 going?
Nerd76: Good.
Nerdherder: How good?
Nerd76: Its finished.
Nerdherder: Does anything else need to be done on it?
Nerd76 [looking a little sheepish]: A few things. I need to test it against widget33 and check it in.
Nerdherder [sighs, takes axe from behind whiteboard and neatly decapitates Nerd76, then places the dripping axe on the meeting room floor next to the whiteboard]: So, Nerd77, how is task99 going?
Nerd77 [looking nervous]: Good.
Nerdherder: How good?
Nerd77: I only need to test it against widget34 and check it in, so its not finished.
Nerdherder: Thanks, Nerd77. Nerd78…
It constantly amazes me that people who can be infuriatingly literal and seeming devoid of anything apart from pure (machine) logic don’t have any qualms about declaring something that is obviously unfinished to be finished.
The problem is, of course, that many nerds see the writing of code as the work they do. All of the other stuff is simply busy-work that they need to endure so they can write code. Since many nerds don’t view any non-coding tasks as real work, they inadvertently think of tasks being completed once the coding aspects have been finished.
What can we all do about this?
- If you need to get information out of nerds about tasks then be sure to determine (and define) exactly what “finished” means. Asking “Is there anything else to be done on task883?” doesn’t hurt.
- If you are a nerd please please please please be careful not to declare something finished until everything you need to do to finish the task has been done. You never know when that meek and timid nerdherder might snap and grab the axe hidden behind the whiteboard.
I have to admit, I’ve blerted “DONE!” when I still needed to write up migration docs, finish up the user documentation and check everything in. Great articles BTW.