Technical debt can jeopardize the innovation and monetary success of your company. […]
A large number of companies have been forced to accelerate their digital transformation in the past 18 months. In a few cases, this was structured – in many others, the growth of digital application landscapes has created technical debts.
These, like all debts, must be paid at some point. In the case of technical debt, this is done by repairing or upgrading the application – or it is paid over time in the form of increased maintenance and support costs as well as lost business opportunities. This is what you need to know about technical debt.
As a rule, there are two ways to complete a task: either completely or partially, so that the result meets the need in the short term, but needs to be reworked at a later stage. In the latter case, technical debts are incurred because the necessary improvements increase the backlog of work. So, technical debt arises when you prefer a short-term, simpler solution rather than choosing a better one in the long run, which may be harder or more expensive to implement.
Figure 1 shows how a project is ideally implemented in full:
On the left side you can see the state of the project before starting. At this point, there is a planned project (blue field) and a backlog of existing, technical debt. After completion of the project, this backlog is reduced (see right side).
However, if a project is not completed completely – for example to save time or energy – the project process should look more like Figure 2:
This happens when projects are (too) quickly settled and additional technical debts are incurred. The starting position on the left is the same as in Figure 1. In this case, however, only as much work is invested as is absolutely necessary to achieve the goals in the short term. The net result is, as can be seen on the right: a project completed on a smaller scale and a much larger technical debt mountain.
In order to resolve technical debts, it does not necessarily only need code adjustments and refactoring. The infrastructure can also be a problem, so that it has to be switched to Cloud Native, for example. Technical debt can also have a negative impact on processes involving people and devices. These include processes and systems related to:
- Customer support,
- Order processing and
Shortening these processes can be just as expensive as getting rid of technical debt on a code basis.
Higher technical debt has a negative impact on a company in many ways:
- Technical debt can affect the ability to innovate and implement new ideas. It’s hard to try something new when you’re busy maintaining something old.
- Technical debt makes it more difficult to respond to market changes. It limits their ability to adapt and change – and thus their competitiveness.
- Technical debt can have a negative impact on talent management. When developers have the choice of either dealing with legacy technologies or innovating with their competitor, it should be clear what the choice is.
In general, outdated processes and systems can increase your total cost of ownership (TCO), as well as fulfillment and manufacturing costs, which in turn results in lost profits. Outdated technologies also contribute to employee frustration and ultimately lead to staff shortages. All this should not please investors and shareholders and ultimately lead to dissatisfaction among customers.
The most common reasons for (rising) technical debt include:
- Financial and personnel constraints that prevent making good technological decisions: When financial costs determine technological decisions, higher technical debts are often the result.
- Inappropriate timelines for projects: Too tight timelines lead to shortcuts being taken, which in turn leads to technical debt.
- Changing requirements: Project requirements that change during the course of the project often lead to inferior designs and increased technical debt.
- Bad decisions made by underqualified development teams: To avoid technical debt in the long run, experienced software developers are essential.
- Outsourcing critical development and decision-making processes to uninvolved parties: Those who are not stakeholders are more willing to accept higher technical debts in order to meet the requirements.
- Top-down management: An organization in which personal responsibility and employee empowerment are written in small letters is more willing to take the path of least resistance or to accept (lazy) compromises.
When it comes to technical debt, companies can’t always avoid making compromises. However, the corona pandemic has confronted many with the topic much more. Numerous industries had to quickly adapt their business processes in order to survive. The compulsion to make quick decisions to cope with the demands of COVID-19 required significant structural changes to backend applications, systems and processes. In many cases, there was no time to plan and evaluate in the long term – instead, the shortcuts that were needed were often taken.
This created a considerable mountain of technical debt within just a few months. Affected companies will need years to pay off their technical debts. Technical debt is one of the hidden, long-term costs of the global pandemic.
This article is based on an article by our US sister publication Infoworld.
*Lee Atchison is an expert in cloud computing and application modernization with more than 30 years of professional experience. He writes, among other things, for our US sister publication Infoworld.com.