Date Published: 19 October 2008
Ayende recently commented on Spolsky’s latest Inc. column about how commission schemes typically backfire for companies due to local optimization by those seeking to maximize their commissions. Both make good points; read them, I’ll wait.
As it happens, I was just getting to my notes on this from Lean Software Development, which describe a compensation scheme that I think works very well and that I’ll be sure to implement when an opportunity presents itself. Refer to page 118 if you have the book and wish to follow along…
In discussing Nucor and its ability to motivate its employees to be productive without falling victim to the min/maxing behavior that typically goes along with commission or performance metric schemes, they describe something I find to be quite brilliant.
Nucor avoids the suboptimization of typical measurement systems by basing incentives one level higher than you would expect. A plant manager is not paid based on his or her plant’s productivity, but on the productivity of all plants; workers’ incentive pay is based on the productivity of a group of 30 or 40 people. However, Nucor does not simply reward productivity; it makes sure that everyone has the opportunity and expertise to become more productive.
Things like profit sharing do a reasonable job of providing bonus pay for the overall success of the company, but in any reasonably large organization, the employees most responsible for generating value are pretty far removed from those running things and may not see a direct correspondence between their efforts and their bonus check. By pushing the measurement closer to the individual worker, but still aggregating it to avoid local suboptimization, the effect would seem to be that the worker really does see a benefit not only of being more productive but also of encouraging coworkers to do the same – a virtuous circle. And provided the groups involved are large enough, the likelihood (and risks) of a group colluding to defraud the system would be lessened as well (relative to individual bad apples gaming the system).
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.