Are you in debt?
In the same way we have different types of financial debts, we have different technical debts.
One example is when running an unsupported version of an ERP system on unsupported infrastructure. You can’t just upgrade anymore, as it’s gone to long time since you did it before. This is a more manageable debt to pay, as your only option is to get an new updated ERP-system. E.g. tearing the house down an build a new one instead.
A much worse scenario is when you have a legacy COTS solution, with lots of custom development. A typical example is SAP R/3 where you often made additions that made it very difficult to upgrade to new versions. Here, the complexity of custom code with a COTS solution adds a lot of debt, making it much harder to repay.
The third scenario is when you are in control of you debt, or at least think you are. If you have the source code and developers, then it should be easier to manage the debt. In some ways, yes, in some ways no.
One issue is that you will be forced by the business to maintain the software forever, because you can. The other issue us that you often focus on small changes to support the business, but never have the time or resources for a architectural refactoring. The cost of replacing the old legacy compared to the current running costs is much much higher, making the business move such decisions into the future forever.
What kind of debt does your organisation have?