Most incentives focus on more instead of better. A sales rep gets rewarded if they close more deals, a customer support employee gets rewarded if they close more tickets, an developer gets rewarded if they contribute more to open-source projects.
But what if the sales rep focused on bringing in that one big deal instead of a hundred tiny ones? What if the customer success employee closed fewer tickets, but left the customer happy with each closed ticket? What if the developer's open-source contributions were fewer, but incredibly valuable?
There are countless scenarios where incentives that focus on more fail. They should focus on better instead. But that's difficult, because measuring better is harder than measuring more. You'd need to trust the sales rep, survey the customers, ask for feedback from the open-source community.
Measuring better in the context of programming is even tougher. How do you measure the quality of code? No one wants more code, so how do you create incentives that encourage developers to write better code without hurting their intrinsic motivation to do so naturally? Is it even worth trying in the first place?
Here's how X-Team tackles this tough problem.
We don't think it's worth coming up with an incentive plan that directly tries to influence how developers write their code. Firstly, it's incredibly hard - if not impossible - to come up with such a plan.
Secondly, we don't know the second-order effects of such a plan. Maybe it'll affect morale for the worse, maybe it'll make for a less collaborative environment, maybe the things we incentivize don't work in a particular situation. No one can predict these effects.
Thirdly, we try to hire developers who are already motivated enough to critically look at their code or their soft skills and figure out how they can do better. We wouldn't want to change this mindset with an external incentive plan.
All this doesn't mean we don't reward our developers. We do, but our focus is different. We don't focus on what's important as a developer, we focus on what's important for their well-being.
We've created bounties (i.e. incentives) that reward creativity, relaxation, family time, exercise, curiosity, exploration, learning, and more. Our bounties reward traits that are much more fundamental than "close x number of deals" or "find x number of bugs."
Additionally, all these bounties have a social aspect too, as we encourage X-Teamers to share them with our community. It's why X-Teamers call our community vibrant, energetic, and collaborative. You'll never be short of music, movie, game, or food recommendations, because their respective Slack channels are full of completed bounties.
None of these bounties are compulsory. While you need bounty coins to earn X-Team collectibles, they're not necessary to be a valued member of our community. If you prefer to stick to your work and do a great job, that's entirely fine too.
But it's been our experience that X-Teamers enjoy completing bounties and getting awesome gear for it in return. We've been running this experiment for many years and it's yielded very positive returns so far.
Direct incentive plans for software developers most likely do more harm than they do good, particularly if they focus on more over better. It's just so hard to get right.
But an incentive plan that focuses on well-being works. Our bounties are meant to create a vibrant and inspiring community, because we fundamentally believe that energized and motivated developers write the best code.
What do you think about this? Let us know on Twitter!