Technical debt is a well-known issue in the software world, but it is becoming increasingly top of mind for banks—particularly banks undertaking a cloud transformation. Deciding what to do about tech debt usually involves an analysis of the tradeoffs between different approaches.
What is tech debt?
Tech debt occurs when either:
1. Software products are launched before they are fully debugged and do everything they were intended to do, with the intention of getting them into operation quickly and fixing the minor problems later; or
2. Software becomes outdated and doesn’t work well with more advanced systems, so “quick and dirty” workarounds are implemented to avoid starting from scratch with a newer version. Software that isn’t actively managed can quickly accrue this type of debt.
Comparing tech debt with financial debt, you can imagine the faulty or outdated code as the principal that needs to be repaid eventually. The tech debt is the interest—the growing cost of working around and patching up the old code—that keeps adding up as you delay the repayment. The longer you wait to pay off your debt, the more you end up paying in the end.
Banks know that they need to update their technology regularly, but because they need to do this without taking their system offline, it is a complex process and the costs can be huge. A major upgrade costs not just money but staff, time and focus—all of which are in short supply in many banks. As a result, they tend to put off these necessary updates for as long as possible. Many banks would rather prioritize the development of new products that could generate revenue quickly, rather than spend the time and money to fix the issues causing tech debt. In the meantime, they either make do with their old systems or patch them up using temporary solutions.
The cost of tech debt
We surveyed 148 banks that are migrating to the cloud, about how product debt / tech debt affects them.
What happens when banks accumulate tech debt?
The longer tech debt is left to accumulate, the more expensive and complicated it becomes to correct. Also, as tech debt spreads throughout various systems and business units, the business becomes less competitive, slower, and more vulnerable to security risks.
Some of the main problems than can arise with tech debt include:
Inhibited innovation and new product development: Tech debt leaves the bank’s developers without the latest tools to create cutting-edge products. It also slows the product cycle because legacy code is likely to create bugs and make robust testing more difficult.
Customer dissatisfaction: When tech debt affects customer-facing products like mobile banking apps, customers may be unable to complete their transactions or might find the app too slow. Tech debt in the back end can also cause customer frustration if it slows the bank’s processing of credit applications and other time-sensitive operations.
Ballooning costs: When the costs of maintaining software are not regularly budgeted for, the result is a much larger one-time expense when all of this work must be done within one year’s budget, perhaps with great urgency.
Security risks: Banks know that constant vigilance is required to keep their data and systems secure against cyber attacks. Code that is patched incrementally over time (or worse—ignored) can leave a bank more vulnerable to attack.
Talent loss: Banks with significant tech debt create a more challenging work environment, both within their DevOps team and throughout the bank. Developers are less likely to be attracted to a workplace with outdated and buggy software, because they will be spending more of their time fixing problems than working on exciting new projects. In other parts of the bank, poorly functioning systems are likely to frustrate staff and accelerate burnout and turnover.
Can banks use AI to battle tech debt?
“The real holy grail in banking will be using generative AI to radically reduce the cost of programming while dramatically improving the speed of development, testing and documenting code.”
– Mike Abbott, Accenture Global Head of Banking
Generative AI is shaking up many business functions, and software is no exception. In 2021, GitHub Copilot was launched as an AI-assisted tool for writing code. Amazon has since followed suit with its own tool, CodeWhisperer. Using these tools, some development teams have substantially reduced the time it takes to generate new code by having AI generate the first draft. In one GitHub experiment, coders using Copilot completed a programming task around 55% faster than coders without Copilot. While programs will still need to be reviewed, debugged and tweaked to fit the user’s exact requirements, the up-front time savings could reduce the investment needed to address tech debt and accelerate timelines. However, questions remain about who owns AI-generated code, and about liability related to errors in it that affect the end user. Gen AI coding tools can be an inexpensive way to get through a large amount of work, but as with any new software, the resulting code should always be carefully reviewed and tested before implementation.
What can banks do about their tech debt?
Many banks are now facing significant levels of tech debt, which have become increasingly apparent as those banks orchestrate their plans to move operations into the cloud. Banks are generally looking at their options as a tradeoff between two priorities:
1. Prioritizing modernization by settling their tech debt as soon as possible so that they don’t bring it into their new cloud infrastructure.
2. Prioritizing speed to the cloud by temporarily carrying their tech debt into the cloud so that it doesn’t slow down their move.
Let’s look at the benefits and drawbacks of each approach.
Prioritizing modernization: benefits
- Tech debt is cleared away thoroughly so that the bank can start with a clean slate.
- The bank gains the tools to be more innovative and get cutting-edge products to market more quickly.
- Banks can build a better defense against security breaches because legacy software is eliminated.
- Top talent may be attracted to the bank because they will be working in a debt-free cloud-first environment that supports more agility and innovation.
Prioritizing modernization: drawbacks
- Clearing away tech debt can significantly slow the progress of a cloud migration because more work needs to be done up front.
- Modernizing everything at once will increase the initial expense of cloud migration.
- This approach may increase the amount of disruption, or perceived disruption, during the migration because legacy systems will disappear. Training and up-skilling of staff will be more critical.
Prioritizing speed: benefits
- The bank can realize the value and cost savings of cloud more quickly.
- Cloud-only applications can be implemented sooner.
- The flexibility and scalability of cloud will be available to the bank as it tackles tech debt.
- Current staff will have more time to adapt and up-skill.
Prioritizing speed: drawbacks
- Tech debt continues to accumulate for longer, increasing the overall cost of addressing it.
- The bank may migrate problematic software, such as programs with security vulnerabilities, into its cloud-based systems.
- Older software and applications may not work as well within the new cloud framework.
What approach should your bank take?
There is no one-size-fits-all solution to tech debt. Instead, it is critical to understand the tradeoffs and how they affect the bank’s business goals. Tech debt conversations should be part of any cloud strategy planning.
We work with banks to determine the extent and cost of their tech debt, which functions can be most easily updated and moved to the cloud, and how to resolve their remaining tech debt so they can meet their goals for cloud migration.
To discuss your bank’s tech debt and how to address it during your cloud migration, contact me. To learn more about the many factors to consider during your bank’s cloud journey, be sure to keep reading our latest research in the Banking Cloud Altimeter.