Legacy systems often present a conundrum. They're old, not even nearly the latest tech, but they do a job and maybe even do it well. So should they just be left in peace, to carry out their duties well into their twilight years? Faced with a costly modernisation rewrite, it's easy to argue yes. But is it a false economy? Taking a deeper look at the wider situation often shows the true cost of legacy systems:
That "hero dev" who is the one person who can fix it when it falls over, who all sprint tasks that so much as look at the legacy system are assigned to, creating a bottleneck in development work, not to mention a key person dependency risk.
The aging infrastructure that is needed to support this relic. Whether it's running on its own Windows Server 2008 box that IT is too scared to even reboot, or built using .NET 2.0, legacy systems have legacy infrastructure, which can lead to compliance failure and vulnerabilities.
And if it does finally go kaput, the vendor is no longer in business and your operations come to a halt, modernising quickly goes from "maybe one day" to "get this done now", often with a side-plate of "who do we blame for this fiasco?" served from on high.
I have worked with clients to help them move from VB6 to WPF, from IIS with ISAPI authentication extensions to SAML SSO, from Silverlight to Angular and from a 2-tier architecture to n-tier. Some of these were greenfield developments with dedicated squads spun up to rewrite from scratch, others were more piecemeal, drawing up a technical product backlog and dedicating 30% of each sprint or PI to modernisation, with a strangler fig approach. Most devs hate legacy systems (discounting those job-security-through-obscurity few), so tackling such modernisation work can be empowering for a dev team. It allows them to put their modern stamp on a system, take ownership and likely treat it better in the future.
As with most things, keeping legacy systems in a portfolio is a balancing act, offsetting the benefits against the cost of modernisation. We just need to be sure we see all the costs accurately.