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:
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:
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.
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.
Posted in Agile Culture | Agile Estimating & Planning | Agile Estimating and Planning | Agile Project Management | Sprints |Comments [10]
The content of this site are my own personal opinions and do not represent my employer's view in anyway.
All content on this site © Copyright 2008 Chris Spagnuolo GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.
Sign In