Modernizing an application is not always a straightforward decision; after all, the application is working as it is and probably your team is already busy with their day-to-day responsibilities.
My application isn’t legacy, is it?
A big issue with legacy applications is that it’s not something that happens from one day to the next. Most likely the application was started with up-to-date technologies and little-by-little those tools and platforms were deprecated or stopped being popular.
A very interesting article by Jose Aguinaga back in 2016 does a great job of putting the evolution of technology in perspective. Even though the article is a few years old, it is as true today as it was when he wrote it.
A developer who wants to start a new project today after working on an existing product for a few years will find that most of the technologies he’s familiar with have changed, in some cases disappeared or simply fallen out of grace in the community. There are many reasons why this happens, but in most cases one can expect the new technologies to provide certain benefits or advantages over the technology they replace.
Seeing the speed at which all technology changes, the likely answer is yes, your app is legacy. This, however, doesn’t necessarily mean you need to run and upgrade to the latest and greatest (if you did probably you wouldn’t do anything else).
When is modernizing the right answer, then?
As with any non-trivial question, the answer is “it depends”.
Each company and application is different as well as the speed of the evolution of the different technologies. You probably don’t have to upgrade your application from .NET Framework 4.7.2 to 4.8, but if you don’t, when is it time? when version 5 comes out? Maybe version 6? What if Microsoft stops releasing new versions of the framework and move all their development to .NET Core? Should you upgrade then?
There are, however, some factors that can speed up the decision process, for example:
- New personnel. Hiring a developer that knows the latest technologies should be pretty easy, but good luck finding a COBOL or a VB6 developer.
- Security. Is your organization OK with your applications using technologies that will no longer receive security patches?
- Platform support. For how long will your users accept that your application works only in Internet Explorer?
- Sales. The app might work and your existing users might be happy with it, but will new clients say yes to your old desktop application when your competition has a responsive web-site, mobile notifications and all the new bells and whistles?
Those are just some of the indicators that we see in our clients’ apps that point to the need of modernizing the app.
What do I do now?
I’m glad you asked.
First of all, let’s talk about your needs and see what’s the best way to work together. We’ll help you create a tailored modernization roadmap and not only bring your company to the present (future?), but also create a plan that prevents you from falling into this technical debt again.