Even if you get all the right answers, modernizing an application is still a big project. To get everybody on board, let’s talk about its benefits for you, your boss, and your company.
As you probably realized just from reading the previous articles of this subseries (listed at the end of this article), modernizing an “outdated” IBM i application is neither cheap nor easy. So, you’re probably wondering what’s in it for you. If you discuss it with your boss, I’m sure she or he will certainly ask the exact same question. So let’s review a few of the possible benefits from a modernization initiative.
What’s in It for the IT Department?
There are some benefits that are relatively obvious. Let’s start with the benefits for the IT staff:
- Structured and modular applications require less maintenance time. Note that I didn’t say less maintenance, but less maintenance time. The business needs and user creativity in general will make sure that maintenance (new functionalities and/or corrections) will always be necessary. A well-designed application, however, is easier to maintain. Also, modularity provides a level of flexibility that allows you to keep up with user requirements without the effort that you needed before the modernizing initiative.
- ILE code, if designed properly, is easier to troubleshoot. The fact that each program in ILE is a puzzle made of pieces from different modules can, at first sight, make debugging difficult. With some standards, a solid code structure, and the ILE debugger, however, it’s as easy as pie. In other words, a modernization initiative is a timesaver in the long run.
- Modular applications are easier to integrate with other applications. There’s no big secret here. If your application is designed to segregate functionality into small(ish) modules, then integrating with another application is easy. For example, if you create procedures that validate a certain set of business rules and link them all to the same service program, it’s easier to make this functionality available to a non–IBM i application than it would be if those rules were spread across multiple programs that performed several different tasks. Creating stored procedures and user-defined functions from RPG functions can be particularly useful in this type of situation: you just need to port the business rules validation code to stored procedures/user-defined functions and have the external application call them via ODBC or JDBC, instead of using some other complicated scheme.
- Modernization opens new doors to programmers. I admit that this one might sound a bit cliché, but going from OPM to ILE and then on to a modernization project requires a considerable effort and also yields a considerable reward. Most programmers, or at least most programmers I know, are problem solvers by nature. This is a way to revitalize a stuck-in-a-rut career and open new horizons. Modern RPG, particularly free-format RPG, is getting more and more like the so-called “modern programming languages,” such as Java, Python, and C# (by the way, if you’re not familiar with C#, start here and then read this series). Once you get the hang of free-format RPG and the whole ILE concept, Python, Java, or C# will no longer seem alien. This fact helps make learning a “modern” language easier. The whole journey can also be a relevant motivational factor that might have an impact in productivity.
How About the Benefits for the Management?
I’m sure your boss will love these benefits:
- Costs related to a “fresh” application are easier to justify. Your boss answers to someone: the CEO, the shareholders, or others. Those people want to know how their money is being spent. Happy users (assuming that you made their querying tasks easier via database modernization), motivated and potentially cheaper IT staff, and a good-looking application (assuming you took the UI modernization route) help justify the costs related to the project.
And for the Company?
Managers have more than dollar signs on their minds, however. They also worry about the future. From a strategic point of view, there are a few more benefits for the company that are worth mentioning:
- Structured and modular applications might give the company a competitive edge. If your programmers take less time to develop new functionalities, you’ll be one step ahead of your competitors. Your company can respond quickly to business changes and innovate without jeopardizing the day-to-day operations, because deploying a new service, for instance, can be achieved by reusing existing code quickly to develop the missing pieces. A well-structured database also plays an important role here. If what the business needs is more information, a well-organized and easily understandable database can, potentially, facilitate the creation of the desired reports without IT intervention.
- Modernizing an application might prevent considerable investments in new systems. If you can continue to use existing systems, the company won’t have to invest in new hardware, software, software licenses, and training. There are some additional savings that are not easy to quantify: by keeping its application, the company also keeps most, if not all, of the existing functionality. If the company were to purchase a replacement, there would probably be a considerable loss of functionality, which might have an indirect impact in revenue. However, if you choose to bring in new tools to modernize the UI, there will be a cost. It’s a much lower cost than buying a new system, but still relevant.
As you can see, there are many benefits to modernization. But before you start to make plans, you need to ponder the perils and pitfalls of the process. That’s the topic of the next TechTip.
Previous TechTips of this Subseries