A 10+5 approach to renew legacy systems

 

Drawing from experience, I will capture the top 10 factors to analyze and then follow up with a 5 step process to renew legacy systems and modernize them to be more flexible, enable them to meet business imperatives and be in pace with changes in the ecosystem.

Top 10 Factors to Analyze

1. Application Design

  • Is it meeting current requirements?

  • Would it be able to meet future requirements?

2. Data Architecture

  • Are data entities clearly defined?

  • Are data sources clearly recognized as authoritative sources?

  • Are attributes of a single entity spread across multiple data sources, due to historical reasons?

  • Do other systems host their own copy of this data? how do they get synchronized?

3. Process Efficiency

  • How many manual steps are involved around this system?

  • Are there any manual lookups and interventions to resolve data inconsistencies?

  • How frequently does it require manual task to fix data or file corruption?

  • How bad is the process of manual updates to bring consistency across data sources?

4. Availability Needs

  • What are the availability needs of this system expected by business?

  • How much time does the batch jobs and processes require at a minimum?

  • Do users have their own local copy in laptops or desktops or in shadow IT? (indicates mismatch in system availability and its uptime)

5. Code Quality

  • how modular is it?

  • how is the logic for processing input/output files?

  • what level of redundant code and duplication exists?

6. Data Integration

  • How is data abstracted to consumers?

  • What are the data transfer mechanisms - file transfers, table extracts?

  • Are internal tables directly exposed?

7. System Integration

  • Is integration designed methodically?

  • Are point solutions more prevalent than an architected integration platform?

8. Reporting Capabilities

  • What support exists for basic pre-defined and custom reports?

  • Does business want ad-hoc reporting capabilities not supported by this system?

  • How dependent are users on their excel worksheets?

  • How complex are the reports with nested, embedded and complex logic (ex: SAS applications)

9. Security

  • Are system and data access controls well defined?

  • Is security defined at application level or program level or entity level? (check the plans and cross reference tables)

  • Are audit reports readily available?

  • Is it clear how many different ways the data is created by this and other systems?

  • Are the access and needs of both direct and indirect systems visible?

  • Do users share credentials, invalidating the efficacy of audits?

10. Data Governance

  • Does the original intent of the system and its data still holds good?

  • Is it clear who are the consumers of this system and its data?

  • Can you trace the data lineage?

 

5 Phase Roadmap

1. Discuss with Business

  • Formulate Vision, Scope and Constraints

  • Elicit Requirements & Validate Assumptions

  • Application Readiness (Code Optimization)

2. Develop Architecture & Framework

  • Prepare Data Architecture

  • Define or Adapt Governance Policies

  • Build basic building blocks

3. Design & Implementation

  • Build foundational component & services

  • Iteratively consolidate databases

  • Integrate applications to consume new services

4. Integrate with Global Applications

  • Design for localization requirements

  • Build region specific services

  • Integrate applications to consume new services

5. Extend Framework to Other Entities

  • Prepare Enterprise Data Layer Strategy

  • Solidify generic framework services

  • Iteratively extend to other data entities

 
Mahesh Alampalli