Space junk is dangerous. They can rip through solar panels on satellites, leave holes on the wings of space shuttles, and penetrate space-walking astronauts at ten times the speed of bullets. The opening scene of Gravity (2013 film) has done justice to their destructive power.
But the initial impact is not nearly as dangerous as the chain reaction it triggers: the collision generates more high-speed debris causing more collisions that generate even more debris. The chain reaction will eventually stop when there is nothing left for the debris to collide into, but the entire area becomes a “death zone” where spacecraft can no longer travel through.
Despite the ever-increasing amount of debris, the human actives that generate the debris won’t stop. So at some point in the future, the Earth becomes surrounded by a cloud of debris so dense that space exploration falls into a downward spiral — the chance of a spacecraft being destroyed by the debris will be higher than that of survival, and the destruction only generates more debris, further decreasing the survival rate for future missions. This is known as the Kessler syndrome. It is the point of no return.
But what’s the link between space junk and software development?
A thought experiment. Picture your code base as the Low Earth orbit. Your bugs, hacks, compromises, temporary workarounds, cryptic code without comments are the “debris”. Despite the ever degrading code base, the coding actives that generate the debris won’t stop — you demand new features with the utmost urgency but never want to change or remove old ones. You hoard legacy scenarios like a filthy grandpa, saying discontinuing anything would disappoint your existing customers.
You leave your developers no choice but to continue launching more rockets into the “death zone”. Each new pull request is surely a head-on collision. It introduces more hacks, more bugs, more layers of adapters, more cryptic functions that require all developers who previously touched it to sit in a room for a whole week to decipher and review. You are experiencing the Kessler syndrome. Late stage.
And yes, you have hit that point of no return.
When challenged by others, you say you are obsessed with customers and swear you would never break their habits. But I say you are abusing your customers by withholding them from what they actually need, despite what they say they want.
You are also paralyzed by fear. You shy away from any risk that comes naturally with a meaningful progressive change. Henry Ford breaks his horse-riding customers’ habits by giving them the model T. Steve Jobs breaks his keyboard-fumbling customers’ habits by giving them the iPhone.
Exceptional, disruptive, visionary leaders run a company on courage. You run your team on fear. Fear for risk. Fear for change. Fear for slowing down to build things the right way. Fear for seeing any sudden turns in your social media sentiment curve. Fear for losing your users after a bold redesign.
It’s only a matter of time a risk-taking habit-breaking competitor will annihilate your business with superior user experience. Good luck winning that competition with your legacy crap.