Integration Replacement Stabilization Server Migration Data Warehouse Portfolio Analysis User Front End IBM COBOL Language Conversion Model Migration Assimilation Redocumentation Redundant Systems Relational Database

Language Conversion

 

Overview

Symptoms

The language change approach outlined in this document applies to organizations that have the following characteristics:

· Large scale applications in legacy languages

· An identified, business driven requirement to apply significant changes to the application

· Lack of availability of one or more application packages that could meet the organization's requirements

· Unique, complex embedded business logic that must be, in some way, retained within a new system - one example includes regulatory requirements added to a system over the years

· Management is committed to move the current application to a new language or language level

Requirements

Requirements to perform this type of project include:

· Identified funding to complete a large scale replacement project

· Management committed to move the current application to a new language or language level

· Skilled conversion specialists that can assist with planning and executing the actual language change

Language Change Planning Considerations

The focus of this strategy is to outline a phased migration approach to upgrade an application to a new language or language level that can serve as a baseline for a systems redevelopment project. Close examination of a specific environment and given situation is required in order to customize this strategy and transform it into an actual plan.

Objectives for this type of effort include determining need, building a business case, outlining an approach to satisfying the business requirement and implementing the approach.

An expert at language to language or language level to language level conversion is required for this entire scenario. This scenario and Comsys-TIM in general do not eliminate the need for expert support in this area.

In order to perform a conversion, the following specialty skills are required:

· Current language analysis & planning expertise

· Language change/upgrade tool expertise

· Language change/upgrade tool customization expertise

· Large conversion project management expertise

· Expertise on a wide variety of redevelopment tools

Build Language Conversion Plan

Develop Conversion Assessment Proposal

Objective setting/proposal development

Complete Executive Planning

Position System(s) Under Option Strategy Matrix

Note: In this situation, hypotheses are limited. A system may be converted, upgraded and handed directly to the replacement or integration scenarios. A more practical approach involves phased conversion/upgrade, with multiple production releases to accommodate ongoing change requests. This scenario handles both situations. The first approach requires limited or no validation.

Develop Inventory/Analysis Objectives

Establish Assessment Task List

Note: The next 3 steps may be limited in the some language environments. See tasks themselves for reference to tool analysis support for language change. The normal analysis guidelines may not apply in all cases.

Finalize Environmental Analysis Work Plan

Finalize Process Flow Analysis Work Estimates

Finalize Data Definition Analysis Work Estimates

Finalize General System Architecture Work Plan

Note: Plan for general architecture analysis subroutine interface & obsolete technology analysis steps only. The key here is to discover all odd linkages, embedded tricks, etc., that could cause problems during conversion.

Finalize Data Access Layer Assessment Plan

Note: Plan for data access layer database/file inventory & physical data usage redundancy steps only - others may be applied as required.

Finalize User Backlog Analysis Plan

Finalize IS Infrastructure Analysis Plan

Finalize Feasibility Analysis Plan

Finalize Interim Planning Task Effort

Develop Inventory/Analysis Work Plan

Complete Inventory/Analysis Assessment Proposal

Assess IS Application Infrastructure

Environmental analysis

Identify/Categorize Physical System Components

Identify/Categorize External System Components

Inventory/Cross Reference Mainframe Components

Review/Refine Environmental Analysis Results

Produce Environmental Counts and Scores

Produce Environmental Analysis Narrative Summary

Process flow analysis

Verify and Finalize System/Sub-System Groupings

Perform Process Flow Analysis

Note: Only one of the following two steps is executed based on tool availability. Mixed language types, however, may require both steps.

Record Manually Derived Process Flow Metrics

Record Tool Derived Process Flow Metrics

Note: Narrative write-up focuses on conversion difficulty based on automated metric analysis.

Produce Process Flow Narrative Summary

Review Process Flow Analysis Results

Data definition analysis

Deploy Data Definition Analysis Tool

Perform System-Wide Data Definition Analysis

Note: Perform next step only as it relates to an actual conversion to another language and/or platform.

Perform Physical Data Analysis

Review Data Definition Analysis Results

General system architecture assessment

Identify Use of Non-Standard Technologies

Document Subroutine Interface Levels

Data access layer assessment

Note: Steps other than the two listed below may be applied as required by situation.

Finalize Database/Data File Inventory

Assess Physical Data Usage Redundancy

User backlog requirements analysis

Note: Focus here is on how the system will be staged through conversion based on outstanding user request.

Categorize User Backlog Requests

IS infrastructure analysis

Note: Focus on test data availability and target language skills.

Determine Staff Experience/Skill Ratings

Determine Testing Skill/Maturity Ratings

Determine IS Development Tool Ratings

Determine IS Quality/Maturity Ratings

Determine IS Summary Rating Factors

Perform Feasibility Analysis

Assessment integration & feasibility analysis

Note: Feasibility within the context of this scenario determines if moving forward or if taking an alternative approach is warranted.

Develop Application Summary Metrics

Note: Bypass reusability ratings sub-steps.

Develop Assessment Findings Report

Note: Limit section 5 to architecture work completed, section 6 to user backlog analysis and omit sections 9 & 10 based on scenario requirements.

Create Language Conversion Plan

Create interim support plan

Create Interim Plan Outline

Correlate Analysis Requirements/Findings

Identify Positioning Tasks/Cost Analysis

Develop Pilot/Proof of Concept Plan

Finalize Interim Support Work Plan

Note: Application staging must be performed for task groupings as dictated by Convert/Standardize Application phase .

Finalize Application Staging Plan

Note: The language change task is the foundation of this scenario. Adjust as required for particular situation.

Finalize Language Change Work Effort

Finalize Physical Data Upgrade Plan

Note: The remaining estimates will be rough since the work will be performed on converted code which is not available until after the conversion is complete. Estimates should be revised after conversion using appropriate code analysis tools as defined in initial analysis section under prior planning activity of this scenario.

Finalize Flaw Analysis & Removal Work Plan

Determine Restructuring Work Effort

Finalize Design Improvement Work Effort

Assess Data Definition Rationalization Scope

Finalize Data Definition Rationalization Plan

Note: Validation step below should establish estimates for validating code and data migration task groupings based on actual execution sequence described in the Convert/Standardize Application phase.

Establish Validation Criteria & Plan

Identify Support Structure Adjustments

Note: In the following step, only estimate level of effort for the Create Infrastructure Management Procedures step.

Finalize Data Definition Migration Plan

Convert/Standardize Application

Perform Baseline Conversion

Application staging

Identify/Categorize Components of Interest

Create Working Version Libraries

Document Versions and Library Protocol

Synchronize Staged Source with Production

Language change/language upgrade

Note: Placement of this task within this scenario supports partial or small scale language change objectives for selected modules. System-wide efforts should refer to the Comsys-TIM language conversion scenario.

Prepare Source Code for Conversion

Convert/Upgrade Each Source Module

Perform Environmental Migration

Physical data upgrade

Note: Perform the following only as it pertains to a language and/or platform conversion.

Verify Physical Data Integrity

Purify Physical Data

Expand/Convert Physical Data

Validation

Perform Code Quality Assurance

Perform Data Quality Assurance

Compile/Link Baseline Components

Compile/Link Positioned Components

Identify Validation Data Sets

Refine Validation Data Sets

Validate Modified Programs

Obtain Validation Sign-Off

Stabilize Application Code

Note: Certain programs may require validation at the end of one of these individual stabilization tasks based on size or complexity. Adjust work plans accordingly using the process flow analysis results as a guide.

Application staging

Identify/Categorize Components of Interest

Create Working Version Libraries

Document Versions and Library Protocol

Synchronize Staged Source with Production

Flaw analysis & removal

Produce Detailed Flaw Analysis Reports

Note: Enter/execute following steps only as required

Eliminate Runaway Logic Paths

Assess and Eliminate Dead Code

Review/Eliminate Active Exits

Review/Eliminate Looping Range Violations

Review and Eliminate Recursive Performs

Review and Eliminate ALTER Logic

Perform Quality Review and Finalize Changes

Code restructuring

Create Detail Restructuring Analysis

Perform Program Structuring Adjustments

Establish Restructuring Parameters

Perform Source Code Restructuring

Design review & improvement

Optimize Program Size

Optimize Procedure/Paragraph Size

Eliminate Logic Spikes/Reduce Complexity

Review and Correct Switch Variables

Review and Improve Procedure Names

Review/Refine Table Handling Techniques

Finalize Design Review/Improvement Task

Validation

Perform Code Quality Assurance

Compile/Link Baseline Components

Compile/Link Positioned Components

Identify Validation Data Sets

Refine Validation Data Sets

Validate Modified Programs

Obtain Validation Sign-Off

Standardize System-Wide Data Definitions

Application staging

Identify/Categorize Components of Interest

Create Working Version Libraries

Document Versions and Library Protocol

Synchronize Staged Source with Production

Data name rationalization

Setup Data Name Rationalization Libraries

Review Record Grouping Analysis

Build Composite Record Definitions

Identify/Reduce Homonyms

Apply Descriptive Composite Names

Propagate Composite Record Definitions

Review and Propagate Secondary Names

Reconcile DNR Source with Production

Validate/Implement Rationalized Code

Validation

Perform Code Quality Assurance

Compile/Link Baseline Components

Compile/Link Positioned Components

Identify Validation Data Sets

Refine Validation Data Sets

Validate Modified Programs

Obtain Validation Sign-Off

Perform Skills & Process Upgrade

Note: The following step contains multi-purpose infrastructure guidelines. Apply all guidelines including repository management procedures section.

Create Infrastructure Management Procedures