When it comes to things that improve with age, it’s wise not to confuse legacy software with a bottle of Chateau Mouton Rothschild or a 1937 Martin D-28 guitar.
Indeed, if your company is considering trying to salvage your legacy software by using a code converter to create a shiny new application, expect the process to end on a sour note. Attempting to modernize aged and no longer supported legacy software like Microsoft Access, FoxPro, Lotus, Delphi, or even something more recent like PowerBuilder, is an unfortunate way of spending money on something that was built to model a business that doesn’t exist anymore. Really, is your business the same as it was 20 years ago? Or even five years ago? Are your users’ expectations about software the same? When you’re engaged in the process of rethinking an application, you have a once-in-a-decade opportunity to rethink your business’ needs as they relate to operational efficiencies, usability and performance—not only for today but into the next decade.
A code converter just won’t do that for you. Here’s why:
Code converters typically trail new software by a generation or two. So the new code that’s generated will already be outdated by the time it’s created; perhaps as much as two to four years behind the times. It’s like paying the full new-car price for a car that’s two to four years old. Your investment is already devalued by 30%-50% before you even turn your software on. In addition, the converted code is probably not using the latest front-end development framework. That’s why converting 20-year-old software with its user issues and buggy remnants can be a bad idea when compared to transitioning to something that’s new and built to remain fresh for years to come.
While your converter vendor will promise you the moon, the fact is by the time your code is converted you’re only going to be partly done. You’ll still need a lot of intervention to get the software to actually work, putting you at the mercy of the consultants who sold you on the code converter in the first place. They’ll tell you the converter is generating standard C# or Java code, but don’t be fooled… it’s vendor lock-in, pure and simple. Next, you can count on needing additional coding and help with data migration. You’ll need someone to help you supervise the testing because you’re taking one business critical system and killing it and moving to another. That requires experienced management, not just rote execution.
You’ll still need a lot of intervention to get the code converted software to actually work.
In addition, in the rare instance that the code converter works seamlessly, your internal developers will not have gained any institutional knowledge of how to maintain that code and work with it. You’ll have no capability to maintain that solution without the help of outside consultants. Nothing will transfer into the minds of the people who need to work with the software on a daily basis.
Compounding the problem of converting legacy software is that good developers don’t want to work on four-year-old technologies. So whom are you going to hire to work with the legacy code the code converter just freshly generated? You may be stuck with third-class developers who are incapable of reverse engineering the machine-generated code. They’re going to struggle and take a lot of time to adapt the software as your needs change, creating operational disruption and business risk along the way.
The vendor that sold you the converter will be happy to offer their services to troubleshoot and maintain it because their business is based on not only selling you a code converter, but trying to sell you a lot of consulting services to help clean up what they just sold you. And you’ll be beholden to them because they’re the only ones who know exactly what they did to make the conversion. Remember: the primary interests of consultants who sell code converters is the installation and maintenance of the converted software, not the needs of your business.
The code converter doesn’t know the difference between useful and useless. If you have legacy software that represents rules that are no longer valid, the code generator is just going to convert the same old baggage from before into new baggage. If you have forms and workflows that are inconvenient and inefficient and that make people angry, the code converter will just re-present those same inefficiencies in modern code, and no amount of “you can just use your own CSS to style it” claims will change that sad outcome. And if you have bottlenecks that cause friction in your business’s operations, after you convert you’re still going to have the same problems but in the new language.
If you have forms and workflows that are inconvenient and inefficient and that make people angry, the code converter will just re-present those same inefficiencies in modern code, and no amount of ‘you can just use your own CSS to style it’ claims will change that sad outcome.
As a result, the converted code will not be architected to take advantage of new opportunities to integrate modern technologies because… well, a code converter is not an architect. To take full advantage of a migration to new software, human architectural thinking is required, and will be for many, many years to come.
In most cases, old software contains at least some (and often a great many) rules about how your business operates that are not written down anywhere else. So when you use a code converter, you may get the same outdated software functionality you’ve always had (wrapped in shiny new code) but still be unable to add new features and capabilities for fear of disrupting rules and logic no one else understands.
Before taking the plunge with a code converter, you should have a conversation with a senior software consultant to discuss what your business is about, identify shortcomings, acknowledge your software’s current benefits, as well as the ways in which it is suboptimal. With a discussion such as this behind you, a modern DevOps team can help guide you and your team in the process of designing and engineering a modern software platform that has your users and business firmly in mind – beginning with a project roadmap that plans for your business today as well as tomorrow.
DOOR3 has the background and capacity to understand a wide variety of businesses very rapidly. We can make recommendations within weeks to help your business work smarter and operate better. Unlike a code converter, we don’t envision a copy of something that has long since passed its due date. And unlike a code converter, we help you recapture and own the rules by which your business and your software must operate.
Good software should reduce friction in the day-to-day work people do. DOOR3 engages in a user-centered approach where automation and facilitation is the name of the game. Our solutions help people work easier, smarter and become more productive. When people are more productive and more efficient a common side effect is that work becomes more pleasant, with less busy work. We do a good job envisioning their work and we know how to make their workflows easier so they can work more efficiently for the sake of the company.
We can build systems of enormous scale, end to end. Our ratings and reputation speak for themselves. We always get you across the finish line and get your projects done to completion. And your business will work better as a result.
DOOR3 creates digital solutions that empower users, engage consumers, elevate brands, and enhance businesses. We have extensive experience crafting custom business software solutions that succeed on every level. We can do the same for you. Contact us today!
Introduction User experience (UX) is a field within design that explores how people interact with the systems within products, services, and entities through a user interface (UI). The root of...
The information technology (IT) revolution is most apparent in the overall increase in human productivity, productivity that is measurably greater at organizations that have embraced digital solutions. This clear relation...
Product Design vs UX Design: Although they are often lumped in with each other, they are distinct roles that each play important parts in product development. While both utilize design...