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

Application Stabilization

 

Overview

 

Symptoms

The symptoms of the application stabilization scenario are listed below.

· Large and/or growing user request backlog

· High system failure rates or reliability/integrity problems

· Long modification lead times, poor user responsiveness or user dissatisfaction

· Long maintenance learning curve, high turnover, junior staff or poor morale among support team

· High system maintenance costs not proportionate to business returns

· Users limit requests or reroute requests to downstream systems due to a lack of IS responsiveness

· Maintenance personnel are required to work on redesign/redevelopment initiatives

Requirements

The requirements for the application stabilization scenario are identified below.

· Improve system to prolong useful life for interim period (which could be several years)

· Shift senior support analysts or technicians to other redevelopment projects

· Accommodate upgrade requests including language, access method or teleprocessing monitor upgrade

· Stabilize current system to improve reliability and reduce testing time frames (shift work load from corrective to adaptive change)

· Reduce new/junior personnel learning curve when beginning to work on the system

· Improve response time on user requested enhancements or maintenance efforts

· Improve overall maintenance environment

Application Stabilization Planning Considerations

The assessment and positioning tasks referenced in this scenario are ideal for planning and implementing a software improvement program aimed at attacking maintenance backlogs.

Benefits include failure rate reduction, backlog reduction, improved user responsiveness and key personnel reallocation. The assessment itself produces badly needed documentation for the application support team.

The "perform skills/process upgrade" step emphasizes retraining of support personnel to adhere to improved techniques and to learn how to use certain analysis tools in daily maintenance activities. Skills transfer to the maintenance support team is a critical piece of this scenario and will dictate long-term success.

 

The above figure shows selected symptoms, Positioning tasks and benefits or impact of applying this scenario to highly maintained, legacy information system.

Build Stabilization Plan

Develop Assessment Proposal

Objective setting/proposal development

Complete Executive Planning

Develop Inventory/Analysis Objectives

Establish Assessment Task List

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.

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 Application Environment

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

Produce Process Flow Narrative Summary

Review Process Flow Analysis Results

Produce Detail Program Analysis Listings

Data definition analysis

Perform System-Wide Data Definition Analysis

Perform Data Definition Complexity Analysis

Perform Homonym Analysis

Perform Physical Data Analysis

Assign Data Definition Metric Counts

Calculate Data Definition Metric Scores

Produce Data Definition Narrative Summary

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

Categorize User Backlog Requests

Uncover Hidden User Request Backlog

Eliminate/Consolidate Redundant Requests

Perform User Request Critical Path Ordering

Calculate Functional Quality Metrics

Complete User Backlog Analysis Summary

IS infrastructure analysis

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

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.

Build Application Stabilization 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 subsequent code improvement activities .

Finalize Application Staging Plan

Finalize Language Change Work Effort

Note: Language change task step is optional based on requirements.

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

Develop Literal Externalization Work Plan

Note: Physical data validation differs from other tasks - see detail breakdown in next phase.

Finalize Physical Data Upgrade Plan

Note: Assume all steps will be performed for data definition migration planning step below.

Finalize Data Definition Migration Plan

Finalize Code Slicing Work Plan

Note: Validation step below should establish estimates for validating code and data migration task groupings based on actual execution sequence described in the subsequent code improvement activities.

Establish Validation Criteria & Plan

Identify Support Structure Adjustments

Stabilize Application Baseline

Establish System Baseline

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

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

Note: The following step increases code maintainability by completing the rationalization/standardization process for all elements defined within a given source module.

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

Application staging

Identify/Categorize Components of Interest

Create Working Version Libraries

Document Versions and Library Protocol

Synchronize Staged Source with Production

Literal externalization

Note: This step is optional based on the degree that key data values are embedded (hard-coded) in program logic. Perform no more than one of the following three steps.

Perform Literal Group Analysis

Create Tables from Literals

Externalize Embedded Literals

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

Physical data upgrade

Verify Physical Data Integrity

Purify Physical Data

Validation

Perform Data Quality Assurance

Identify Validation Data Sets

Validate Modified Programs

Note: In this context, Validate modified programs includes base file to purified file comparison. Any references to source modules may be ignored.

Obtain Validation Sign-Off

Data definition migration

Perform Repository Pre-Loading Analysis

Execute Repository Load Process

Note: Management procedures for the repository are finalized in the last activity of this scenario.

Remodularize Selected Source Code

Note: Large scale remodularization may be warranted if system life expectancy is over 3 years. The following steps purposely focus on code slicing as a low investment/high return task.

Application staging

Identify/Categorize Components of Interest

Create Working Version Libraries

Document Versions and Library Protocol

Synchronize Staged Source with Production

Code slicing

Develop Program Slicing Analysis

Perform Program Slicing Process

Perform Alternative Slicing Technique

Re-Configure Slice Related Components

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