You’ve finally made the decision. You’re going to stop using that legacy library or framework and start using a new one that fixes all the problems you had with the old one. Exciting times! What’s your transition plan? Are you just going to ignore the existing code and work on the shiny new stuff? Are you going to replace everything that used the previous tooling before you start on anything new?

If you’re doing one off projects then it’s fine just to stop using the old tool and start using the new one. Nobody is going to be changing the shipped code so there’s no need to worry about it.

For those working on longer term code, like a SaaS app, you need a transition plan. If you don’t get rid of the old dependency then you’re going to have to keep both the old and new ones up to date. This might be fine for a while but it’s duplicated maintenance effort and makes it harder to reason about the system. Every dependency has the potential to become unmaintained and prevent you upgrading the rest of the codebase. If you don’t have a plan for moving from old to new then you could end up having to do it in the middle of a bug fix, or some other time when you’re under pressure.

What old tools do you have hanging around your codebase? How much effort would it take to finish replacing them?