Manage Your Legacy Systems
When working with new customers, one of the first things we get to see is the current state of the applications that they use to run their business. Sometimes it's a 3rd party application that they've purchased off the shelf, sometimes it's an in-house development project that they've been running for years evolving as needed to suit changes in their business and other times it's new development project that needs a little help. In each case there's much to be considered and the choices aren't always easy.
If it ain't broke...
In the case where an older application does everything it needs to, it may make sense to leave it alone but there's another risk to consider. As technology moves forward so do the platforms that run our applications. Maufacturers often force software updates on us when hardware gets replaced. When the latest (Windows, Android, OSX or IOS) release arrives in your office, there could be a challenge installing and running those old apps. At some point they simply won't work. Moving old applications to a virtual machine may get you by in the short term, but it's neither sustainable, nor convenient.
Third party software applications will often provide an upgrade path so that customers can keep up to date with the current version of their application(s). It might have a cost associated with it, either for the upgrade or the time needed to implement, but staying current also gives you the benefit of improvements to the product, and support if you need it. Software vendors won't support those upgrade paths forever and starting over when you discover those upgrades are no longer available can be a major unplanned setback. Starting over
In-house development projects didn't happen by accident, there was an unmet need and someone spent the time and money to build a solution. If that need still exists there's good reason to keep your applications current. Changing needs of the business, reporting requirements, integration with other systems, runtime environment or to reduce the IT overhead are all very valid reasons to update your in-house developed applications. The needs of your business are constantly evolving and your applications should keep pace in a way that makes sense.
Do you have a plan for the technology used within your organization? Are you stuck with outdated software that's no longer fulfilling it's intended purpose? Has your software vendor let you down and abandoned or pivoted with the product you carefully selected years ago? Or are you faced with an application do-over because the technology has fallen out of favour and your [PowerBuilder, ColdFusion, Silverlight, Adobe Flash] developers have all moved on? Your application users are exposed to many technologies and their expectations aren't standing still. While running internal web applications on IE6 might have been acceptable several years ago, that's no longer the case and moving to a current platform means more than using the latest versions of Chrome/Edge/Firefox/etc. Applications that run on desktop machines and mobile devices, provide a more intuitive interface and even use less bandwidth is something that they have come to expect.
Whether it’s a new CMS or updated eCommerce solution, updated systems add value with increases in productivity and customer engagement. Upgrading shouldn’t be seen as an unnecessary expense because ultimately it's the cost of doing business. System improvements should remove barriers, provide a competitive advantage and allow you to focus on your core business and ultimately increase profitability for the company.
Mark has been doing database design and building custom software for over twenty years. With a background in electronics, he quickly moved into software development and has been building database software solutions ever since, on many projects of all sizes.