"There's a little something in it for you if the product is ready for testing next week." To make a date, have you ever resorted to offering or accepting such a payout? You don't often encounter the technique in management books, but we all know that people can be motivated by money. In this week's column, Sheryl Smith imagines a scenario where the equipment is "bribed" to speed delivery. Read on for the point of view from inside the computer.
I needed a creative way to motivate you development computers, so I promised you a sizeable bonus if you got the software running by a certain date. I figured you could use the extra money, because upgrades are expensive. And you worked so hard to run the software that you were skipping defrags and virus checks, and I think some of you even turned off your operating systems for a while.
Five minutes before midnight on the due date, you passed the software on to the machines in the test lab and got your bonus. Later, the test lab machines claimed that they couldn't run it-but you insisted it ran fine when you passed it off. It turned out some features were missing too, and by the time you got them in, test was way behind. So I offered the test computers a bonus if they still met the end date of their testing schedule. The test machines raced through their tests without finding much, got one bug-fix release, finished on their due date, and got their bonus.
Then the deployment computers claimed they couldn't install the software on the host computers-and the host computers claimed only parts of it would run, though the test computers claimed they were able to run all of it. We finally got something running, but we have emergencies almost every night, and we've had three bug-fix releases in two weeks. All of you computers are richer, but each of you now hates the others, and you all point cursors at each other whenever something new goes wrong. I'm way over budget because of the bonuses. If I hadn't made my release dates and got the most lucrative bonus of all, I'd be a very unhappy gateway indeed.
In reality, computers don't run software because you pay them bonuses-they don't care about money, not even a little bit. People on computer projects, on the other hand, do care about money, and they may do a lot to earn a bonus. I've seen a few development managers turn these bribes down: but unless the date is really silly, most of them will be optimistic enough to give it a try. The only problem with that is, once they take the bribe, they might not be as picky about the quality of their work as they want to be. They might deliver the software on time whether it's fully ready or not-and let its incompleteness impact the schedule of the next group instead.
Incentives are fine, but they're tricky. If you pay people to meet an unrealistic due date, they may meet it. But they may not be able to meet it with a quality product. Software development takes time and creative thought from everyone on the project, and it won't help your company or your customers to reward your teams for glossing over problems instead of solving them.
In the end, it all comes down to the computer…and the computer can't be bribed. Offer a computer anything you like: bonuses, stock options, trips to Hawaii, early retirement, unlimited supplies of electricity and bandwidth. None of it makes a difference to a machine. Computers can't run software right if it isn't ready--and the richest company in the world can't pay its equipment not to crash.