Discover more from Effective Software Testing
Stop the bleeding
If you work on a legacy system, you probably have questioned a technical decision or two there. However, most of these decisions were likely the best option one could take back then. We’ll always have to deal with technical decisions that were ok in the past but don't feel right right now. That's fine.
The worst type of technical debt happens when you have no way to “stop the bleeding”. Or if stop the bleeding has such a high cost that can't be done without a lot of planning and money.
If your architecture (or way of working) doesn't allow you to be able to branch out and say “from here on, we do this differently”, you are in trouble. Design your systems and processes so that you can keep your legacy alive without having to keep increasing the big ball of mud.
Many of the good decisions we make today may turn into bad ones tomorrow. Instead of striving for perfect decisions that stand the test of time, focus on making it possible to adapt to different approaches in the future.