Chapter 16. Make It Never Come Back
When solving a problem in a codebase, you're not done when the symptoms stop. You're done when the problem has disappeared and will never come back.
It's very easy to stop solving a problem when it no longer has any visible symptoms. You've fixed the bug, nobody is complaining, and there seem to be other pressing issues. So why continue to do work on it? It's fine for now, right? No.
Remember that what we care about the most in software is the future.
The way that software companies get into unmanageable situations with their codebases is not really handling problems until they are done.
This also explains why some organizations cannot get their tangled codebase back into a good state. They see one problem in the code, they tackle it until nobody's complaining anymore, and then they move on to tackling the next symptom they see. They don't put a framework in place to make sure the problem is never coming back....