Before you start a modernization effort, it is important to do an honest evaluation of your software assets to define your strategy. Even if your software is working, it might need to be modernized. There are important software quality attributes to consider beyond the functionality, such as maintainability, flexibility, usability, and performance. For this evaluation, consider the following steps:
Build an inventory of your core applications
Business purpose
Define the business purpose of the application from a business perspective. Understand which business processes are supported by the application and how critical each one is.
Primary stakeholder
Determine who the stakeholders are that you should consider in an eventual modernization project. This list reminds you how important this project is for different people, not just the IT experts.
Technical expert
You must clearly understand who the technical personnel are that maintain the applications. These experts know many small details about the application that can be critical in the project.
Evaluate each application against the following criteria
User interface flexibility
Maintainability
Performance
Ease of integration
Available skills
Business value
Define your modernization goals:
Better maintainability
New user interface
Improved code readability
Better database access methods
Prioritize the inventory according to the goals.
After you complete these steps, you can start working. The modernization activities involve different aspects of the application:
Database
User interface
Integration with other systems
Business logic
You are just starting, so do not attempt to plan the entire modernization project now. Your modernization plans change over time and are refined along the way. Find a small piece that you can start with. Focus on small pieces that over time can lead to significant things.