Lots of better people than I have written excellent posts about how, in any system, people will play it to get the best reward. It’s not just software:
- If a teacher is rewarded according to the success rate of his classes, he has less reason to encourage less able students to stay.
- If a council is threatened with a budget reduction if they don’t spend it all, they will find ways to spend (waste) it.
- If a civil servant is paid according to the number of people who work for him, he has no reason to encourage efficiency amongst his staff.
- If the money a criminal can stash away is more than he could earn in his time spent in jail, then crime pays.
And we wonder why the UK is going downhill.
These are the things which prompted me to write this, which are software-related:
- If a customer creates separate budgets for ‘bugs’ and ‘enhancements’, the owner of the enhancements budget has no impetus to keep the bug count low.
- If a customer writes a full specification for a story, the dev team have no reason to hold a conversation with the customer (story cards are placeholders for a conversation, not replacements for it).
- If a bug doesn’t affect a user’s paycheck, working hours or sanity, the user has no encouragement to report it (regardless of how it might affect users in other departments).
Games are fun. I’ll try to think of some more positive examples (or steal them from comments if you’re kind enough to let me.)