The Cobra Effect

Avoiding unintended consequences when cultivating software engineering identities

The cobra effect is a type of unintended consequence in which an attempted solution to a problem makes the problem worse. In software development, we often reward long hours and other heroics with the intention of incentivizing dedication to the job, but these rewards often backfire and engineering time is replaced with more and more operations load.

Heroics Considered Harmful

In Start Where You Are, I talked about team members who identify themselves as the kind of people who work long hours and perform other kinds of heroics on the job and how this can interfere with the introduction of sustainable pace and limited WIP. A company that incentivizes this kind of identity is actually doing quite a bit of harm to itself.

The Cobra Effect

To illustrate, let’s talk about the Cobra effect. In the time of British rule of colonial India, the British government became concerned about the large number of venomous cobras in Delhi. They offered a bounty for every dead cobra as a way of incentivizing the populace to help reduce the cobra population. At first it was successful, but then people began to breed cobras for the bounty. The government found out and ended the incentive program and the cobra-breeders set free the now-worthless cobras, making the situation worse than before the bounty began.

What can we learn from this? What happens when we reward long hours and late night heroics in a software development team? While we don’t necessarily get deliberate creation of problems so that they can be heroically solved for the rewards, one can imagine that there is a much stronger incentive to keep bad code from hitting production when there’s no reward for it. By not being rewarded for long hours, your well-rested software developers can deliver code that is freer of defects.

Avoiding Unintended Consequences

Think about what your company is doing to reward heroics and see if there are better alternatives. When you write up a promotion announcement, do you extol the virtues of your newly-promoted employee by making reference to the long hours she worked, the times she solved production problems in the middle of the night, or do you reference the solid engineering decisions she made?

I would love to hear what you thought of the video and article, so feel free to comment below, on The K Guy Twitter, or on The K Guy Facebook fan page.