As software ages, eventually and inevitably, it’s going to become out of date and misaligned with organizational goals and objectives. Here are four steps for determining the health of your legacy applications and whether or not they are ready for modernization or retirement.
1. Identify Symptoms of a Legacy Application
First, let’s take a brief look at some of the symptoms that may indicate that an application is a legacy application (meaning it is either underperforming or becoming obsolete):
- Slow processing, i.e., long page loads
- Errors and exceptions, i.e., data not saving correctly
- Limitations or other deficiencies, i.e., customer feature demands exceeding the current application scope
Other, more subtle issues can occur; however, most “hidden” issues will show up eventually as one of the three visible symptoms listed above. Understanding these common symptoms can help evaluate what is happening and what reasonable options exist for addressing them.
2. Evaluate the App’s Role in the Organization
It’s useful to take a step back and evaluate the role the application plays within the company. Ask questions such as:
- How important is the app to the organization?
- What would happen if it stopped running altogether?
- What plans exist for the organization?
- What impact will industry changes have on the application?
It’s essential to get multiple opinions from a variety of stakeholders including users, developers, business associates, and consultants.
3. Uncover Organizational Constraints
Another critical factor to consider is the constraints that have been holding the company back from making a change. What keeps them from writing a blank check to someone to re-write or fix the application? Most reasons that prevent organizations from taking immediate action come down to three constraints:
- Lack of funds or resources
- Lack of Internal Expertise
4. Analyze the Options
The path for each company is dependent on the issues, how critical they are, and the constraints against change. Some of the options include:
- Do nothing. You’ve decided that the importance of the application does not warrant immediate action.
- Re-write the application. This option is usually accompanied by reviewing the development platform and taking advantage of the opportunity to modernize the infrastructure.
- Using the strangler pattern, incrementally replace existing functionalities with new applications or services in a phased approach.
- Focus effort on specific areas of the application, such as the database design.
- Focus on specific “pieces” of the app, such as certain functions that are noticeably slower.
- Think about workflows and understand the current efficiency of the application.
While there are certainly more ideas for limited “quick fixes,” the point is that retiring or modernizing a legacy application can take many forms. Look at all aspects and focus on simple changes to the workflow or application processing that can yield significant improvements.
If you’d like to read more, download our full guide, Strategic Considerations for Managing Legacy Applications.