Estimates
Brilliant. FromĀ Slashdot:
I think you see where this is going. The programmer had a decent idea of how long it would take, and could have probably given a more realistic estimate within a few days had he been encouraged to identify the riskiest parts of the project (specifically, third-party libraries and things constrained by real-world hardware/network performance) and try to tackle them *first*. However, if management twists his arm backwards, or keeps pressuring him for a “better” (ie, shorter) estimate, he’ll eventually get disgusted and throw them the number management wants… rationalizing that it’s not *quite* a lie since miracles occasionally happen, and absolving himself of any moral responsibility for actually agreeing to a deadline he views as ridiculous since he was coerced into it.
That, IMHO, is the root of more miscommunication between management and developers. Far too many managers don’t quite understand that programmers *hate* interpersonal conflict, and will casually agree to just about *anything* if they think it will get the person to quit bothering them. The constructive way to deal with it is to begin by asking the programmer for a range (best case vs likely worst case), then ask him to identify the riskiest factors influencing the range, then nudge him to tackle those factors first so a better estimate can be refined quickly. Just don’t make him feel like you’re twisting his arm or browbeating him, because estimates are like information from interrogation — torture will get you the answer you want quickly, but the answer itself will likely prove to be worthless.