Technical debt and the ways to manage it are frequently mentioned in the IT community, especially faced with the ongoing COVID-19 pandemic. We are here to clarify the meaning, examples, and possible strategies related to the current number one issue.
What is technical debt?
There are many projects marked by a technical debt (let’s call it TD). The flawless ones are a rare phenomenon. Each deficiency can be a part of TD – it’s like a mosaic. It could be caused by pieces of code written less carefully, unfixed errors in a code, using outdated software, and many more.
Some of the reasons are related to the team – its members may not be engaged in the task sufficiently enough, they may lack experience, etc. Software tests are also an important issue – sometimes they aren’t carried out frequently enough. They can be automatic, but many project owners don’t opt for this step as they choose cheaper but time-consuming manual testing.
However, time pressure and a strong will to save money are two main reasons for taking technical debts. Companies are keen on meeting the deadline and cost-cutting simultaneously. This is why programmers are told to cut corners and deliver their products on time. Consequently, technical debts can be found in their work results. One of the main disadvantages of this process is that it cannot be developed any further without overcoming the faults.
Possible negative consequences of technical debt
Let’s concentrate on the negative results of rising technical debt. For example, outdated software can cause serious damage to online security. The most recent cases include the websites of Polish politicians and private universities.
In 2020, a Polish organization dedicated to protecting online security published an official report. It was revealed that 1062 websites belonging to Polish politicians were vulnerable to cyber-attacks. The scale of a threat was undetectable in 65% of these cases.
It was caused by using old versions of Content Management Systems (CMS), mainly WordPress. Other errors concerned communication protocols and TLS certificates. We can put all these malpractices under the same label – technical debt.
As a result, administrators are vulnerable to loss of authorized data and content. It might lead to disinformation, e.g. on governmental websites. An intruder can publish anything to mislead recipients.
A similar situation happened at private universities in Poznań and Warsaw. They are owned by the same person and they share an infrastructure.
In April 2020, all users of the networks were informed that their passwords were reset. Universities have described the reason as a “technical failure”.
The situation turned out to be much more severe. Somebody has hacked into the system and encrypted all resources. The incident forced the admins to use backup data to protect the network. Fortunately, no confidential data was revealed. The reason seems familiar – outdated CMS (Content Management System).
The direct relationship between technical debt and COVID-19 pandemic
In October 2020, it was reported that official statistics of COVID-19 in England lack almost 16,000 confirmed cases. Public Health England (PHE) used Microsoft Excel to gather information from all over the country. The problem was clear – they were doing it in the outdated XLS format.
As the number of rows in a spreadsheet is limited, it was impracticable to register all daily cases in England in one file. Many of the English might have never been informed about their illness. In consequence, the fight against the pandemic has been slowed down.
We can hope that such incidents will open the world’s eyes. Responsible people are obliged to use the pandemic as a lesson to never neglect seemingly unimportant cases like updating the software.
Management of technical debt
The COVID-19 pandemic highlights the digitalization of our lives on an unprecedented scale. Some industries demanded a quick response to reality. The example for that is all applications realizing video conferences – new tools and features are being introduced so quickly that they cannot be refined.
It is important to remember that TD is not a negative activity in all cases. The idea needs to be well-organized and conducted consciously from the very beginning. The pandemic lasts for over 6 months, therefore we have gained the necessary experience to create a plan of introducing upgrades to the products.
Here are the main points of proper management of technical debt.
- CEO needs to build awareness of quality amongst the company members. Reaching the proper commitment is a milestone in coping with debt.
- All ongoing processes should be monitored continuously. Then, quick and efficient responses are possible in critical moments.
- Regular software product testing. The sooner they start, the more problems can be spotted in the initial phase.
- Application of good practices, such as creating technical documentation, pair programming, refactoring, regular code reviews, etc.
- Further training for all team members.
IT industry got used to technical debt. However, it is advisable to distinguish all strategies to overcome them. The cases reported in Poland and Great Britain prove that negligence may lead to serious consequences. We can notice it clearly during the COVID-19 pandemic. Technical debt can be taken, but it needs to be under permanent control. If you have any more questions, feel free to ask!