Cloud Technology for Modernization

RESEARCH AND INNOVATION

Reverse Engineering Large Mainframe Applications for Cloud – The Game Plan

 
August 25, 2020

In today’s dynamic world, transformation is a critical ingredient to remain relevant in the ever-evolving business environment. Hence, all businesses aim for a collaboration between human capital and the latest technology. When successful, this provides a sustained competitive advantage.

Enterprise IT applications for Banking, Insurance, Retail, Manufacturing, Travel and such have common setbacks that include (but are not limited to), poor maintainability, overlapping functionalities, shortage of resident SMEs and complex legacy applications. If not addressed, these can collectively hamper the business potential. Changing business demands and competitive forces make it imperative to modernize businesses. However, it takes a meticulous approach to attain the desired outcome.

The Opening Move

Evaluating the intricacies, merits and drawbacks of a “subset” of current applications is crucial before attempting any massive, holistic transformation. This uncovers underlying complexities to reveal how the existing business manifests in the applications. A generic approach, which ignores these unique attributes is risky.

The Indispensable Basics

Each business transformation is fraught with specific risks and challenges, yet the fundamental aspects continue to be critical success factors. The following basics, often ignored as plain assumptions, should be prioritized effectively to eliminate potential roadblocks:

· Availability of a Complete Applications Inventory

· Grouping of Applications

· Identification of Redundant Components across Applications

· Identification of Interfaces

· Definition of Scope

Availability of a Complete Applications Inventory: Large transformations combine multiple applications with common components. The inventory sourced from Source Code Maintenance tools is a large chunk of several components, without any segregation based on type or parent application. Hence, Inventory Completeness Check and Gap Analysis are essential in the preparatory phase.

Grouping of Applications: Applications and sub applications should be grouped according to similar tasks they perform, enabling quicker understanding, prioritization of delivery, validation and review for a systematic modernization. Analyzing existing documentation helps to derive the naming conventions and high-level flows.

Identification of Redundant Components across Applications: Identifying repetitive components ensures that the transformed application is functionally complete and contains only the necessary lines of code, facilitating easy maintenance.

Identification of Interfaces: In large-scale transformation scenarios, interfacing applications are common within the portfolio and they need to be tested for functional equivalence.

Definition of Scope: A clear understanding of the current state and expected scope prevents pitfalls later in the journey. A detailed questionnaire, with responses, can help to finalize the application inventory and scope.Focus on key milestones and the definition of acceptability, with mutual consent.

Product-based Transformation – A Mindset Change!

Despite taking care of the basics, executing large transformations with a purely manual workforce is next to impossible. A product-based delivery with defined milestones is the way forward, but it is not as simple as it sounds. The initial phase of the product deployment focuses on the application specific challenges to augment the degree of automation.

Ideal expectations from these products include:

· Inventory and Statistics for all program components across applications in the portfolio

· Analysis and Reporting including Call Graph, Layout Reports, automated program level reports, dependency reports etc.

· Business Rule Extraction and Documentation based on customer priorities

Among these, business rule extraction and documentation are the most complex. Manual expertise and contextual knowledge can give both direction and impetus to the automation. The following areas are examples of the same:

· Technical/Business Rule Identification: While the products extract all the rules and conditions irrespective of their technical / business nature, the technical rules do not add value to the business logic. They need to be removed or parked for later processing.

· Description/Documentation: Descriptions, that are typically considered a manual activity can be automated with pre-defined templates. However, how the product structures the content after extracting technical information from code depends on the provided templates.

· Automated Rule Merging: Products extract information in a granular manner. However, manual skills can identify such areas in applications where multiple rule patterns can be merged.

In these scenarios, manual interventions impart insights to the product. This focused mindset to collaborate with the product capabilities ensures both effort optimization and the desired outcome from the transformation.

The Takeaways and the Way Forward

Overlooking basic details often leads to failures in large transformation projects. It is always recommended to start small, understand the basics, study the environment and subsequently approach the larger target. The key is to stay focused on product-based automation and to leverage workforce competence to its advantage. Success stories of product-based reverse engineering and business rule extraction show how developers reverse-engineered 2000-2500 lines of code per day (based on Mainframe technologies), leading to a 60-80% improvement in productivity over a completely manual approach.

With the advent of Machine Learning, products are becoming more context sensitive, adapting to specific needs and enhancing user experience.

Yogananda Ravindranath is part of the Research & Innovation unit of Components Engineering Group (CEG) MasterCraft focusing on Machine Learning based research in the field of Application Reverse Engineering and Transformation. Yoga has 11+ years of experience in Engineering and Deployment of TCS MasterCraft TransformPlus product and has lead the deployment of the product in various large transformation engagements. His primary focus is to derive innovative solutions for the legacy modernization problems and build enhanced capabilities for TCS MasterCraft TransformPlus.