But why do we do this?
What do you do when you run into code that apparently serves no purpose? Do you immediately expunge the code?
Also, what do you do if you have to follow some organizational process that appears to make no sense? Do you just eliminate the process?
Take a deep breathe and read the story of two towns.
A tale of two towns
Imagine two towns with differing cultures located some distance apart. The most striking difference is how they put on their clothes: the people of bottom-garment-town always start with their lower garments while the inhabitants of top-garment-town always start with their upper garments.
One day Sege Oni-Gragra, the bottom-garment extraordinaire, visits top-garment-town. Unsurprisingly, he finds their approach to wearing clothes inferior; he can’t even understand why anyone would wear their upper garments first! Why would you expose your legs for a few seconds in the seclusion of your home?
Sege, as boisterous as ever, starts his campaign of change. He viciously criticizes the people of top-garment-town; so much so that an irate mob surrounds him and expels him in no time. Sege’s vituperations and vitriolic attacks are seen as an affront to their heritage; consequently, an emissary – ambassador gbayi, is sent to bottom-garment-town to lodge a complaint about Sege’s bad behaviour.
Ambassador Gbayi, in turn, is shocked to see the bottom-garment put on their lower garments first. How could anyone do that? Why would they leave their heads uncovered? Didn’t they know it was the most important part of the body he wondered? Gbayi realized the issue was much more delicate so he set up an arbitration meeting involving representatives from both towns.
Let’s involve the elders
The meeting began in earnest with each party bringing about convincing arguments for their views. It raged on and on and just as it appeared to be reaching an impasse, the venerable sage oni-Suuru appeared. The sage had lived in both cultures and knew their founding fathers. Sage Oni-Suuru calmed both parties and explained their history to them.
Top-garment-town had nasty insects that loved to feast on arms so it made sense for the first settlers to put on their top garments first to guard against this. Similarly, bottom-garment-town had feet-feasting insects so the founders protected their feet by putting on their lower garments first. Over time, these practices had become enshrined in the cultures of each town.
The sage concluded by explaining that the original reasons had become obsolete (the insects had been eradicated by new practices) and it was useless to fight over customs steeped in some outdated belief.
Chesterton’s fence
In the matter of reforming things, as distinct from deforming them, there is one plain and simple principle; a principle which will probably be called a paradox. 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.”
Before you make that change
If you want to bring about change; at least strive to understand how and why people do things the way they do. If not, you might be making a big mistake and miss out on some context.
Each town (environment) comes with its own unique characteristics (requirements) which put constraints on clothing (development) style. Once the the back story is known, it’s easier to implement changes.
Before deleting that piece of ‘useless’ code, try to understand what purpose it originally served. Once you know why it was written, then you can go ahead to delete it if it has truly become obsolete. Don’t be surprised to find that it might still be needed!
Are you driving for huge changes in your organizations? Consider Chesterton’s fence too before you implement radical changes.
Don’t be like Sege Oni-Gragra, be like the Sage Oni-Suuru instead.
Terms
- Oni-Gragra is a Yoruba word that comes close to an impulsive person
- Oni-Suuru is also a Yoruba word meaning a patient person
This is very educative. The takeaways for me are: Absence of evidence is not evidence of absence. We should humbly assume that there’s potentially a reason for how things are, until we can prove otherwise. And this applies way beyond the sphere of software development. Thank you for a well written piece.
LikeLiked by 1 person
I like the way you put it: “Absence of evidence is not evidence of absence”. Thank you for sharing.
LikeLike