By Roger Pence

“You see, this profession is filled to the brim with unrealistic (bleep). (Bleep) who thought their (bleep) would age like wine.” Ving Rhames as Marsellus Wallace in Pulp Fiction

The first ten years or so of the AS/400’s life will surely be recorded as the golden years of in-house application development. Around the world, office managers, keypunch operators, and assembly line workers stepped into the realm of application programming and created tons of business applications. No one knew then that one day we’d call these apps “legacy apps.” Most of this ragtag bunch were not computer scientists, in fact few had any formal programming training. But through Shelly Cashman textbooks, IBM Guided Learning centers, COMMON sessions, an innate sense of business needs, and hard work, they forged themselves into programmers. And in doing so they created the primary enabler for how thousands of IBM midrange computers worldwide would deliver unique business value for decades.

Fast forward

Fast forward to today. Your legacy RPG apps have been modified and fine-tuned for years. They have paid for themselves many times over. Alas, old RPG applications don’t improve with age. Businesses today can’t live without these apps. And they can’t live with them. It is a vexing challenge. Although these old apps continue to deliver core business value, they do so within narrow constraints imposed decades ago. These apps were designed to be used with a character-based green-screen in a narrow, constricted environment. Monoliths with a myriad of global variables and indicators, and every goofy RPG trick ever published, they are highly resistant to modification and improvement without introducing cascading bugs elsewhere. These apps haven’t fundamentally changed since the 80s. Yet, today business needs change very rapidly and ignoring the need for mobile applications, vertical application integration or swapping out batch processes for real-time updates puts that business’s competitive edge at substantial risk. Your need to keep up with an ever-changing competitive landscape outpaces your abilities to enhance and improve the legacy RPG applications. There was a time when IBM could be held partly responsible. It dragged its feet on keeping the IBM i fresh during the first six or eight years of the new millennium. But IBM has since woken up and done a good job improving the IBM i so that up-to-date tools, techniques, and development process can be used to create modern applications. But being able to create them and creating them are two different things.

Modernization at the top

Help System’s excellent 2015 IBM i marketplace survey confirms that IBM i decision makers know their existing RPG apps are behind the 8-ball. It shows “Modernizing applications” (with a 58.7% vote) as the top concern for the next five to ten years. The challenge is defining “modernization.” Most IBM i shops realize that a legacy IBM i application can’t be replaced by rewriting it or by purchasing a canned package. These options are too time-consuming and expensive. And, the latter option often requires too many compromises. Both also ignore the fact that your legacy RPG application still does many things very well. Outlining a full RPG modernization strategy is beyond the scope of this article, but the abridged version for many IBM i shops presents itself in two phases:

Who’s gonna do the work?

Let’s agree on one hard and fast rule: any IBM i modernization project you undertake will not be successful without the help of at least some of your RPG coders. No one else knows the nooks and crannies of your system, its data flows, its bugs, and its dark secrets like they do. The only documentation you have is in their heads! That said, many of the energetic RPG programmers mentioned earlier now qualify for senior discounts at IHOP and usually say “yes” when the grocery bagger asks, “Would you like help out?” Certainly not all, but many of these coders who were so quick with the solution all those years ago are now part of the problem. They are unaware of or unwilling to learn new technologies, or quite frankly, are too tired to try. Most IBM i shops have more than one programming team. They have the RPG team and a PC-based team (using languages such as C#, Java, or PHP). The PC programmers often have the expertise and energy to help introduce new technologies, but perceive the IBM i as the Bigfoot of computers–rumored to exist but they’ve never seen or touched it. Given these talent pools, identify your RPG programming alphas and find the interested PC programmers. Look for both technical talent and “soft skills.” (In my day we called ’em people skills). The old guard didn’t need to worry much about collaboration and teamwork back in the day—but now nothing gets done without teamwork. Building bridges between these teams is perhaps the most important thing you can do to make an IBM i modernization project a success.

Your RPG won’t modernize itself

Avoiding the need to modernize IBM i applications is as bad for your business as emailing competitors your customer list. Your business can’t persist without its core enabler for delivering unique and desired value to your customers. Do everything you can to protect and preserve that precious resource. Your business depends on it!