The need for modernization is prompted by a business need; this often means that users prompt the need for modernization. Although you might know that, from a technical point of view, an application should be modernized, it is rare that you have the resources and necessary financing without the requests and support of users and management.
Users are now more technologically savvy. User demand is not just for solutions. Users are also demanding how they want the solutions delivered.
Business demands lead to modernization requirements in three areas:
- Database
- Interface
- Application code
Although there are many variations, the following examples should sound familiar.
The need for database modernization
Here are some common scenarios that can lead to database modernization:
- The company decides to replace Query/400 with IBM DB2 Web Query.
- The database must be modernized to make it more accessible to users and to ensure that the use of software such as DB2 Web Query does not adversely affect the performance of the system.
- Users start to use a new PC analysis tool that extracts information from the database. The tool vendor recommends replicating the data onto another platform because it does not look like a database to them. The database must be refactored to represent it in a format more familiar to a database administrator (DBA).
- A new application is written over an existing database. The new application uses database features (for example, constraints and triggers) that are not implemented in the existing database. Implementing these features might also affect the existing application.
- An existing application is rewritten. Modernizing the database reduces the complexity of the programs in the new application.
The need for interface modernization
The need for new or enhanced interfaces is probably the most often quoted reason for modernization. These are some common scenarios that can lead to interface modernization:
- A company invests in new applications that use a graphical user interface (GUI). Users are switching between GUI and traditional 5250 interfaces for different applications. They prefer a common interface, and a GUI is their preferred interface.
- There are now generations of users who have never encountered a 5250-style screen before joining the company. To these users, a GUI is the interface of choice and a 5250-style screen is considered old-fashioned.
- Users who have been using an application for a number of years request that a new GUI interface be put in to place, often because of poor screen design. The users are happy with the application, but not with the way it looks. Often, when users are happy with the 5250-style design, they do not want a new interface until new users who have not experienced the 5250-style design come along.
- The CEO wants monthly reports as a single graph on their smartphone.
- Perception. 5250 is considered old and GUI or mobile is considered new. New applications must be better, right? Often, a new UI can dramatically change the community view.
- Which generation of users need instructions about how to use a mouse?
The need for program modernization
Here are some common scenarios that can lead to program modernization
- A new web-based interface that replicates an existing 5250-style application is being developed. For example, an order entry application is being created so customers can place their own orders without having to call them in. The new application must use the same business logic as the existing application. Unfortunately, the business logic is firmly embedded in the 5250 screen programs.
- Because of changes that are being made to the database or the interface, changes must be made to the application programs.
- An application has four horrendous, gigantic programs that contain the core business logic of the application. Any change (even a minor one) to one of these programs is a massive undertaking that requires a detailed knowledge of the programs and extensive testing. It is time to simplify your maintenance cost.
- The programmers with the detailed knowledge of the application programs are nearing retirement. It is better if the code is in a format that is easier for a recently trained programmer to understand. It is time to use modern programming styles and tools.
- Customers must access existing information through a web service as opposed to existing interfaces.