So you want to conquer mount technical debt?
Many successful companies have crippled under the mountain of debt they have incurred. But it’s not traditional monetary debt. We’re talking about technical and legacy debt. This ambiguous term shares many similarities with the all-too-well-known traditional debt and, just like borrowing money from the bank, unless you are aware of it and have an actionable plan to pay it back relatively soon, you’ll eventually land up repaying the costs incurred with interest – and interest isn’t cheap.
If you’re wondering if this is knocking at your door, or know it is and are unsure of what do – BBD, as a software development specialist firm, can help you conquer the mountain.
What is technical debt and what causes it?
“Technical debt, also known as design or code debt, is a metaphor for the ‘cost’ incurred by a business on future development when software is either produced sub-optimally and very rapidly to satisfy customer needs, or is simply no longer effective,” explains Tony van der Linden, BBD’s head of the Research and Development team. He goes on to say that the term is often used to describe several underlying reasons for maintainability decreasing over time. These include concepts such as modularity, re-usability, analysability, modifiability and testability.
“In a perfect world, you would have all the time to design and develop new applications and functionality, but chances are this is not the case. We live in a world that is dominated by fast-evolving technology, where keeping up to date is a matter of necessity more than luxury.”
New ways of working allow us to respond to change and deliver constant value. At this pace, the need to focus on quality control is vital to limit inadvertently allowing technical debt to increase. Van der Linden explains that it’s in this space of rapid development you often find a prerequisite to provide upfront mitigations and to plan for the occurrence of technical debt and overall maturity level as they are related to production readiness. SRE capabilities and prompt technical debt payback are advised to deal with the potential debt before it solidifies.
Perhaps you are under time pressure to release certain features to market and can hold off on others, or perhaps necessary shortcuts were taken to allow for your product to enter the market first. “Eventually, additional work will be required to complete or redo development in future, ultimately resulting in further expenditure.” This means that your technical debt would accumulate from this point onward and could scale out of control if proper planning is not put in place prior.
However, a quick turnaround time isn’t the only cause of technical debt. Some other causes include:
- Modules that are written in technology that have become outdated. These modules will often need improvements that eventually cannot be made on outdated technologies, or will become more time (and resource) intensive to upgrade.
- Not partnering with the right company that does not follow development standards and best practices, resulting in rework.
- Software licences that expire. If the software is not regularly updated, future costs will be inevitable due to software weaknesses and critical bug fixes down the line.
- In-house outdated skillsets due to technology progressing at a rapid pace.
- Ageing hardware and infrastructure.
When it comes to the careful balancing act between delivering quickly and producing sustainable solutions, BBD has your business covered. With 35 years’ experience in the software development space, our ultimate goal is to empower your business through innovative technical solutions.
BBD’s knowledge of industry-standard best practices and using the right methodology for your entity, ensure our teams are equipped to respond to scope and project changes accurately in order to avoid potential downfall later. With IT specialists constantly developing their skills, BBD ensures that we stay at the top of our game and future tech developments. “We believe that each unique project landscape requires a unique solution and often there isn’t a one-size-fits-all approach,” states Van der Linden.
BBD’s guide to tackling mount technical debt
It’s important to note that technical debt is not necessarily a bad thing when managed correctly; however, unmanaged technical debt is. “Not knowing what you’re getting yourself into, or simply letting your technical debt grow beyond the ability to recover, will get you into trouble. Quickly.”
With that in mind, here’s BBD’s guide to tackling technical debt:
Step 1: Know the altitude of your debt
“The first step is to spend some time understanding how much technical debt your organisation is in and the time you will need to get on top of it.” This can be achieved through assessments on your company or to find out what is still outstanding that needs to be optimised and how long it will take to fix.
This is often easier said than done and is often easier with someone to help guide you along the way. “One of BBD’s offerings is to run a technical health assessment to accurately assess your software and hardware set up. This allows us to fully understand your position and put together the perfect expert consultants that can help you strategise a workable solution going forward.”
Step 2: Align and conquer
Once you fully understand the extent of your technical debt, you have various options available on how to start moving towards reducing this debt. Van der Linden explains that some of these strategies include:
- Prioritisation, starting with the high priority debt items first – a technical triage, if you will. This will allow you to get the important items out the way first, so that you are not caught off-guard when the matters become even more pressing.
- Fixing the code that will be quickest to fix. Sometimes starting with the quickest fixes allow you to wean out the smaller hurdles, so you can focus your time and effort on the bigger challenges without interruptions.
- Updating any outdated software and/or hardware, as well as streamlining processes to remove the need for dependency on old platforms and/or applications that form part of your technical debt.
- If you are using an agile methodology, consider adding all technical debt items to the product backlog.
- If your technical debt is future-based, identifying this early and addressing these concerns upfront with a calculated plan will allow for minimal impact down the line.
The key to technical debt success is building an effective business strategy to align to. Using the correct technology and technical architecture to realise your business strategy is BBD’s forte. Based on the information gathered throughout your system’s technical health assessment, BBD works with you to devise a digital strategy that harnesses the power of emerging and existing technology to help you get the best out of your business, realise your business strategy, and get a handle on your technical debt.
Step 3: Hook the anchor and adjust the rope
Technical debt comes in all forms and shapes, from outdated software and processes to badly written and unmaintained code. “The irony is that technical debt is often caused by the ever-evolving nature of technology and the need to keep your competitive edge alive. The challenge is to balance the debt with the necessity to keep your software current.” It is important to remember that ignoring technical debt will not make it go away, but rather end up costing you even more in the future.
The goal is to minimise technical debt early on so that you can reduce risk, improve time-to-market and deliver best-in-class results in today’s competitive economy. Van der Linden concludes by stating: “The best way to reduce the effects of technical debt in future projects is to include it in the discussion early on. Not only will you be able to account for the impact it is going to make in the short term, but also create an efficient and reliable plan to pay it off from the get-go.” Remember, just like financial debt, technical debt gets more expensive the longer you have it. So the quicker you can ‘pay’ it off, the less debt you would have incurred.
If you’re dealing with large technical debt, would like to rid your organisation of inefficient processes, technology and mindsets, or are planning future developments and want to plan accordingly, BBD can help you summit the mountain ahead of you, instead of rolling in an inevitable avalanche.
A provider of custom software development and application design solutions, BBD’s 35 years of technical and developer expertise spans the financial, insurance, telecommunications, education and public sectors. BBD is an international custom software development powerhouse employing over 800 highly skilled, motivated and experienced IT professionals. BBD is 51% black-owned and a level 2 B-BBEE partner, with a 125% B-BBEE recognition.