You are on page 1of 19

Experiences in Migrations

of Legacy Systems
Bill Wood, Mike Gagliardi, and Phil Bianco

Software Solutions Conference 2015


November 16–18, 2015

© 2015 Carnegie Mellon University


Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Copyright 2015 Carnegie Mellon University

This material is based upon work funded and supported by the Department of Defense under Contract
No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering
Institute, a federally funded research and development center.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING


INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY
MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER
INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR
MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL.
CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH
RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

This material has been approved for public release and unlimited distribution except as restricted below.

This material may be reproduced in its entirety, without modification, and freely distributed in written or
electronic form without requesting formal permission. Permission is required for any other use. Requests
for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu.

DM-0002952

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 2
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Background

An agency wanted to migrate two paired and tightly coupled


systems
• Both are 24/7/365 and support disaster recovery at multiple sites
• Both have many classes of users
1. Service-based system: 15% functionality (going to 40%)
• Java, Relational DB, COTS tools, service-based, J2EE, SAP, Informatica
2. Legacy system: 85% of functionality (going to 60%)
• COBOL, hierarchical DB, mainframe

Migrate to a well-defined target reference architecture (TRA) as


a basis for a common platform infrastructure (CPI):
developmental, operational, test
Briefing is focused on the legacy migration

Presentation Title
Date 00, 2015
11/22/2015 Migration Planning 3
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
3
Distribution is Unlimited
Horse Shoe Model

Longer Journey / Greater Impact

B B Business Architecture

A A Application and Data Architecture

T T Technical Architecture

Existing Solution Target Solution

Shorter Journey / Lesser Impact

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 4
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Phases of Our Legacy Migration Activities

Analysis of
13 RFIs

Recommended
they “lift and
shift” the legacy
to their target
architecture
Recommended
to start an
immediate
“Discovery and
Analysis” task

Presentation Title
Date 00, 2015
11/22/2015 5
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
5
Distribution is Unlimited
RFI Analysis per Response
A B C D E F G H I J K L M N
RFI‐Specific Questions
Q1 Migrate 
Hierarchical DB DB
Q2 Migrate 
Application Code
Q3 Integration &
Testing
Q4 Application 
Maintenance
Q5 Acquisition & 
Contracting
Q6 Past Performance
Technical Approach Analysis Framework
F1 Code
Design / Data
Analysis Docs
F2 Migration
Code, Data, Infra
(Q1 & Q2)
F3 Integ & Test
(Q3)
F4 Sync & Sync
Cutover Cut
F5 App Maintenance
(Q4)
Approach 1‐4 1 3 2 2 2 4 4 4 2 2 1 1 4 4
Cost and Timeframe ROMS
Cost (ROM)   16 12 30 5‐10 28 30 5‐10 24
$ Mil
Timeframe (ROM)  24 18 24 24‐48 24 24 12 9‐12 24
Months

Green: Explicit Yellow: Implicit Red: Ignored


Presentation Title
Date 00, 2015
11/22/2015 6
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
6
Distribution is Unlimited
Pros and Cons of Top 4 Alternatives
Description  1  2  3  4 Explanation for Yellow
1  # of data of record systems  2 1 1 1 More than one authoritative data source is 
a synchronization and fault management 
challenge
2  Move over users to the new  Yes No No No The confidence from the use of the 
system incrementally  functionality is delayed until everything is 
cut over
3  Initialize new database with  Incremental Big Bang late Big Bang early Big Bang late Big Bang Early requires long‐term 
old data synchronization
4  Streaming data between  Forward and  None Forward None Subset of 1 (above)
systems during phases and  back
over months 
5  Fallback due to new system  Recover new  Not needed Multiple ways Not needed Subset of 1 (above)
failure during development  system and re‐
synch
6  Fallback due to new system  Recover new  None Defined ways None Problems will always arise after cutover. 
failure after cutover  system and re‐ Need to design for fallback.
synch
7  Queries executed during  Hierarchical Hierarchical Hierarchical Hierarchical Increased complexity for query 
development  new DBMS management.
8  Benchmarking for  By testing and  By testing By testing By testing You can’t operationally benchmark until 
performance  operation cutover; performance issues will be 
discovered late.
9  Data/code coupling  Separable into  Separable into  Too tightly  N/A If the code and data coupling is overly 
segments segments coupled for  complex, will be difficult to segment.
separability
10  Legally mandated updates  In both code and  In both code  In both code and  Code and data  No response; handled this very well.
during development before  data if moved; and data if  data if moved; in both
cutover in one if  moved; in code if one is 
unmoved in one if  unmoved
unmoved

Green: Preferred Yellow: Not Preferred


Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 7
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
It’s Complicated

Understanding the Legacy Understanding the Target


System Architecture System
• Infrastructure tools • Target reference architecture (TRA)
• Application component • SOA; layered infrastructure
relationships (data and code) • Designing services on top of TRA
• Business process threads (BPTs) • Business process threads

Mapping Between Legacy and Target in Phases


• Architecture mismatches (development, operational, certification,
sustainment, COTS)
• Operating with dual authoritative data systems, cutover, synchronization
• Relationships between application components (legacy vs. TRA, COTS)
• Ineffective BPTs

Presentation Title
Date 00, 2015
11/22/2015 Migration Planning 8
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
8
Distribution is Unlimited
It’s Worrisome
• Is there too much code/data coupling and
spaghetti code to partition for migration?
• Are the current business processes and
screens appropriate?
• Is the CPI stable? Is the TRA stable?
• Are COBOL-to-Java transformation tools up to
the job?
• Can we operate with two systems overlapping
authoritative data?
• Do we have sufficient technology expertize in
legacy system, TRA, discovery and analysis
tools, transformation tools?
• Is the business logic only understandable in the
legacy code?
• How can we overcome the lack of architectural
documentation?
• Will the entire testing and certification process
change?
• Will I create a maintenance nightmare?
• It’s a 24/7/365 operation – no downtime!
Presentation Title
Date 00, 2015
9
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
9
Distribution is Unlimited
Experiences

Customer
• Rush to use this data to get started removing legacy
• Different and misplaced emphases between people

SEI Team
• Strong differences of opinion during the analysis
• Schedule driven; a small subset completed it
• Proposed alternatives and a migration plan

Presentation Title
Date 00, 2015
11/22/2015 10
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
10
Distribution is Unlimited
Phases of Our Legacy Migration Activities

Analysis of Task Order


13 RFIs for D&A

Recommended ROI
they “lift and shift” modernize
the legacy to their
target architecture

Recommended to
start an immediate
“Discovery and
Analysis” (D&A) New Chief
task Architect

Chief Architect left;


lost our White Knight

Presentation Title
Date 00, 2015
11
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
11
Distribution is Unlimited
Experiences

Customer
• Built a task order with costs for Discovery and Analysis (D&A)
• Forced to build a return on investment (RoI) for complete
modernization
• They were not able to get money for the D&A

SEI Team
• Built the task order
• Supported the ROI effort
• Frustrated by lack of $

Presentation Title
Date 00, 2015
11/22/2015 12
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
12
Distribution is Unlimited
Phases of Our Legacy Migration Activities

We also worked on
Analysis of evaluation of the “sister” Performed an
Task
13 RFIs Order for program for AoA for Legacy
D&A modernization Modernization

Recommended ROI
they “lift and shift” modernize
the legacy to their
target architecture
Performed
various
Recommended to
explorations of
start an
alternatives
immediate
“Discovery and New Chief
Analysis” task Architect None were
Program completed Program
Chief Architect
left Manager left Manager left

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 13
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Don’t Live in a Dreamworld
• Big-bang changes usually fail
• Conducting transactions across
networks and keeping response times
satisfied!
• Transforming spaghetti code
automatically
• Separating presentation from
business processing from data
access!
• Moving from green screens to windows
• Making multiple types of changes simultaneously!
• Edict: No changes to the legacy system!
• The TRA is a good start, but an application architecture with data
modeling is needed
• Operating with multiple sources of authoritative data is a concern
Presentation Title
Date 00, 2015
14
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
14
Distribution is Unlimited
Target Reference Architecture

Application
Presentation Layer
Business Layer
Data Access Layer
This is a good Data Layer
start
But it is not Metadata

Security
Data
enough Data Warehousing
Transactional Data
Need a system
and application Failover
Infrastructure

software Load Balancing


architecture Integration Layer
• End state
Linux Software
• Each release
Commodity Hardware

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 15
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Migration Approaches

Options considered based on RFI proposals


1. Do nothing (baseline)
2. L&S (baseline): switch to relational DB and new platform
3. L&S then modernize
4. L&S then re-engineer
5. Re-engineer
6. Hybrid: L&S, modernize, re-engineer

Presentation Title
Date 00, 2015
11/22/2015 16
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
16
Distribution is Unlimited
Migration Process
List the options
Develop evaluation criteria
Determine and Score the options
score options Make a selection
Its not reasonable to explore every possible
option (combination of approaches), and then to
• Goals
exploreforevery
sequencing
possible implementation
List the Alternatives alternative
• Constraints on
• Leads toConductphasing
analysis paralysis and Analysis of
Discovery
Explore implementation • Approach
• Have to to make
migration
some recommendations
Legacy
• Build a high
• incrementally level
user, Target Architecture
Data, code, Understand
business processes
alternatives for options and chooseTRA and CPI ordering
alternative
• • approaches
Map legacy
Quality elements
attribute
Review
to TA elements
considerations
Migration Toolsets
• Code,
• Migration data, test, configuration
tooling
Develop Issues for Resolution
• • Keep vs Throwaway
Define phases
Build an end-state Develop Design Factors
• • Groups
Perform an Architectural Evaluation (and fix)
architecture
• Legacy: functionality, code, data BP, users
• Tiers/layers
• Transient code in legacy and TA
Build a roadmap
• Throwaway
• Align with infrastructure roadmap

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 17
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Evaluation Factors
Cost Performance Risk
• How much will the migration • How readily can new functionality be put into  • Partitioning of  software and data for 
labor cost? production during the migration process‐ e.g.  L&S causes cumbersome migration
• How much recovery of adaptive maintenance, changing user  • Are there tool factors that make the 
investment cost after workflows schedule unpredictable: learning curve, 
• How well does the end‐state system satisfy the  tool underperforms requiring extended 
cancellation?
TRA architectural structures (application  manual intervention
• How early will cost savings • What is the risk of technical 
layers, understanding, tiers, SOA) for 
happen? License and 30.00
developmental and sustainment attributes  obsolescence of the end state? 
support during migration? (extensibility, maintainability, reuse across  • Extent of external interfaces (OGA, 
• We started with the team’s architectural knowledge
How much will the ongoing applications, standards)
25.00 Commercial)
legacy license and/or support • How well does the system meet the  • How solid is the architectural 

cost post migration? 40 or so factors
operational attributes: satisfy end‐user  foundation, supported by 
20.00
documentation, at the end state?
We discovered the OMB factors ‐19 factors
response under maximum workload, 
• How much will be the Impact on Users 
scalability, manageability, load balancing, 
• Merged them into the initial factors‐
15.00
reliability, availability)  50  or so Interface functionality? 
W Factor 1 2 3 4 5 6 • How is data organized wrt
We started to weight the factors TRA : relational,  • How well can the two migrations be 
coordinated? 
normalized, distributed, partitioned
10.00
3 How is data • 1 Too many factors had an equivalent distribution of weights
1 5 8 8 8 • How many internal interfaces changes  will be  • Risk of creating a monopoly for future 
organized wrt TA needed procurements 
5.00
: relational, We combined factors with like distributions‐

23 factors
• How complex will the program 
normalized, How much will be the level of effort for testing 
to make it production ready management effort be? 
distributed, 0.00
• How much business functionality will be 
partitioned • How well are the TRA security conditions  negatively affected? 
satisfied:  easily changed, no unauthorized  • Budget/ Cost/Schedule profile goes out 
access, no data corruption of alignment
30.00 • What will be the impact for data 
20.00 synchronization, parallel run and cutover? 
10.00 • How modernized are the user screens wrt the 
0.00 TRA?

Presentation Title
Date 00, 2015
© 2015 Carnegie Mellon University 18
Distribution Statement A: Approved for Public Release;
Distribution is Unlimited
Summary

Technical
• Included OMB guidelines in evaluation factors
• Fit quality attributes in evaluation factors
• Plan – but don’t overdo it

Management
• Changing political environment is hostile to technical work
• Need to have PoC at management decision-making level
• Drift and redirection can become a way of life
30.00
• Management happy with the summary sheet 20.00
10.00
• Don’t overdo the supporting details 0.00

• Did the system engineering in an Agile manner

Presentation Title
Date 00, 2015
19
© 2015 Carnegie Mellon University
Distribution Statement A: Approved for Public Release;
19
Distribution is Unlimited

You might also like