Over a million developers have joined DZone.
Platinum Partner

What are you rewarding? - We don't pay bonuses

· Agile Zone

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Discover how HP Agile enterprise solutions can help you achieve high predictability and quality in your development processes by knowing the status of your projects at any point in time.

It is nearing the end of the year and we at LeanDog are wrapping up our fiscal year. We're looking at the potential tax benefits of spending some of our reserve and we're mulling over other ideas related to the spend of money. We are not, however, discussing our bonus objectives. We aren't discussing them because we don't have them. I, for one, am happy that we don't.

Plenty of companies have bonus objectives. Many of those companies are spending a great deal of time (and money) trying to make sure that those objectives are met (or at least appear to be met). To some, this sounds like a good idea. To me, it sounds like rampant dysfunction.

Bonus programs often fail

I recall working with a customer who was very keen on ensuring maximum utilization of their "resources". Each manager had utilization targets with associated fiscal incentives. Meet the target, get a bonus. Fail and get none. Simple enough.

But this entire system proved to be counter productive and misguided.

The metric becomes more important

Managers were spending a great deal of time monitoring the time-sheets of their employees. Managers would download the data and run it against various formulas to make sure they were within limits. If an employee's ratio was off, the manager needed to figure out how to allocate the time to get the ratios correct, discuss it with the employee, and validate the changes once they were made. In many cases, the time was tracked under the wrong category because the task that was clearly most applicable was not categorized in accord with the allocations. The time was instead allotted to some other task in order to get it into the right category. Much work was done to make sure the allocations were met. The accuracy of the system degraded over time. People's hours were no longer tracked to the actual task, but instead tracked to areas that kept the ratios favorable.

Good work is sometimes punished

Among the development teams, there was one that delivered to the delight of the customer every time. Their bug count was extremely low. Their customer was actively engaged in setting priority and was aware of the status at any given time. The team worked together, communicating, collaborating, and making things happen. They delivered more frequently with higher quality than any other team in the department. But their ratios were off. For a utilization target of 90%, they were consistently floating at 85%. They were tracking their time honestly. Their manager refused to doctor the time while all other managers were complicit in time doctoring. Directors were given incentives for the percentage across all their teams. So unless the other teams fudged enough to beat the target by a few percent, the director wasn't going to make the bonus mark.

Ultimately, the manager who delivered and was honest failed to meet the bonus objective and was both paid less and reprimanded for failure to meet the company standard. Other teams failed to deliver anything in a year, but showed the proper allocations and were given a bonus.

A raise is a bonus that lasts forever

My advice to managers, directors, and executives who want to pay bonuses? Don't. If you must do so, then break it down based on each employee's income. If you have a top performer, don't give them a bigger bonus, give them a raise. Think of a raise as a bonus that lasts forever.

The Agile Zone is brought to you in partnership with Hewlett Packard Enterprise. Learn more about driving business innovation by leveraging Agile quality lifecycle strategies.


Published at DZone with permission of Michael Norton , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}