Does your IT team spend hours every day dealing with your technical debt? According to one study, the average software developer spends a quarter of their time fixing bugs and maintaining legacy systems. Not only is that tedious for them, but it’s also a poor use of skilled resources.

Technical debt is a useful way of describing how companies handle custom software and other IT. It’s not inherently a bad thing, but if managed incorrectly, it can be a big drain. Let’s look at what technical debt is, and how you can reduce it.

What is technical debt?

The term ‘technical debt’ is a metaphor that was first used to describe the kinds of shortcuts developers might use when building software. It is a fairly flexible analogy, however, so it can be applied to a wider range of IT issues beyond just software development.

But let’s use the original software development sense of the term to illustrate. In an ideal world, developers would have endless time and money to build a perfectly functioning solution the first time around. Of course, that’s not how software really gets developed. Dev teams face time constraints building apps, they may not have all the required skills in-house, and customers just want something that works. In this case, the development team will use technical shortcuts to build a solution that’s ‘good enough’ – thereby accruing a ‘debt’. Later on, they will go back and build out the original code. In this way, they ‘pay back’ the debt.

Technical debt isn’t necessarily a problem. If you’ve planned for it, and have a schedule to fix any shortcomings, then all is well. The issue, however, is that technical debt doesn’t always get fixed fast enough – or indeed at all.

The technical debt metaphor is useful. Just like taking out a bank loan, the debt can help you ‘invest’ and reap the rewards from something you couldn’t have afforded otherwise. But of course, the longer you wait before paying it back, the more you’ll pay in interest.

For example, you might quickly spin up a customer booking system after spotting a new market opportunity. Time is of the essence, so it doesn’t have to be perfect at first. However, while your initial ‘quick and dirty’ booking system let you win market share, you now need to start paying back the ‘loan’. If the technology stays clunky for too long, then customers will stop using it and your IT teams spend too long fixing bugs and dealing with tickets.

What causes technical debt?

As noted above, there are many different kinds of technical debt – it’s not just around building brand-new software. Here are some of the many reasons a business might have technical debt:

  • Need for speed: Businesses develop apps, tools, or widgets quickly, which leaves various flaws and bugs in the system.
  • Mergers & acquisitions: When two companies join their IT systems together, they’re left with a lot of redundant or incompatible technology – this can be seen as a form of technical debt.
  • The wrong architecture: If time is of the essence, developers may choose an architecture that’s quick to build on, but doesn’t offer the flexibility needed.
  • Poor quality: Sometimes it just comes down to quality – the development team might not have had the right skills in the first place, or they simply hacked their code together.
  • Lots of legacy: Most large organisations have lots of legacy software that they depend on. Maintaining all of this is, arguably, a form of technical debt.

 

Power Apps: A new way to quickly build functional tools

 

The problem with technical debt

As noted above, technical debt can be a positive thing. If it lets you get a product over the line in a short amount of time, it can be very beneficial – not to mention pragmatic. But, like any debt, it needs to be ‘paid back’ as soon as possible. Otherwise, you’ll start to encounter problems:

  • Developers and IT teams spend hours each week fixing fundamental flaws with your tools
  • End users are frustrated by a technology that doesn’t work as well as it should
  • You might have to spend large amounts of time and money rebuilding the fundamentals of the app
  • There could be serious issues around cybersecurity, regulations, and data governance if an app or system isn’t well maintained
  • Your organisation is generally less flexible – especially if your technical debt is in the form of legacy IT

4 tips for addressing technical debt

Clearing your organisation’s technical debt isn’t always straightforward; there are usually complex reasons that make fixing certain apps or systems very difficult.

Still, the following four tips can help you in the right direction:

  1. Recognise technical debt for what it is

Technical debt isn’t visible in the same way that financial debt is on a balance sheet. In many organisations, fixing bugs or updating your 1990s mainframe is just seen as ‘how we do things here’. But this is all technical debt and is taking up a lot of your time and resources.

       2. Identify your technical debt

You’d be surprised by how many organisations simply don’t know what technical debt they really have. It’s important to find out where it is, and which systems are affected. The good news is that there are multiple technologies that can automatically assess your code to find weaknesses. And of course, ask your IT and dev teams – they likely already know what technical debt you have if they spend a lot of time working on it!

  1. Prioritize the debt

Clearly, you can’t fix everything in one go. Identify which code or legacy tools are causing the most problem, then address them first.

  1. Make more radical changes

Sometimes, technical debt is deeply entrenched – particularly if you have a lot of legacy software. In this case, you might decide to take a more radical approach. For example, if most of your IT stack is based on dated on-premises technology, a migration to the cloud might just offer a clean break.

Time to fix your technical debt?

Dealing with technical debt can quickly become a real headache for businesses, sucking up hours of employees’ time, causing frustration for end users, and reducing productivity for everyone. If your teams are spending more time than they really should dealing with technical debt, then it might just be time to address it.

Contact FITTS to talk about your technical debt, and how we can help you deal with it.