The amount of existing investment made in a software product often puts us off from continuing to support it. Instead, encouraged by a new generation of excitable techies, we decide to rewrite it.
And six months or a year later you’re not only supporting the old system, but you’re also supporting a new system and neither of them is quite what you need them to be.
This is the sunk cost fallacy, fallacy. You had an idea that replacing what you had would somehow be a magical solution to all of your ongoing support and staffing issues.
These are some of the other lies that we tell ourselves, thinking that they will solve all of our problems:
- It will be microservices
- It will be Kubernetes
- It will be fully decoupled, easier to deploy
- It will be a destination for engineers who will flock to work on it
- We will open-source portions of it
- We will become a platform for the rest of the business to re-use
- We will finally be able to retire the monolith
Be tougher on the new solution than you think you need to be. Be tougher than you are on the old one. Ask yourself, do we even need to do this work? And if so, why now?