Bonuses in an agile organization?

Monday, March 10, 2008 7:51:40 AM (Mountain Daylight Time, UTC-06:00)

A great question that I've heard several times now is "How do you award bonuses or implement employee incentive programs in an agile organization?".  As we've been rolling out our enterprise agile strategy at DTS, we've been wrestling with this question too.  Since agile practices don't encourage heroism or the individual developer but instead focus on team accomplishments, we thought that bonuses needed to be dished out on a team-wide basis.  We've considered project based bonuses for the entire project team and we've also considered iteration based bonuses for the project team.  In the project based model, we've been considering providing bonuses if our project teams complete their work ahead of schedule, under budget, and with 100% client acceptance.  The structure of the bonus would be something like 1% of the total contract value to be divided amongst the project team as they see fit.

Our other option is to do iteration based bonuses.  This idea came to me from my friend Bruce Scott who works at a Silicon Valley company called ParAccel.  Bruce ran a few "experiments" with agile teams and iteration based bonuses.  Before I just launch into the results of Bruce's experiments you should know who Bruce is. 

Bruce has more than 25 years of experience building successful and profitable IT enterprises.  He has been responsible for product management and engineering, research, services and support at SenSage. As VP of Engineering, he improved the product strategy and engineering process, leading to strategic partnerships with EMC, IBM, HP and Tokyo Electron. He also founded and served as CEO of PointBase, a Java-based embedded database provider. Building the company from the ground up, his licensing savvy and strategic partnerships led to its successful sale to DataMirror.  Back in 1984, Bruce co-founded Gupta Corp. As VP of Database and Connectivity R&D, he developed its first database product, SQLBase, the first database server to run on a PC LAN and support the client-server architecture. Prior to Gupta, Bruce was one of four co-founders of Oracle Corp., serving as the principle engineer and architect of Oracle database's first three versions. Hundreds of thousands of Oracle users know Bruce by the product's default username and password "Scott/Tiger." So, Bruce has credibility if know what I mean.

Bruce's experiment was simple.  In the middle of an iteration that appeared stagnant or not very likely to conclude successfully, he announced that if his development team burned down the iteration to zero by then end of the iteration, each team member would receive a $1000 bonus.  Here's what the burndown chart looked like for that iteration:

image

What looked to be a failing iteration was rescued by providing an incentive to burn down the iteration successfully.  The burndown rate following the bonus announcement is staggering. 

The second experiment Bruce ran was to announce a $1000 bonus at the start of the next iteration.  Here's what the burndown chart looked like for that iteration:

image

According to Bruce, the team stayed below the ideal burndown line until 1/30 where they added another significant story. The story wasn’t completed and was removed at the end of the sprint. This was a 31 point sprint, which was the highest this team had ever done. The sprint velocity before this was 23.5!

So, judging from Bruce's experiments, I'd say iteration based bonuses look like pretty good incentives to keep agile teams going.  And, when it comes to project based bonuses, here's Bruce's take on the subject:

On the topic of bonuses per sprint or per project, I had the identical discussion with my CEO. I convinced him to do it per sprint for the following reasons:

1) A project bonus is un-Agile like. What if the scope of the project changes? This is easier and more realistic to manage on a sprint than a project basis.

2) There is a backpackers saying in regards to minimizing the weight of a backpack that says “watch the ounces and the pounds will take care of themselves.”

3) Per sprint bonuses provide more immediate rewards and have a more likely impact on velocity than a long term reward.

I'm not sure which we'll finally implement at DTS, but I'm leaning heavily toward iteration based bonuses based on Bruce's results.  If you have any opinions on the topic, or have any metrics you'd like share based on bonuses or incentives, I'd love to hear them.

Monday, March 10, 2008 2:31:46 PM (Mountain Daylight Time, UTC-06:00)
We've been toying with the idea of implementing a bonus structure for our offshore team for a little while now. Since we're not a pure scrum model, we have separate QA and dev teams which work together throughout the iteration. I'd be curious to hear what metrics people use to grade? Based solely on burndown? Any combination of defects?
Evan
Monday, March 10, 2008 5:02:43 PM (Mountain Daylight Time, UTC-06:00)
Evan has started us down the slippery slope of drawing boundaries between the 'team' and 'them'. Unless the team is totally autonomous down to admins, then someone who contributed is going to be part of 'them'. I like bonus propositions but the tying of bonus to a discrete team is seemingly contrary to collaboration, transparency, and team. Perhaps the organization should give out 'bonus points' to all involved in an effort and let the team add additional points to the people whom they relied on. At some time in the year, the bonus points are translated into bonus bucks based on a contribution to the company's goals.
Mike Dwyer
Tuesday, March 11, 2008 2:24:04 AM (Mountain Daylight Time, UTC-06:00)
For what it's worth, I'm not enthusiastic about he results of those experiments. In fact, if that were my team, I would be seriously worried.

What did that team do to meet the iteration goal? And for what reason didn't they do that before the bonus was announced?

It's not that I don't want people to earn what they deserve. I just don't think it's optimal for a team member to do something because he wants to get more money. I would very much prefer him to do it because he wants to please the customer. And I would consider it management's failure if he doesn't. A monetary incentive is just a band aid, and I'd fear that it wouldn't work, or even lead to serious dysfunction, in the long run.
Ilja Preuß
Tuesday, March 11, 2008 7:27:41 AM (Mountain Daylight Time, UTC-06:00)
ts interesting to see some empiracal evidence of what happens when a bonus is used to incentivise a team at the start of a sprint vs part way though on a one-off basis. It would be even more interesting to see what happens over time.

Assuming we are thinking of an ongoing, rather than one-off process, I think the questions we have to ask are:
1) How often does the team get feedback?
2) What behaviour or achievement are we trying to reward through a bonus?
3) How frequently can we provide an incentive linked to feedback and achievement and maintain it as an incentive?

As Agile practitioners, we would all agree that feedback once a year is to in-frequent, and have adopted approaches that provide objective feedback every 2-4 weeks, so question 1 is already answered.

To my mind, question 2 can be answered either: we want to drive on-going incremental improvement or successfull completion of a sprint, or set of sprints, to an agreed set of sucess criteria (the team's definition of done). A team would pick one or the other based on the project need. I would tend towards the former personally but I can see occaisions when either model would be appropriate. So this doesnt seem to be a differentiating factor in and of itself. It may be when linked to the third question.

Question 3 is to my mind the most interesting. Having worked for the last 12 years in companies that use (annual) bonuses as part of their incentive scheme, I have noticed that the way people react to bonuses changes over time. Initially, particularly the first or second time, people see bonuses as an incentive, a reward for high performance. Over time, it appears that people come to expect the bonus and become incentivised more by increases in bonus rather than the bonus itself. In effect, the bonus becomes the assumed norm for a sustained level of performance. To my mind then, if we pay an incentive per sprint based on achivement of a goal, the effect of the incentive over time rapidly degrades.

How do we maintain the effectiveness over time? I would suggest the following:
1) Bonuses are less frequent than sprints but not so far apart that the early sprints suffer. The frequency between bonuses should be sufficiently long to allow for showing a trend and ignoring some of the volativity in team performance between sprints (every team hits the odd bump in the road). This also reduces the impact of the incentive decaying based on how many times its achieved.
2) Incentivise improvement
3) Once improvements are sustained for a period, "bank" them. Depending on how your organisation works, either take a portion of the historical bonus and add that to salary with new bonuses being purely for improvements (ie they are reset) or increase future bonuses for future improvements by the amount you want to supply as an incentive.

As ever, if your organisation allows you enough flexibility, try varying the period, criteria and approach to see what works for your team. Sharing empirical evidence from your findings with the community as you go, if you can.
Rhys Jones
Tuesday, March 11, 2008 3:57:45 PM (Mountain Daylight Time, UTC-06:00)
For an alternative point of view see Ken Schwaber's article No Applause, Please. I am inclined to think that there are negative ramifications which haven't yet manifested themselves with this approach. Last I heard, Google is backing away from their own team-based cash bonus award which had seemed like a great idea initially.

Important Scrum values: telling the truth--esp. the bad news, maintaining a sustainable pace (both in terms of product quality and quality of life), etc. can easily be compromised by incentive programs.
John-Mason P. Shackelford
Tuesday, March 11, 2008 5:11:29 PM (Mountain Daylight Time, UTC-06:00)
Hi Chris,

BTW I worked on those iterations, and the other reason that that burndown turned so much better mid-iteration is that the half of the team that was out between Christmas & New Year's returned & started working... There was massive uncertainty regarding scope, so there was also massive scope increase & decrease in that sprint.

The healthier looking follow-on iteration had easier, more predictable stories, which were generally badly over-estimated.

That said, it's true that the intensity picked up after the bonus was announced. It gave people a focus, and gives me justification my wife can understand for why I have to put in weekend & evening hours.

Adam Birnbaum
Senior Software Engineer
Par(Accel
Adam Birnbaum
Wednesday, March 12, 2008 9:08:42 AM (Mountain Daylight Time, UTC-06:00)
Hmm. So much for sustainable velocity with that last sentence in the comment. Perhaps another reason to NOT do bonus incentives and move to a more general peer driven form of recognition.
Thursday, March 13, 2008 7:45:01 AM (Mountain Daylight Time, UTC-06:00)
So, assuming the consensus is that one-off incentives are counter-productive to maintaining sustainable pace, what about the wider question of how to successfully go about setting the overall pay and incentives for an agile team?
Rhys Jones
Friday, March 14, 2008 8:42:58 PM (Mountain Daylight Time, UTC-06:00)
I'd have to admit that Adam's comments brought to light what I feared might have been the case. I agree with Mike Dwyer that in agile we try to maintain a sustainable pace. If bonuses lead to developers working late nights and weekends, burn out will creep in very quickly...bonuses or not. I'd rather have fresh, motivated developers than one's looking for the exit because they're burned out. I don't know about you, but money only goes so far in my motivation to come to work. It's more about doing great things and being innovative that keeps me going.
Chris S.
Monday, March 24, 2008 10:06:25 AM (Mountain Daylight Time, UTC-06:00)
I am really enjoying this conversation and think that we need to step back and determine what incentives will encourage the behavior we are looking for from our empowered teams. Here at Rally we allow our teams to be part of creating our incentives. For example every quarter as a company we identify about 5 "rocks" or themes for the company that we are going to drive to acceptance by the end of the quarter. After identifying these rocks Ryan (founder) or Tim (CEO) ask the team at Rally (all employees to give them ideas for a celebration if we meet our sales goals and complete our rocks for the quarter.

This works at the Scrum Team level as well. Encourage your teams to consistently perform by allowing them to decide what their reward is (within reason). If your team really needs to meet their commitments at the sprint level then maybe you will celebrate by buying beer and pizza at the end of two weeks. Maybe it is an afternoon off? Maybe it is just highlighting this team's performance in front of the company. If it is a larger release commitment that needs to be fulfilled maybe we allow them to plan a day at the ballpark or something. If the team chooses the incentive they are usually more likely to own it and work toward their reward.

In my experience I see way too many teams who do not consistently meet their commitments. When I ask the teams what their incentive is to meet their commitments I usually get blank looks. Sprinting requires much more focus then the traditional phase based development and we need to be creative in the ways we reward teams and keep them from burning out.

That was a bit of a rant but hopefully it makes sense.
Comments are closed.