A CTO’s guide to legacy software modernization

Punchcard-Systems
Punchcard Systems’ Estyn Edwards breaks down the best way to keep your tech stack tight.

Small Business Week is here, and BetaKit is presenting a series of “How to” explainers focused on some of the top startup issues and pain points.


Estyn Edwards has seen too many organizations stretch the life of legacy applications until the cost of maintaining them outweighs the benefits.

At digital transformation firm Punchcard Systems, he has spent more than a decade working with companies wrestling with their own tech stack because they haven’t moved fast enough. 

“If you want to be innovative, you need to spend that time on modernizing.”

Estyn Edwards, Punchcard

“Every dollar that you’re spending on legacy application maintenance, is a dollar you’re not spending on growth,” Edwards said. “So if you want to be innovative, you need to spend that time on modernizing.”

The sunk costs of bad software are not to be underestimated.

According to a McKinsey survey from 2020, CIOs reported that 10 to 20 percent of the company budget that is supposed to be dedicated to new products is being diverted to resolving existing software issues. 

In a recent conversation with BetaKit, Edwards outlined six rules that help companies modernize their tools without derailing their day-to-day operations.

Know when it’s time

There are three clear indicators that modernization can’t be put off any longer, according to Edwards:

Estyn Edwards
Estyn Edwards, Co-Founder and CTO at Punchcard Systems.
  • If developers are spending more time fixing bugs than building new features. 
  • When release cycles drag from weeks into months. 
  • And when aging systems are creating notable security gaps.

All of these situations require a software upgrade, Edwards said, as the potential business costs outweigh the price of upgrading.

“If you’re in a modern stack, you can innovate quickly, pivot, take risks knowing you can recover,” Edwards said. “It’s much better for most organizations to be able to release something, say, weekly and get feedback, and use that feedback to steer the direction, as opposed to every month or two months, getting a big change and then having to turn the ship.”

Map the implications early

Many leaders make the mistake of targeting the noisiest problem for an upgrade without thinking through how it will impact other systems.

When Punchard works with a company, they start by mapping every application and its dependencies across a business to understand how the system works as a whole.

Only from there can leaders properly weigh the risks of your current state against the potential business value of an upgrade, said Edwards.

A modernization strategy that ignores either piece could burn resources without solving the real problem, he added.

Understand your options

Once leaders recognize what needs to change, the question becomes how far to go. Edwards said companies must choose between the “six R’s:” rehost, replatform, refactor, rebuild, retain, and rehire.

At one end of the spectrum is rehosting, the classic lift-and-shift that moves an application into the cloud without altering its code. This may reduce risk quickly, but it doesn’t fundamentally improve the system’s agility.

Replatforming goes one step further by adjusting applications to take advantage of managed services, like Azure or AWS. With better scalability and monitoring, organizations gain a stronger foundation while still avoiding deep code changes.

Punchcard-Hackday
Twice per year, Punchcard Systems holds Hack Days, where team members from different departments work on an experimental project.

Refactoring, on the other hand, does involve significant rewriting. Companies may, for example, break apart monolithic applications into microservices that can evolve independently.

Sometimes, Edwards said, the best move is to retain certain applications as they are in order to focus resources elsewhere, or to retire unused systems outright.

Choosing among these options depends on both the severity of the risks an organization faces and the business value each application provides.

Rehosting “is purely upgrades and reducing your risk,” Edwards said, noting that refactoring or rebuilding “not only does that, but also changes your ability to innovate and move forward quickly.”

Modernize without mission creep

One of the biggest risks of a modernization project is losing focus. Edwards has seen upgrades  stall when organizations decide to tack on new requirements midstream, and turn what should be a migration into a total reinvention.

The key to avoiding this, he said, is to move incrementally. “Eventually, your time to market and your release cycles should go from months to weeks to days,” he said. 

Automate the drudgery

And AI can now help make incremental steps faster and less painful, he notes. In the past, many teams had to guess at the business rules embedded in the code of legacy systems that had little to no documentation.

Punchard often uses AI to look at the system and surface those rules, saving time and avoiding a lot of trial and error. In a recent project for a utility company, Punchcard trained a custom AI to recognize coding patterns in a piece of software they were upgrading and cut conversion time dramatically.

“It wasn’t magic—there were still lots of problems and friction, and developers still had to do a lot of work,” Edwards said. “But it took out a lot of that drudgery work that people hate doing.”

Stop paying interest on old tech

Modernization is best understood as a business investment, not an engineering project, according to Edwards.

Technical debt is equivalent to financial debt, he said, because every dollar spent propping up an old system is one lost to growth and innovation. 

“This accrues interest,” he added. “If you’re not paying down the capital, you’re just going to fall further and further behind.”

“Almost all areas of business these days are somewhat related to technology,” Edwards added. “So you need to make sure that your technology is at least on the cutting edge, so that you’re able to move quickly and adapt to changes in the market.”


PRESENTED BY
Punchcard Systems

At Punchcard Systems, we partner with scale-ups and midsized enterprises to build custom software that impacts the metrics that matter. Learn more.

All photos provided by Punchcard Systems.

0 replies on “A CTO’s guide to legacy software modernization”