You’re driving along a road and you come across a fence blocking your way. What do you do? You could tear it down. After all, what’s the use of a fence over a road? But you would be wise to reconsider.
Why does the fence exist? Who put it up and for what purpose? If you tear it down what are the repercussions? Maybe there’s danger ahead, maybe there’s been a toxic spillage, or maybe the land has been converted into a sanctuary for predatory reptiles!
Chesterton’s Fence is a principle that says change should not be made until the reasoning behind the current state of affairs is understood. It says the rash move, upon coming across a fence, would be to tear it down without understanding why it was put up.
From G. K. Chesterton himself:
There exists in such a case a certain institution or law; let us say, for the sake of simplicity, a fence or gate erected across a road. The more modern type of reformer goes gaily up to it and says, “I don’t see the use of this; let us clear it away.” To which the more intelligent type of reformer will do well to answer: “If you don’t see the use of it, I certainly won’t let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.”
Making good decisions, therefore, requires understanding past decisions. Without knowing how things came to be, it’s easy to make things worse.
How many times have you looked at a system, a piece of code, a business process, then raised an eyebrow and thought: “Why on earth was it done this way?”. It’s easy to jump to conclusions of incompetence, but with a bit of empathy and curiousity you will likely find there’s a reason why.
Oftentimes there is a reason, and a good reason, that is not initially obvious. Maybe they already tried things the suggested way but discovered some usability issues. Maybe there are legal requirements that restrict how things can work.
Sometimes there is a reason, but not a great reason. A deliberate, suboptimal decision made due to time pressure is a classic example of this. Or, upon questioning of a suspiciously complicated looking system you may find that it relies on an old, proprietary, closed application that severely limits what can be done, so instead the team were forced to build a Rube Goldberg-esque monstrosity to work around its limitations.
There might be a reason you shouldn’t make your change. There might be added context that informs an even better change. There might be a piece of information that prevents you heading down a path and wasting hours, days, weeks! The important thing is that only once you know the why and how can you make better, more informed decisions.
Of course, there are some cases where, for whatever reason, we just can’t work out why that fence exists! For this we can use the Scream Test, which says simply:
If you see something and you don’t know what it does, remove it and see if anyone screams.
Old G. K. Chesterton may not be too pleased with you, but as with all good principles his Fence is best followed as a guide rather than strictly enforced.
A few words on the Scream Test. Use it sparingly, as a last resort, and only on small, low risk changes. Listen hard and be ready to put things back fast if you hear a scream. And probably avoid it completely for any large or high risk scenarios.
History tells us that knowledge of the past helps create a better future. Similarly, knowledge of past decisions helps us make great future decisions. So be curious. Be humble. Ask why. Ask how. Seek to understand, to comprehend, to know. Remind yourself “there probably is a good reason”. Save yourself from that pit of crocodiles by finding out before you remove that fence.