I've done performance based pay for programmers both at the individual and group level. It adds a lot of non-obvious problems. I don't believe it improves happiness, retention, or productivity in the long run†.
Most companies theoretically already do performance based pay, but just at two levels:
Level 1 pay: $salary
Level 2 pay: $severance
There's usually a lot of room for improvement. If they can't get it right for 2 levels, they shouldn't look to fix it by adding more.
If you've got a big productivity range and a small pay range, you don't have to address it by expanding the pay range. You can focus the productivity range instead, and get lots of side benefits. Let the people who aren't performing well find another job.
Remember there's more to comp than just wages and bonuses too. Sometimes other things can address perceived needs.
___
† I'm assuming most good employees will be around 2 years or more. If you don't expect that, that changes everything.
Most companies theoretically already do performance based pay, but just at two levels:
There's usually a lot of room for improvement. If they can't get it right for 2 levels, they shouldn't look to fix it by adding more.If you've got a big productivity range and a small pay range, you don't have to address it by expanding the pay range. You can focus the productivity range instead, and get lots of side benefits. Let the people who aren't performing well find another job.
Remember there's more to comp than just wages and bonuses too. Sometimes other things can address perceived needs.
___
† I'm assuming most good employees will be around 2 years or more. If you don't expect that, that changes everything.