Occam’s Razor states that the simplest solution is almost always the best. But sometimes it isn’t.
In technology, often what seems to be the “quick and dirty” technical solution can be the beginning of a long, frustrating, and expensive journey to achieve what you want. In software development terms this is known as technical debt.
Technical debt (also called design or code debt): “…reflects the implied cost of additional rework caused by choosing an easy (limited) solution now, instead of using a better approach that would take longer,” according to Wikipedia.
And, just like when you owe money, if the debt isn’t paid off, then the interest on it grows. Changes required to the “easy” technology you installed that are not completed are considered debt, and until paid, will incur interest on top of interest, making it cumbersome to build new projects.
According to The Software AG Situation Report 2022, 78% of companies took on a little to a great deal more technical debt last year. Some of this was built up over time, as their infrastructure became more complex, and some was deliberate as a way of capturing specific opportunities.
Good and bad technical debt
But how it’s accrued can have a significant bearing on whether it’s good or bad debt. Technical debt that’s the result of minimum viable product (MVP) projects, launching the product at 80% capability for instance, has high potential to be good.
How the outstanding 20% is handled determines if it’s good or bad. If it’s something intentionally left for later in the original development, with a plan to address it, it can be good. If it’s left to fester over time, a number of factors can turn it bad. For example, new digital standards or regulations arising, or simply the transformation of your business, can complicate IT infrastructure and operations. The quicker your company transforms, the faster some of this dormant debt can emerge.
So, what drives companies to take on technical debt? As Sheryl Sandberg once said: “Done is better than perfect.” This philosophy is driving many companies today – who are rushing to enable hybrid working, shift sales online or operate remotely – to take on technical debt.
Drivers of technical debt
The pressure to digitally transform due to the Covid-19 pandemic is an overarching theme, and may have prompted much of the technical debt that was taken on in the past couple of years.
Companies needed to move systems into the cloud to remain resilient. Integration, process mining and RPA were must-haves to gain operational efficiencies. Internet of Things (IoT) projects blossomed when companies realized they need to remotely monitor and control assets, as the pandemic created hurdles to human intervention. Hyped new technologies such as 5G, blockchain and artificial intelligence were snapped up, with hopes they could help “solve” new problems.
More than half of the respondents admitted that it came about when they were forced to act quickly on something. This can lead to buyer’s regret. Often if you take on a quick-fix solution, you create more problems than you had to start with.
Managing technical debt
But technical debt is not always a bad thing, and all these technologies, and more, remain in the must-have list for 2022 and beyond, so the debt incurred must be assessed and managed. Although it’s a challenge to deal with, the fact that organizations feel it’s vital to key initiatives, that it’s a benefit in various scenarios and that it’s inevitable as part of their future investments, the key question companies should be asking is: “How can we manage it?”
The encouraging news is that 82% of companies feel that they can assess some or all of their technical debt. The bad news is that 58% don’t feel that they have a formal strategy in place to manage it. This should be high on the agenda for every company.
Using architecture management tools can help to understand, from a platform/infrastructure level where there might be systems that negatively impact the whole organization. Perhaps they don’t integrate, they don’t handle certain data accurately. Or perhaps they’re simply very slow and/or overloaded by the volume of demand. These are typical signs that technical debt exists and needs to be resolved.
Technical debt is here to stay. In my next article, I will discuss how it can be managed effectively.