Legacy application modernization efforts are driven by specific business outcomes - improved function, improved performance or improved reliability. Business and IT departments both strive to extend the life of existing applications while boosting value to the organization.
What do we mean by modernizing applications?
This is a much bigger step than simply uplifting old RPG3/RPG400 to RPG ILE and /FREE-FORMAT.
Obviously, based on your database decisions, the size of the code refactor can range from simple refactoring (RDi does a nice job) to major rewrites if you're moving to a true web enabled model.
Changing Original Program Model (OPM) code to an Integrated Language Environment (ILE) can involve light code refactoring, which merely upgrades old legacy code to use the new syntax but still functions the same, to heavy refactoring which means a complete rewrite and often a different way of executing.
Think about Software Change Management and how you are going to handle any code changes.
Think about how you will integrate existing applications with these newer applications.
Think about how changing data layouts, and how your programs handle them. Passing parameters that have changed type from numeric to alpha (a common case here is handling a BLANK or NULL which is an effective ZERO). Do you want to standardize on alphameric characters for parameters? Left adjusted or right adjusted? The list of nitty gritty questions goes on.