← Back to context

Comment by Zelphyr

5 years ago

One of the greats is "number of bugs fixed". You're practically begging your less-than-ethical programmers to create silly bugs so they can "fix" them and get a cookie.

Edit to add: This happens outside of programming as well. I know a guy who worked at AT&T as a DSL Installation & Repair tech. They had such a focus on how long techs spent on a given job (less time was encouraged, more time was penalized) that a lot of his co-workers would go to the DSLAM and snip a wire so that they would be called out the next day to fix the problem. He pushed back so heavily on the poor incentive of "getting your numbers up" that he eventually got written up for insubordination. We need a larger eye-roll emoji.

Of questionable ethics, at one office there was no reward for finishing a large number of tasks. But there was an implicit penalty for delays and the tasks were not properly segregated by effort. One of the testers had something like 300-400 test cases he was automating. The majority were simple, minutes to an hour of work, and easily sharing common code. 50 or so were large, taking several days or even a couple weeks of effort. Even though he, technically, could have finished the majority of test cases in a couple weeks, he knew that they'd expect that pace to continue. Consequently, he left all those small cases for later. It was simpler this way than fighting the misperception that all the work was of similar effort. If he ever seemed to be falling behind, he'd churn out 20+ test cases on Friday and the reports for the week looked good to management.

I've never done this myself, but I've seen developers do similar things rather than fight management. Measuring and rewarding the right things is important.