Migrate or Modernize – That is the Question
What factors motivate an organization to migrate or modernize their applications and information management infrastructure? What are the risks?
Here are some factors that influence the decision between migrating to another platform or modernizing an existing platform.
Affordability – Companies can’t afford to upgrade line-of-business software, e.g. an ERP package or increasing annual maintenance fees.
Aged Perception – Perception that green screen applications are out of date or behind the times.
Alternate Software – Other on-premises platforms preferred for their alignment with business operations.
Application Costs – Cloud assumed to provide a better path to reduce costs.
Applications Not Supported – Companies can’t upgrade IBM i hardware because no version of their software package runs on later operating system versions.
Business Processes – Applications can’t accommodate required changes to business processes.
CEO/CIO Decision – A new CEO/CIO unfamiliar with IBM i initiates migration to another platform.
Cloud is Strategic – Strategic corporate direction is migration to a cloud provider.
Corporate Strategy – Existing applications don’t align with corporate strategic direction.
Hardware Costs – Companies can’t afford to upgrade IBM i hardware.
Integration Challenges – IBM i applications difficult to integrate with newer systems/technologies.
Lack of Developers – Experienced developers are hard to find and attracting new developers is problematic.
Lack of IT Agility – IT function lacks the agility to respond to product and marketing changes in an acceptable timeframe.
Mergers and Acquisitions – Merger or acquisition by a larger company forces a migration away from the IBM i.
New is Better – Assumption that newer applications will be more cost-effective.
Regulation and Compliance Pressure – Government regulation and compliance requirements demand application and infrastructure changes.
User Interface – Users expect a modern user interface that operates like mobile phone or web applications.
These factors are catalysts for both migration or modernization projects. Decisions based on the factors alone are inadequate to determine the best outcome for the company bottom line. The motivation should trigger a realistic assessment of options for upgrading applications to support business requirements.
One must acknowledge that for motivations such as a merger, a decision can be forced without due consideration.
Migration to a new platform is not without risk. Here are common questions asked by IT when undergoing an evaluation:
- Do the risks apply to your context?
- Is risk mitigation practical? If so, is the cost of mitigation affordable?
- Are you willing to proceed despite the risks?
Here are some of the issues to consider.
Embedded Business Rules within Existing Applications – Business rules govern how your applications validate information to ensure invalid data does make its way into the database. Migrating to new software requires knowledge of the new system’s business rules and identifying the difference between the new software and existing applications. Business rule comparison is easier when both the new and existing software manage their rules externally with rule management software. However, many older applications hard-code their business rules inside their RPG or COBOL applications. Finding the business rules requires a time-consuming examination of the source code. Chances are that not all business rules in existing applications will appear in new applications and will need to be replicated in the new system.
Business User Impatience and Fatigue – Business users must participate in a migration project to provide expert guidance to identify which existing application features must be present in new applications. There is a risk that migration to a new platform may take longer than expected, causing business users to become impatient and fatigued while working on both old and new platforms during the changeover.
Cost – Most IT projects are underestimated and a migration project is one of the more complicated IT projects. Calculating the total cost of migration requires contrasting current expenditures against the target platform’s expenses. Poor estimates and/or omitting cost items will cause the migration project to be over budget.
Data Loss and Corruption – Data migration is the most important part of a migration project. Data migrations require recoding EBCDIC data to ASCII data when migrating away from IBM i. Matching data types between the new and existing applications must be thorough to avoid data corruption during the data conversion process.
Corrupted data in the new application poses a risk to normal business operation with consequences including inability to trade and additional migration costs to repair the corrupted data.
Development Tools – Developers may not be able to use the same development tools on the new platform. Training and gaining experience with new tools will extend the migration time and reduce developer productivity. Often, relying on consultants with development skills on the new platform adds another layer of cost and risk.
Gap Analysis Complexities and Estimating Costs – Migration is a complex process and the available tools may not understand the dependencies of your application stack. You need to understand the functional gap to estimate the cost of migration and document the disparity between business goals and supported platforms.
IBM i Operating System Services – Any existing application that calls IBM i operating system services requires redesign, recoding, and testing for the functions provided by the new operating system.
Integration – The complexity of a migration project grows with the number of integration points in existing applications. It may be impractical to migrate all systems that integrate with existing applications. The required action is to build new integration points into the new application.
Lack Source Code for Existing Applications – Some packaged software does not provide companies with the application’s source code, which will compromise the analysis and comparison of the existing and new applications.
Lack of source code quickly escalates the risk of failure and will produce an inaccurate estimate for the migration.
Migrating Existing Applications to the Cloud – Applications constructed with a monolithic architecture don’t fit the concept of native cloud applications. The disconnect between cloud operational constraints and the way existing applications run will impose too great a cost of operation. Re-architecting existing applications will extend the time to complete a migration.
Migration Tools – Tools are available to automate application migration.
The risk is whether the migration tools can convert the whole application. If the tools manage only part of the migration you must develop software to migrate what the tools can’t finish. Or, if you can’t replicate certain business processes, users will require manual workarounds to finish their jobs.
New ERP Software (Regardless of the Migration Target Platform) – Migrating from one ERP package to another is not a simple project. Going from IBM i to different server platform adds even more complexity to the project.
The new software may not include business functionality provided by existing application ERP software. The processes assumed by the new software may be incompatible with current business operation. Without a thorough analysis of the new software, the migration is at risk of failure or cost blow out.
Training Costs – Training business users in the operation of new applications imposes costs for training and the loss of productivity in the normal workload. Granted the goal of the new system is to be easier to use, but re-training is still a real cost (time and money) and must be included as part of the migration project.
Reasons to Consider Modernization
To migrate or modernize can be a decision based on fact or perception. Do existing applications provide utility or value to business operations? If yes, modernization needs to be a consideration.
Here are some of the reasons to consider modernizing applications.
Build on Existing Investment – Companies have invested significantly in IT assets over the decades that provide value to business operations. While the applications may require upgrading to provide flexibility and modern characteristics, modernization enables companies to preserve their existing investments in applications and infrastructure.
Developer Training – Technical training for developers is less costly than hiring new employees, assuming staff is willing to learn, and the new skillsets aren’t too far of a departure from how they code today. Modernization takes advantage of and maintains traditional skill sets while extending developer skill sets with new technologies.
Extend Existing Applications to Web and Mobile Devices – There should be little need for 5250 screens within your application portfolio. At a bare minimum, IBM i companies can leverage tools that instantly convert 5250 data streams into HTML browser-based screens that can be displayed on a desktop or mobile devices. Screen scraping may not address the tedious navigation issues associated with 5250 applications, but at least the UI is something that the current workforce is comfortable using. Modernization can also leverage existing applications by building new HTML screens that look modern and are intuitive but call RPG/COBOL APIs to do the heavy lifting.
Future Technology – A company’s modernization strategy should include modularizing existing monolithic applications, so they can better incorporate future technologies when needed.
Improve User Experience – Adding new user interfaces to existing applications will certainly make applications look modern and remove the perception of being out-of-date.
But you can’t stop there. You must also improve the user experience by providing consistency across all applications, reduce the number of screens to complete a task, leverage mobile device features, support touch screens, etc.
Modernization projects that simply take a 12-screen process and web-enabling it set up to fail because it doesn’t deliver a better user experience. User complaints will resume after the novelty of seeing the application run in the browser wears off. Now, transforming that 12-screen process into a 4-screen browser app will be well accepted, and greatly appreciated, by end-users.
Preserve Proven Business Logic – Retain, maintain and enhance current functionality.
Existing applications contain business rules that manage data integrity and business processes. Migrating to another software package requires an analysis of the business rules in the new package and the existing applications. The analysis can be time-consuming and may not be thorough enough to know if the new package will support business activity. Discovering a lack of business rules after the migration is costly. Modernizing existing applications is more certain because you are building on a tried and true foundation.
Tools for Modernization – Many tools are available that provide modernization services for IBM i applications. Refacing tools can web-enable the user interface with little effort and enable further screen enhancement. There are tools that can modernize whole applications or select functions, such as order entry, into a new modern framework. And there are tools that use a combination of both, where companies can get a modern application out the door quickly by leveraging refacing technology inside a modern framework.
Use Linux and Open Source Offerings – Many open-source applications and development tools that run on Linux or AIX have been ported to IBM i and run inside the PASE environment. Modernization allows you to retain existing applications while adding new functionality implemented in the Linux or AIX environments.
Migration forces you to abandon valuable assets and convert to new technology. It is a one-time jump from the existing to the new.
Modernization builds on existing assets and provides a phased transition to new technology at a pace that fits with your budget and resources.
What is the problem you want to solve? What is broken that needs fixing? Will solving the problem or fixing what’s broken return tangible, measurable benefits including improved productivity, reduced costs and streamlined business processes?
Migration and in-place modernization can become expensive projects. Be sure you understand the underlying causes of the problems so that you fix the real problem rather than applying a superficial bandage.
Coming up in my final post on this topic, we will take a close look at the costs associated with migrating or modernizing. And, in case you missed it, Are You Facing the Modernization Dilemma? was the first post in this series. LANSA continues to be proud of our long history with the IBM i platform; visit our website to learn how to maximize your productivity, innovation, and investment in IBM i.