I first came across this metaphor on coding horror. The metaphor has stuck with me, and I find it applies widely.

The core concept here is that if it’s easy to make mistakes, mistakes will happen. We are all human, and the “correct” thing to do is not always consistent or obvious. It might even seem to change depending on your context. This is connected to Hyrum’s law, if somebody can do something with your system with enough users they will. We cannot rely on people to magically read our minds about how we intended things to work.

The solution is the dig the Pit of Success. Your System, your API, your Process, whatever it is, must be so obvious to do the correct safe thing that they could be blind drunk and accidentally stumble into it. Doing the “wrong” thing should be hard. The path of least resistance will always be followed, especially when deadlines hit, and pressures are high. If you are having to fight to have your system used in the correct way. Look inwards, the problem is not the users. It is the design of the System, its interface, its documentation, the communication around it. Something is wrong, and it’s not the people trying to use what you have built.

There are a few ways to achieve this. They can be broken down into making it harder to do the wrong thing, and easier to do the right thing. I believe making it easier to do the right thing is the more effective work, once that is done you can look to make sure all of the other holes are closed off.

I have found that education is ultimately not a solution either. As people come and go, things change, and when that pressure comes on people will try to do the easiest thing even if they might know it’s a bit wrong. Incentives are not aligned.

Resist the temptation to blame, because ultimately we can’t control others. Look inwards, and make it easier for the right thing happen.