Ever more complex IT infrastructure, problematic code and neglected applications are all driving the rise in technical debt.
This problem must be overcome to drive enterprise success in a business era where adaptability and innovation will be key.
Technical debt results from developers prioritising speed of delivery over code quality as well as continued use of older code, languages and technologies. The result is weaker security, higher costs and complexity.
Nate Buniva, a partner at digital services firm West Monroe, told CIO.com: “We see a ton of tech debt from a code perspective. [Programmers] are erring on the side of speed and innovation, and they’re implementing code that isn’t QA’ed as well as it should be. That is creating issues down the road.”
Maximising cloud value
Although the cloud offers new and more efficient ways to develop and deploy applications, enterprises will not see the full benefit if they continue to rely on older, unmodernised code.
Time spent on maintaining and fixing old code limits resources available for innovation and digital transformation. As Josh Fruhlinger notes on CIO.com, a good measure of the technical debt is how much time development teams are spending on unplanned work.
CIOs can, however, reduce the impact of technical debt by adopting best practices and tackling the problem head on. Here are four places to start.
1. Acknowledge the debt
Enterprises should not see technical debt as a failure, but as a part of the normal software development process. Compromises, such as focusing on time to delivery rather than code quality, are inevitable.
So is technology change. Code that worked well for legacy systems will be less suitable for modern, cloud-native applications. The needs of the business and application functionality also change.
Updating an older application to add few features often results in less-than-optimal code and more technical debt.
2. Prioritise your applications
No organisation can fix all their technical debt at once. CIOs need to prioritise. For some applications, updating and fixing code is possible. For others, it will be a question of keeping the application “as is” and freezing further development. Then there will be the applications that need to be replaced.
“Sometimes the best way to reduce it is to be honest about whether certain functionalities are worth continuing to invest in,” says Syed Hoda, innovation leader at AWS. Debt reduction needs to go hand in hand with feature development, he adds. Quantifying and tracking technical debt will help here.
3. Remediation
Technical debt can be reduced. Once technology teams have set their priorities, they can set out how. This might include moving to cloud-native technology and containerised applications and a greater use of web services. Or organisations might choose to “refactor” their code, moving applications to newer languages so they can make use of modern infrastructure. AI is increasingly helpful here.
4. Prevent new debt
No organisation can prevent the build-up of technical debt. But they can limit and manage it. Well-structured processes for software development and quality control are essential.
And application modernisation should be built into development plans. As a rule of thumb, developers should allocate 20% of their time to technical debt reduction. And it is usually better to tackle technical debt as you go, rather than at the end of a project.
Lastly, enterprises should look at the features their platforms offer to manage and cut technical debt, including replatforming, refactoring and moving to modern standards.
