TGE SoftwareTGE Software
PLATE IIILegacy systems are reliable right up until nobody is left who can work on them.

The practice

Porting to new technologies

Legacy systems are typically reliable. But as they age your business needs change, and finding someone qualified to work on them becomes harder and more expensive every year.

Depending on what your stakeholders need, you may want to reimplement what you have in a language more programmers know — or reimagine the whole thing as a cloud application.

Customizations, plug-ins and custom integrations are even more prone to bit rot than the systems they extend: the host system ends backward compatibility, and the endpoint APIs they depend on are deprecated out from under them.

A port is also the one moment when adding what users now take for granted is cheap rather than disruptive — localization, encryption, secure automatic updates, scalability, cloud access, instrumentation, cross-platform support, and a documented open API.

Questions we are actually asked

Should we rewrite or reimplement?

It depends on what your stakeholders need. Reimplementing in a more widely known language is the lower-risk path; reimagining the system as a cloud application costs more and changes more, but removes a larger class of future problems.

Why do customizations age faster than the systems they extend?

Because they depend on the host system staying still. When the host ends backward compatibility or deprecates the endpoint APIs, the customization breaks even though nothing about it changed.

What can we add during a port?

Localization, encryption, secure automatic updates, scalability, cloud access, instrumentation, cross-platform support, and an open API. These are far cheaper to introduce during a port than to retrofit afterwards.

Also in the practice

  • Customization — Plug-ins and utilities for Retail Pro 8, 9 and Prism — and migration of the customizations you already depend on.
  • Integrations — Making disparate systems share data — legacy to cloud, POS to accounting, database to API.
  • Web and social applications — Something more involved than an informative site with a contact form.
  • Project management — New projects, and projects that had gone completely off the rails.