Leaving a legacy is not always a good thing in tech

By Chris Pont, IJYI
Legacy is a word often used in the technology sector. Terms such as legacy components, legacy code and legacy infrastructure, refer to things that were implemented in the past but cause problems now.
Published in Suffolk Director magazine, Summer|Autumn 2022
Never Miss A Copy
Sign up now to receive for free the latest magazine as an e-publication

Software Development: IJYI

These may no longer be supported, the company may not have the expertise to maintain them, or they may not be compatible with the rest of your toolset.

Technical debt may not be a term you’ve heard before if you’re not in the software sector. It was coined by Ward Cunningham (one of the 17 authors of the Agile Manifesto – something I’ve spoken about here before), and he used it to explain why ‘resources needed to be budgeted for refactoring’.

He was trying to explain that as a system develops, compromises are often made, usually due to time constraints. These compromises aren’t necessarily bad, but they come with a burden until that debt is repaid. Ward was fond of the term “debt” in finance terms as a metaphor, as he explains…

“With borrowed money, you can do something sooner than you might otherwise, but then until you pay back that money, you’ll be paying interest. I thought borrowing money was a good idea; I thought that rushing software out the door to get some experience with it was a good idea, but that, of course, you would eventually go back, and as you learned things about that software, you would repay that loan by refactoring the program to reflect your experience as you acquired it.”

The Impact

Software is often a moving target. Whilst something may be deployed that’s cutting edge, it will become out of date quickly. Operating Systems, Frameworks (such as .NET, Java, Node) and packages (i.e. for database access) get patched and upgraded. Windows gets patched at least once per month.

When referring to technical debt, we sometimes talk about ‘paying interest’. If something hasn’t been built optimally, if a platform upgrade is put off, or if we decide to put off documenting a process, then we may suffer a performance hit, or a security hole. Therefore, we should assess the risks and look at the costs to remediate and weigh it up against other priorities. We’re paying interest on the debt until it is paid off. For companies that rely on technology, this debt is very real. Company valuations, investors, etc., will want to understand the level of technical debt owed, and when that debt must be repaid.

Debt Management

Keeping tabs on this legacy often comes in the form of a technical debt log. This log should be owned by the project manager, who is also best placed to put measures in place to pay the debt down. Items should be prioritised by impact, severity and information about what happens if the item is left unresolved.

At IJYI, we’ve run assessments for many clients to help give a third-party perspective, on how this could affect a platform going forward, and to create and prioritise a technical debt log. We can also give an idea of the cost and time impacts to remediate.

Leaving a legacy is not always a good thing in tech 1

Chris Pont is Chair of IJYI Ltd.

E: chris.pont@ijyi.com
Or visit www.ijyi.com

Table of Contents

Passion. Collaboration. Success.

Agile by default, we work collaboratively with your in-house teams to fully leverage technology for your business.

Share This

SIGN UP

WHEN RELEASED WE WILL SEND YOU THE latest digital version.