Modernizing Legacy Applications

Why do we need to modernize applications?

The idea of converting your legacy applications to a newer technology stack may be enticing, but first we need to take a closer look at the reasons for modernizing and ensure that any modernization project makes business sense. Here are some questions that will help You decide if modernization is a good idea for your application.

Is the current technology stack used by your application becoming an impediment when it comes to implementing business objectives?

  • If the business requires new features, the application should be able to accommodate those in a reasonable amount of time.
  • Modifications to the existing codebase should be relatively easy.
  • The development team should not be in a constant firefighting mode, fixing bugs.
  • Depending on the use case, the application must be nimble at all times in order for the business to be able to compete.

Are critical elements of the technology stack for your application going out of support?

  • Consider all the dependencies including OS version, DB version etc. so that you can make an informed decision when determining if it is important to modernize.

Are there potential security vulnerabilities in the application that will be difficult to resolve?

  • Is your application using outdated opensource frameworks that have known security issues?
  • Too many security holes in the code

Are you facing staffing issues due to aging technology?

  • Is it difficult to hire and retain talented resources because your technology stack is outdated?
  • Is there constant negative feedback from the development team as well as the support staff?

  Other considerations

  • Economy – How much is the modernization project going to cost ? Can the business afford to commit the resources to the project ?
  • Alternative – This happens very rarely in enterprise applications but it is always worth to look around and see if there is an off the shelf or SASS type application that fits your needs.
  • Certainty – What is the level of certainty that your modernization strategy will be successful?
  • Latest Frameworks – How can you avoid constantly playing catch up trying to upgrade to latest frameworks?

Sometimes there may not be a choice when it comes to modernization, for example in the case of a merger or acquisition the business may decide to go with the latest technology.

Once you have made the decision to modernize and have the buy in from all the important stakeholders, Next step is to come up with a solid strategy and roadmap to produce the new and improved version of the application.

The least invasive strategy for modernization is to create all new features in the target technology and integrate into the application. Then you can rewrite the smaller sections of the application. The problem with this approach is that it may not be suited to your application.

Alternatively you can modernize the whole application in one shot, depending on the size of the application this will require the business to commit considerable resources, additionally business may be required to enforce a moratorium on any changes to the current application to prevent duplication of work.

What ever the strategy you choose it should align with the business objective in order to be successful.