Knowing What You’ve Got: Reverse Engineering for Your Legacy Applications

advertisement

Knowing What You’ve Got: Reverse

Engineering for Your Legacy

Applications

By Jacqueline Payne

Modern information technology systems must be evolutionary. Since they are required to meet shifting industry, business and regulatory demands, financial services systems must be flexible and adaptable. Unfortunately, since most financials services firms were early adopters of technology, their application portfolios include legacy systems that can date back 20 years.

Figuring out how to modernize and rationalize these systems is a large undertaking and the biggest challenge in IT today.

Last month, our series focused on portfolio analysis (1) which is the process of reviewing your application portfolio with an eye towards modernization. Following such an analysis, existing legacy applications are identified which your firm may keep or convert.

Legacy systems fulfill an important function and often serve as the foundation on which other systems run. But given the age and incomplete documentation of these systems, your organization may not have a full picture of your legacy infrastructure. This lack of knowledge makes it difficult to convert legacy platforms into evolutionary IT systems. It also makes it impossible to minimize maintenance costs for legacy applications.

Reverse engineering—the scientific process of understanding legacy systems—is the solution.

This process allows your company to have a clear picture into a specific legacy application, providing complete transparency and full documentation. Knowing what you have helps your firm build a modern IT system that supports quick product and service launches and is cost effective to maintain.

Why Undertake a Reverse Engineering Effort?

Reverse engineering is a crucial step in upgrading and renovating your legacy application portfolio. It lays the groundwork to effectively modernize your systems to work seamlessly with new applications. Once modernized, your evolving IT system can continuously meet changing business requirements, stay at the cutting edge of technology, quickly comply with regulatory requirements and support geographical expansions.

Note 1: Application Portfolio Analysis: Creating Order from Chaos by Aparna Umakant Katre, December

2004.

WWW.KANBAY.COM

©2005 Kanbay Incorporated. All rights reserved. Kanbay and the Kanbay logo are registered trademarks of Kanbay Incorporated.

Other trademarks are the property of their respective owners.

Knowing What You’ve Got: Reverse Engineering for Your Legacy Applications

Technical Documents

Processing Structure Description Document:

Lists purpose and execution details of a process cycle (transaction); explains the sequential flow of a process and details the inputs and outputs.

Control Structure Hierarchy Document:

Depicts program logic and linkages to other called programs; includes HIPO (Hierarchical

Input-Processing-Output) diagram.

Physical Data Flow Diagram: Illustrates program data flow; captures details of data fields being manipulated and program data elements

(as separate from the database data elements).

Physical Data Definition Diagram: Shows relationship between tables and segments; includes data dictionary information for data within each table or segment.

Business Linkage Description Document:

Explains purpose and provides technical details for third party business or tool interfaces.

By reverse engineering your legacy systems, your organization will have that most valuable of business resources—information. If you choose to keep a legacy application, your maintenance and enhancement efforts will be streamlined.

With detailed information on your applications, you can—

» Cut the time to market for new products and systems that need to incorporate functionality from existing legacy systems

» Reduce the analysis effort by 50% and the overall application maintenance effort by 20%

» Cut the total ‘in-system’ time for a maintenance request by up to 70%.

» Channel investments into areas with maximum impact

» Reduce dependence on knowledgeable and critical resources

» Perform faster knowledge transfer for new employees or maintenance teams

» Enable the delivery of a proprietary maintenance solution, which helps organizations to maximize their returns from legacy systems

The Legacy Conundrum

Over time, legacy systems have gained an incredible depth of business knowledge and functionality, but very poor documentation. It is crucial that this embedded knowledge is codified to ensure business continuity and build the necessary flexibility to respond to changes in the business and regulatory ecosystem.

Business continuity is impacted by the inability to adapt and modify existing systems and develop new systems. For legacy applications, business risk is higher due to the diminishing pool of knowledge workers able to manage and maintain these systems. Additionally, legacy system product vendors are sometimes unable to provide continued support to customers.

This state of legacy systems has several implications that include—

» High cost of product maintenance and customer service

» High turnaround time to service customer request

» Inability to effectively maintain and customize systems to meet market demands

In order to update and renovate business critical software systems, proper documentation is a must. Reverse engineering for legacy systems creates the documentation necessary to build the future state of your company’s IT system. A reverse engineering effort analyzes your legacy system to—

» Identify its components and interrelationships

WWW.KANBAY.COM

©2005 Kanbay Incorporated. All rights reserved. Page 2

Knowing What You’ve Got: Reverse Engineering for Your Legacy Applications

» Create system representations in another form or a higher level of abstraction

» Create a physical representation of your system

» Identify critical components that need to be reviewed to implement a business change

Today, a number of tools and service providers can generate documentation from a given legacy code. But automated tools only get you so far.

While they can provide a blueprint of your system, your real need is to gain an understanding of your systems so you can modernize or streamline maintenance. A true reverse engineering process captures both the program flow and generates documentation on business rules embedded in the code. These business rules represent the true assets in any information system and allow you to evaluate legacy applications in light of your business, your technology and your industry.

For legacy applications, deliverables for reverse engineering should include both business and technical documents as shown in the sidebars.

Business Documents

Business Semantics Document: Provides details of business entities in the system & their interrelationships; this entity relationship diagram may be depicted at a process level if application level depiction is too cluttered.

Business Process Flow Diagram: Explains business processes as implemented in the application and resource flow (physical or informational) along each process.

Work Flow Diagram: Depicts the work product and intra-/extra-organizational unit involved; presents information one level lower than the business process flow diagram.

Business–Data Entity Correspondence

Document: Consists of code and data definitions to be reviewed in case of business changes; the list should be accurate to about 90%.

Conclusion

As your firm strives to meet compliance and market challenges, it’s imperative that there is a full understanding and transparency into legacy systems. Reverse engineering is an important step in developing the future state of your portfolio by providing the knowledge necessary to maintain or modernize your existing legacy applications. From such knowledge comes the flexibility to meet the changing business and technical demands of today’s market.

ABOUT THE AUTHOR

Jacqueline Payne is Kanbay’s leading expert in mainframe and mid-range systems and has over 15 years experience in planning, developing, executing, and managing complex technology projects. Her IT experience is divided between the consulting arena and corporate world and includes both mainframe and distributed platforms. Prior to joining Kanbay, Jaqui created and led the enterprise application integration practice for Satyam and worked as a delivery manager and director of operations at Fujitsu Consulting.

WWW.KANBAY.COM

©2005 Kanbay Incorporated. All rights reserved. Page 3

Download