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