SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
Migration Decoded
To keep pace with the unrelenting, swift pace of new technology,
IT organizations need an integrated software migration framework
that spans everything from effort estimation/impact assessment,
baselining and acceleration tools, through methodology selection,
merging and finishing criteria, as well as validation.
Executive Summary
In today’s fast-paced business place where tech-
nology advancements and disruptive innovation
rule the day, the shelf life of technology stacks and
related application software is being compressed
rapidly. This forces IT organizations to continu-
ously invest in migration and new technology
platforms to stay current with the dynamic needs
of the modern digital enterprise. The volume of
these investments is indicative of how far behind
the technology stack is or how fast newer advanc-
es in the technology have evolved.
Recent data points make this challenge abun-
dantly clear:
• According to industry research, a double digit
percentage of overall IT budgets is allocated to
software migration, modernization and ratio-
nalization, annually.
• The success rate of migration projects is
low compared with other types of IT, due to
numerous factors. In fact, more than half
of migration projects either fail or exceed
budgets, according to industry research. The
bottom line: Migrations are often complex and
exceedingly risky!
To unleash the market potential and reduce the
risk involved in migrations, we have created a
framework called 10 Migration Success Factors
(MSF 10). We have implemented different types
of migrations in the last five years with a large
strategic client and have extracted 10 key areas
that we believe must be mastered to succeed in
a migration project. These factors are based on
various real-time experiences, such as version
upgrades, total code rewrites, compliance to ref-
erence architectures (a prescription of common
components, and software products and their
versions), data migration, new data center migra-
tion — or any combination of the above.
While there are many other specific factors that
may influence the success of a migration proj-
ect, the generic 10 listed in this white paper are
critical and applicable in any given migration
context. This list will vastly improve the odds of
project success for any project/program manager
involved with migration planning.
• Cognizant 20-20 Insights
cognizant 20-20 insights | december 2015
Estimation and Impact Assessment
What does it take to migrate? Estimating the
unique values, for starters. Each migration is
unique and complex, across a variety of tasks.
Therefore, scientific estimation methods such
as function point (FP), use case points (UCP),
Cocomo model, etc. are not effective in estimat-
ing the migration effort. We suggest adopting a
story points/work breakdown structure (WBS) or
a complexity points-based sizing approach. Often,
this requires a quick proof of concept (POC) to
understand the tasks involved in the migration
before the final estimations can be determined.
The POC not only helps the estimation process,
but also helps in understanding and solving the
challenges involved.
•	 A sample complexity factors list from one
of our large Java-based migrations includes
number of EAR/WAR files.
•	 Total Web services/APIs provided.
•	 Number of POM files impacted.
A standard technology-based
questionnaire should be
prepared to help in the assess-
ment of the current state of
the platform and application.
An impact analyzer (cus-
tom-built or provided by the
product owner) is typically
used to identify the impacted
components and code, which
will form the input for the
estimate.
Baseline Current State
Code is the only truth. Due to rapid technolo-
gy changes, the shelf life of many applications
is rapidly compressing. Because of this, no arti-
fact (design, requirements, test cases, etc.) exists
to accurately reveal the current functional-
ity, nonfunctional requirements benchmark, etc.
Therefore, it’s essential to baseline the current
state of the application from the code base of the
platform. This can be done as follows:
•	 Create functional baseline: See what’s
working and what’s not, based on a compre-
hensive functional test suite. This will also
record any defects in the current system.
•	 Create nonfunctional baseline: Baseline
performance, scalability of the application/
platform for critical user scenarios.
•	 Code quality baseline: Baseline the code
quality against parameters in the specific tech-
nology (e.g., PMD, Checkstyle and FindBugs for
Java).
•	 Create security vulnerabilities and accessibil-
ity baseline as applicable.
•	 Baseline the current build, deployment infra-
structure, data archival and retention policies,
and disaster recovery requirements.
•	 Perform gap analysis for the as-is (what
is it supposed to be vs. actual in the point of
departure (POD)). For example: exceptions that
exist in as-is for compliance to reference archi-
tecture.
Migration Approach
The approach taken should form your path
forward.
•	 Choose the right team model.
•	 A centralized team: This is a separate team
that will be employed for migration. The
team will complete the migration to meet
the acceptance criteria and hand it over to
the “owning” team. This will be well-suited for
simple and stable applications.
•	 A federated team: This is a team formed with
a combination of a target technology expert
team and an owning team (subject matter
experts), which will complete the migration.
This is suitable when:
>> The target technology is fairly new.
>> The application is complex.
>> The velocity of the application changes are
high.
•	 Choose a factory model, as applicable, to
achieve economy of scale through industrial-
ization. This is suitable when:
>> The number of applications to be migrated
is high.
>> There is a possibility of repetitiveness in mi-
gration.
>> Separate teams/application production lines
(APLs) can be set up for each logical step of
the migration process.
Establishing entry-task-validation-exit (ETVX)
will be essential for successful APL execution.
It’s expected to achieve at least 15% to 20%
of cost savings in low volume cases, and above
20% where application volumes are high. In our
research, we observed these efficiencies through
three dimensions:
•	 Increased human efficiencies.
cognizant 20-20 insights 2
1
2
3
A standard
technology-based
questionnaire
should be prepared
to help in the
assessment of the
current state of
the platform and
application.
cognizant 20-20 insights 3
•	 Reduced effort via automation.
•	 Improved collaboration and communication
with the supporting teams.
Choose between a big bang vs. phased approach.
Consider the following factors before making a
decision:
•	 Risk to the business.
•	 Complexity and size of the platform.
•	 Complexity involved when releasing software
in phases.
•	 Cost involved in maintaining two parallel
platforms.
Accelerators
We recommend the use of accelerators to auto-
mate the migration process, not just for speed
and efficiency but for quality and consistency.
Depending on the context, numerous accelera-
tors are available for product migrations, but be
aware: you may need to build custom accelera-
tors for certain application migrations.
Irrespective of the context, consider the following
accelerators.
•	 Tools for impact analysis: It’s very important
to understand “what” is being impacted by
the migration project. Manual analysis of the
code-base/components is generally tedious
and error-prone, and it might increase risk
since it can lead to incorrect estimates and mis-
understanding of the migration implications.
Third-party tools exist to aid in this process; in
fact, small utility tools are available for custom
applications.
•	 Create cookbooks: Capture step-by-step tasks
and instructions in a shareable document to
ensure consistent quality and help improve
productivity. This will help improve productiv-
ity. Also, conduct a POC to test these steps as
well as to help document learnings and best
practices.
•	 Automation: Build tool-set/utilities for
repetitive tasks, particularly if the migration
is focused on a group of applications. Before
building, assess the trade-off between the
effort savings and cost of building a tool-set.
Examples include:
>> Impact analyzer.
>> Utility to set up developer environment.
>> Utilities for automating the migration of
POD source code to point of arrival (POA)-
compliant source code.
>> Data migration utilities.
>> Data validation scripts post migration of the
data into POD.
>>“Sample application” to validate the envi-
ronment; for example, a “sample war” (Web
archive) in the Java world with different
integrations of the platform can be used to
test the newly created environment.
>> Log analyzers.
>> Test data-creating utilities for load and per-
formance testing and functional testing.
Merge Strategy
Business teams constantly introduce change. It’s
therefore important to have a strategy and road-
map for ongoing changes while the migration is
taking place to the POA. Key considerations in
this regard include:
•	 Create a merge strategy: Define merge points
at which the ongoing changes are merged/syn-
chronized with POA codebase.
•	 Plan a freeze period: Define a freeze period for
ongoing changes before the production release
goes live. It should be as short as possible to
avoid business impact.
•	 Isolate POA expected behaviors: The POA’s
expected behavior, when combined with other
changes, will complicate migration activities.
It becomes hard to separate issues originated
by the migration vs. ongoing changes. There is
a risk of attributing existing production bugs
to migration tasks. A functional baseline that
creates a “baseline current state” will help to
resolve this.
POA Validation/Test Strategy
Did I break something? It’s important to have POA
validation/test strategy in place to make sure
before and after functionality is the same (except
for the ongoing changes, if any) and nonfunction-
al parameters are equal or better.
#
2
4
5
6
It’s important to have POA
validation/test strategy
in place to make sure before and
after functionality is the same
(except for the ongoing changes,
if any) and nonfunctional
parameters are equal or better.
•	 Functional comparison: Compare the
functional results of the migrated applications
against the functional baseline. You can adopt
frameworks such as Selenium or use custom
tools for this comparison.
>> A typical UI for an application can be com-
pared using image comparison — even at the
pixel level — to make sure nothing is changed
due to migration. Selenium, for example, can
be used to capture the screenshots and com-
pare before/after snapshots. For any applica-
tion, the test results at the time of the base-
line will be used to certify the target state.
•	 Validate nonfunctional requirements (per-
formance, scalability, etc.): The baseline will
be compared for critical use cases to ensure
better or equal performance, scalability, etc.
post migration.
•	 Create a strategy for data migration and
compliance to reference-architecture as
applicable.
•	 Create a test-data strategy: It is often
extremely challenging to capture the right test
data for validation. The cleansed data from the
POD system can be loaded to overcome this
challenge.
Infrastructure Strategy
Build infrastructure to POA. Many migrations
require procuring all new infrastructure (Web,
app, database servers, new OS, etc.) and it’s a
cumbersome process in many large corporations.
Things to consider:
is deployed in the target environment. This will
help to isolate the issues and possible resolu-
tions before the application is validated. Often,
IT organizations use a test app with all critical
integration scenarios for this purpose.
Done Criteria
When is the migration considered complete?
Though it’s a common practice to have done/done
or acceptance criteria for any project, it’s more
important for migration projects. Typical accep-
tance criteria will include:
•	 Backward compatibility: How far back are the
versions to be supported? For example, older
browser versions to be supported for UI appli-
cations, or old versions of Web services.
•	 Functional validation compared to baseline.
•	 Nonfunctional validation compared to
baseline. This means no degradation of code
quality, compliance with current SLAs for per-
formance, vulnerabilities, etc.
Coexistence Strategy
Don’t shut down the POD before completely
standing on POA.
•	 Have a fallback strategy: Depending on the
production stabilization period and approach
(big-bang vs. phased), the strategy should
include considerations for data synchroniza-
tion, batch processes, disaster recovery envi-
ronments, switch for traffic diversion, etc.
•	 Consider a switch/toggle approach: Design
a possible parameterized switch between
old and new systems to toggle between the
environments with minimum impact to the
business. Having a comprehensive coexistence
strategy becomes a minimum requirement to
accomplish this.
Change Management
Last but not least, successful migration projects
depend on change management mastery. To do
this:
•	 Create a communication plan to dependent
teams for all integrations: Include synchro-
nous, asynchronous, batch. Ensure that there
is no impact to the existing protocols.
•	 Train support and application teams: It’s
important to train the support personnel and
development teams to take care of the POA
platform.
•	 Manage the change to disaster recovery
plan, backup compliance and data retention
requirements.
•	 Add lead times into planning: Based on
SLAs, the environment readiness will become
a hard dependency in the plan. For example,
the system and integration testing (SIT) envi-
ronment should be ready at least two weeks
before SIT starts.
•	 Isolate the environmental issues: IT organi-
zations need a mechanism in place to validate
the environment before the actual application
cognizant 20-20 insights 4
IT organizations
need a mechanism
in place to validate
the environment
before the actual
application is
deployed in the
target environment.
•	 Procurement process:
For physical, virtual, cloud-
based infrastructures,
almost every organization
will have a defined process
with timeline service level
agreements (SLAs) for
every step. From there, they
need a complete under-
standing of the migration
process since it impacts the
migration schedule.
7
8
9
10
About Cognizant
Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and business process out-
sourcing services, dedicated to helping the world’s leading companies build stronger businesses. Headquartered in
Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry
and business process expertise, and a global, collaborative workforce that embodies the future of work. With over
100 development and delivery centers worldwide and approximately 219,300 employees as of September 30, 2015,
Cognizant is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked
among the top performing and fastest growing companies in the world. Visit us online at www.cognizant.com or follow
us on Twitter: Cognizant.
World Headquarters
500 Frank W. Burr Blvd.
Teaneck, NJ 07666 USA
Phone: +1 201 801 0233
Fax: +1 201 801 0243
Toll Free: +1 888 937 3277
Email: inquiry@cognizant.com
European Headquarters
1 Kingdom Street
Paddington Central
London W2 6BD
Phone: +44 (0) 20 7297 7600
Fax: +44 (0) 20 7121 0102
Email: infouk@cognizant.com
India Operations Headquarters
#5/535, Old Mahabalipuram Road
Okkiyam Pettai, Thoraipakkam
Chennai, 600 096 India
Phone: +91 (0) 44 4209 6000
Fax: +91 (0) 44 4209 6060
Email: inquiryindia@cognizant.com
­­© Copyright 2015, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is
subject to change without notice. All other trademarks mentioned herein are the property of their respective owners. 	 TL Codex 1564
About the Author
Suresh Chinnam is a Project Director within Cognizant’s Banking and Financial Services business unit. In
this role, he is responsible for delivery of digital platforms for a large cards and payments client. Suresh
received his master of technology degree in computer science and engineering from IIT Madras. He can
be reached at Suresh.Chinnam@cognizant.com.
Looking Ahead
The problem of migrating to modern technologies
is only going to grow because of accelerated tech-
nology advancements. To deal with this, MSF 10
provides a methodical approach and comprehen-
sive array of tactics. For MSF 10 to reach its full
potential, IT organizations must:
•	 Thoroughly understand their current software/
application environment.
•	 Comprehend the business criticality and the
impact of the software to be migrated.
•	 Apply detailed architectural governance.
•	 Build an organizational culture open to
adopting new technologies as they emerge.
Well-defined planning, appropriate estimation
and sound execution methodology will go a long
way towards mitigating the risk of complex migra-
tions. Our MSF-10 framework is a comprehensive
set of tried and true strategies based on experi-
ences gleaned from real-time implementations.
This will help with proposing, planning and exe-
cuting any type of migration.

Weitere ähnliche Inhalte

Was ist angesagt?

Iwsm2014 exponentially weighted moving average prediction in the software d...
Iwsm2014   exponentially weighted moving average prediction in the software d...Iwsm2014   exponentially weighted moving average prediction in the software d...
Iwsm2014 exponentially weighted moving average prediction in the software d...
Nesma
 
Software Rollout
Software RolloutSoftware Rollout
Software Rollout
colmbennett
 

Was ist angesagt? (20)

Establishing the Performance Measurement Baseline
Establishing the Performance Measurement BaselineEstablishing the Performance Measurement Baseline
Establishing the Performance Measurement Baseline
 
Project control and process instrumentation
Project control and process instrumentationProject control and process instrumentation
Project control and process instrumentation
 
The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...The when & why of evolution of performance testing to performance engineering...
The when & why of evolution of performance testing to performance engineering...
 
DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)DHS - Using functions points to estimate agile development programs (v2)
DHS - Using functions points to estimate agile development programs (v2)
 
Iwsm2014 exponentially weighted moving average prediction in the software d...
Iwsm2014   exponentially weighted moving average prediction in the software d...Iwsm2014   exponentially weighted moving average prediction in the software d...
Iwsm2014 exponentially weighted moving average prediction in the software d...
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
Safe, Reliable, Available, High‒Integrity, and Fault Tolerant Embedded Softwa...
Safe, Reliable, Available, High‒Integrity, and Fault Tolerant Embedded Softwa...Safe, Reliable, Available, High‒Integrity, and Fault Tolerant Embedded Softwa...
Safe, Reliable, Available, High‒Integrity, and Fault Tolerant Embedded Softwa...
 
4+_exp_ETLTester
4+_exp_ETLTester4+_exp_ETLTester
4+_exp_ETLTester
 
Navaneethan Balakrishnan_Resume
Navaneethan Balakrishnan_ResumeNavaneethan Balakrishnan_Resume
Navaneethan Balakrishnan_Resume
 
When do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh RanaWhen do software issues get reported in large open source software - Rakesh Rana
When do software issues get reported in large open source software - Rakesh Rana
 
Project Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software DevelopmentProject Evaluation and Estimation in Software Development
Project Evaluation and Estimation in Software Development
 
Anil_Chavan
Anil_ChavanAnil_Chavan
Anil_Chavan
 
Navaneethan Balakrishnan_Resume
Navaneethan Balakrishnan_ResumeNavaneethan Balakrishnan_Resume
Navaneethan Balakrishnan_Resume
 
Effort estimation for web applications
Effort estimation for web applicationsEffort estimation for web applications
Effort estimation for web applications
 
CMMI and Agile
CMMI and AgileCMMI and Agile
CMMI and Agile
 
CV_ChanchalPurkayastha
CV_ChanchalPurkayasthaCV_ChanchalPurkayastha
CV_ChanchalPurkayastha
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
WBS is Paramount
WBS is ParamountWBS is Paramount
WBS is Paramount
 
Software Rollout
Software RolloutSoftware Rollout
Software Rollout
 

Ähnlich wie Migration Decoded

KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6
keith inman
 
KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6
keith inman
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
Michael Wigley
 
Asha Jacob_Resume
Asha Jacob_ResumeAsha Jacob_Resume
Asha Jacob_Resume
Asha Jacob
 
Online student management system
Online student management systemOnline student management system
Online student management system
Mumbai Academisc
 

Ähnlich wie Migration Decoded (20)

KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6
 
KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6KI_res_24_yrs_exp_big_6
KI_res_24_yrs_exp_big_6
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?
 
Are Function Points Still Relevant?
Are Function Points Still Relevant?Are Function Points Still Relevant?
Are Function Points Still Relevant?
 
Improving Speed to Market in E-commerce
Improving Speed to Market in E-commerceImproving Speed to Market in E-commerce
Improving Speed to Market in E-commerce
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
 
Basic-Project-Estimation-1999
Basic-Project-Estimation-1999Basic-Project-Estimation-1999
Basic-Project-Estimation-1999
 
Asha Jacob_Resume
Asha Jacob_ResumeAsha Jacob_Resume
Asha Jacob_Resume
 
Point ofview devops
Point ofview devopsPoint ofview devops
Point ofview devops
 
PMI Presentation2
PMI Presentation2PMI Presentation2
PMI Presentation2
 
Online student management system
Online student management systemOnline student management system
Online student management system
 
Critical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management SolutionCritical steps in Determining Your Value Stream Management Solution
Critical steps in Determining Your Value Stream Management Solution
 
Article by Marlabs Bangalore employee receives international recognition!
Article by Marlabs Bangalore employee receives international recognition!Article by Marlabs Bangalore employee receives international recognition!
Article by Marlabs Bangalore employee receives international recognition!
 
PWC Software Robotics
PWC Software RoboticsPWC Software Robotics
PWC Software Robotics
 
Cloud Adoption Plan - Planning phase
Cloud Adoption Plan - Planning phaseCloud Adoption Plan - Planning phase
Cloud Adoption Plan - Planning phase
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
Soirée du Test Logiciel - Présentation de Kiuwan (Jack ABDO)
 
]project-open[ Roll Out Plan
]project-open[ Roll Out Plan]project-open[ Roll Out Plan
]project-open[ Roll Out Plan
 
How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...How Should We Estimate Agile Software Development Projects and What Data Do W...
How Should We Estimate Agile Software Development Projects and What Data Do W...
 
Application Transformation Workshop
Application Transformation WorkshopApplication Transformation Workshop
Application Transformation Workshop
 

Mehr von Cognizant

Mehr von Cognizant (20)

Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
 
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-makingData Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
Data Modernization: Breaking the AI Vicious Cycle for Superior Decision-making
 
It Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional ExperiencesIt Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
It Takes an Ecosystem: How Technology Companies Deliver Exceptional Experiences
 
Intuition Engineered
Intuition EngineeredIntuition Engineered
Intuition Engineered
 
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
The Work Ahead: Transportation and Logistics Delivering on the Digital-Physic...
 
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital InitiativesEnhancing Desirability: Five Considerations for Winning Digital Initiatives
Enhancing Desirability: Five Considerations for Winning Digital Initiatives
 
The Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility MandateThe Work Ahead in Manufacturing: Fulfilling the Agility Mandate
The Work Ahead in Manufacturing: Fulfilling the Agility Mandate
 
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
The Work Ahead in Higher Education: Repaving the Road for the Employees of To...
 
Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...Engineering the Next-Gen Digital Claims Organisation for Australian General I...
Engineering the Next-Gen Digital Claims Organisation for Australian General I...
 
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
Profitability in the Direct-to-Consumer Marketplace: A Playbook for Media and...
 
Green Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for SustainabilityGreen Rush: The Economic Imperative for Sustainability
Green Rush: The Economic Imperative for Sustainability
 
Policy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for InsurersPolicy Administration Modernization: Four Paths for Insurers
Policy Administration Modernization: Four Paths for Insurers
 
The Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with DigitalThe Work Ahead in Utilities: Powering a Sustainable Future with Digital
The Work Ahead in Utilities: Powering a Sustainable Future with Digital
 
AI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to ValueAI in Media & Entertainment: Starting the Journey to Value
AI in Media & Entertainment: Starting the Journey to Value
 
Operations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First ApproachOperations Workforce Management: A Data-Informed, Digital-First Approach
Operations Workforce Management: A Data-Informed, Digital-First Approach
 
Five Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the CloudFive Priorities for Quality Engineering When Taking Banking to the Cloud
Five Priorities for Quality Engineering When Taking Banking to the Cloud
 
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining FocusedGetting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
Getting Ahead With AI: How APAC Companies Replicate Success by Remaining Focused
 
Crafting the Utility of the Future
Crafting the Utility of the FutureCrafting the Utility of the Future
Crafting the Utility of the Future
 
Utilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data PlatformUtilities Can Ramp Up CX with a Customer Data Platform
Utilities Can Ramp Up CX with a Customer Data Platform
 
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
The Work Ahead in Intelligent Automation: Coping with Complexity in a Post-Pa...
 

Migration Decoded

  • 1. Migration Decoded To keep pace with the unrelenting, swift pace of new technology, IT organizations need an integrated software migration framework that spans everything from effort estimation/impact assessment, baselining and acceleration tools, through methodology selection, merging and finishing criteria, as well as validation. Executive Summary In today’s fast-paced business place where tech- nology advancements and disruptive innovation rule the day, the shelf life of technology stacks and related application software is being compressed rapidly. This forces IT organizations to continu- ously invest in migration and new technology platforms to stay current with the dynamic needs of the modern digital enterprise. The volume of these investments is indicative of how far behind the technology stack is or how fast newer advanc- es in the technology have evolved. Recent data points make this challenge abun- dantly clear: • According to industry research, a double digit percentage of overall IT budgets is allocated to software migration, modernization and ratio- nalization, annually. • The success rate of migration projects is low compared with other types of IT, due to numerous factors. In fact, more than half of migration projects either fail or exceed budgets, according to industry research. The bottom line: Migrations are often complex and exceedingly risky! To unleash the market potential and reduce the risk involved in migrations, we have created a framework called 10 Migration Success Factors (MSF 10). We have implemented different types of migrations in the last five years with a large strategic client and have extracted 10 key areas that we believe must be mastered to succeed in a migration project. These factors are based on various real-time experiences, such as version upgrades, total code rewrites, compliance to ref- erence architectures (a prescription of common components, and software products and their versions), data migration, new data center migra- tion — or any combination of the above. While there are many other specific factors that may influence the success of a migration proj- ect, the generic 10 listed in this white paper are critical and applicable in any given migration context. This list will vastly improve the odds of project success for any project/program manager involved with migration planning. • Cognizant 20-20 Insights cognizant 20-20 insights | december 2015
  • 2. Estimation and Impact Assessment What does it take to migrate? Estimating the unique values, for starters. Each migration is unique and complex, across a variety of tasks. Therefore, scientific estimation methods such as function point (FP), use case points (UCP), Cocomo model, etc. are not effective in estimat- ing the migration effort. We suggest adopting a story points/work breakdown structure (WBS) or a complexity points-based sizing approach. Often, this requires a quick proof of concept (POC) to understand the tasks involved in the migration before the final estimations can be determined. The POC not only helps the estimation process, but also helps in understanding and solving the challenges involved. • A sample complexity factors list from one of our large Java-based migrations includes number of EAR/WAR files. • Total Web services/APIs provided. • Number of POM files impacted. A standard technology-based questionnaire should be prepared to help in the assess- ment of the current state of the platform and application. An impact analyzer (cus- tom-built or provided by the product owner) is typically used to identify the impacted components and code, which will form the input for the estimate. Baseline Current State Code is the only truth. Due to rapid technolo- gy changes, the shelf life of many applications is rapidly compressing. Because of this, no arti- fact (design, requirements, test cases, etc.) exists to accurately reveal the current functional- ity, nonfunctional requirements benchmark, etc. Therefore, it’s essential to baseline the current state of the application from the code base of the platform. This can be done as follows: • Create functional baseline: See what’s working and what’s not, based on a compre- hensive functional test suite. This will also record any defects in the current system. • Create nonfunctional baseline: Baseline performance, scalability of the application/ platform for critical user scenarios. • Code quality baseline: Baseline the code quality against parameters in the specific tech- nology (e.g., PMD, Checkstyle and FindBugs for Java). • Create security vulnerabilities and accessibil- ity baseline as applicable. • Baseline the current build, deployment infra- structure, data archival and retention policies, and disaster recovery requirements. • Perform gap analysis for the as-is (what is it supposed to be vs. actual in the point of departure (POD)). For example: exceptions that exist in as-is for compliance to reference archi- tecture. Migration Approach The approach taken should form your path forward. • Choose the right team model. • A centralized team: This is a separate team that will be employed for migration. The team will complete the migration to meet the acceptance criteria and hand it over to the “owning” team. This will be well-suited for simple and stable applications. • A federated team: This is a team formed with a combination of a target technology expert team and an owning team (subject matter experts), which will complete the migration. This is suitable when: >> The target technology is fairly new. >> The application is complex. >> The velocity of the application changes are high. • Choose a factory model, as applicable, to achieve economy of scale through industrial- ization. This is suitable when: >> The number of applications to be migrated is high. >> There is a possibility of repetitiveness in mi- gration. >> Separate teams/application production lines (APLs) can be set up for each logical step of the migration process. Establishing entry-task-validation-exit (ETVX) will be essential for successful APL execution. It’s expected to achieve at least 15% to 20% of cost savings in low volume cases, and above 20% where application volumes are high. In our research, we observed these efficiencies through three dimensions: • Increased human efficiencies. cognizant 20-20 insights 2 1 2 3 A standard technology-based questionnaire should be prepared to help in the assessment of the current state of the platform and application.
  • 3. cognizant 20-20 insights 3 • Reduced effort via automation. • Improved collaboration and communication with the supporting teams. Choose between a big bang vs. phased approach. Consider the following factors before making a decision: • Risk to the business. • Complexity and size of the platform. • Complexity involved when releasing software in phases. • Cost involved in maintaining two parallel platforms. Accelerators We recommend the use of accelerators to auto- mate the migration process, not just for speed and efficiency but for quality and consistency. Depending on the context, numerous accelera- tors are available for product migrations, but be aware: you may need to build custom accelera- tors for certain application migrations. Irrespective of the context, consider the following accelerators. • Tools for impact analysis: It’s very important to understand “what” is being impacted by the migration project. Manual analysis of the code-base/components is generally tedious and error-prone, and it might increase risk since it can lead to incorrect estimates and mis- understanding of the migration implications. Third-party tools exist to aid in this process; in fact, small utility tools are available for custom applications. • Create cookbooks: Capture step-by-step tasks and instructions in a shareable document to ensure consistent quality and help improve productivity. This will help improve productiv- ity. Also, conduct a POC to test these steps as well as to help document learnings and best practices. • Automation: Build tool-set/utilities for repetitive tasks, particularly if the migration is focused on a group of applications. Before building, assess the trade-off between the effort savings and cost of building a tool-set. Examples include: >> Impact analyzer. >> Utility to set up developer environment. >> Utilities for automating the migration of POD source code to point of arrival (POA)- compliant source code. >> Data migration utilities. >> Data validation scripts post migration of the data into POD. >>“Sample application” to validate the envi- ronment; for example, a “sample war” (Web archive) in the Java world with different integrations of the platform can be used to test the newly created environment. >> Log analyzers. >> Test data-creating utilities for load and per- formance testing and functional testing. Merge Strategy Business teams constantly introduce change. It’s therefore important to have a strategy and road- map for ongoing changes while the migration is taking place to the POA. Key considerations in this regard include: • Create a merge strategy: Define merge points at which the ongoing changes are merged/syn- chronized with POA codebase. • Plan a freeze period: Define a freeze period for ongoing changes before the production release goes live. It should be as short as possible to avoid business impact. • Isolate POA expected behaviors: The POA’s expected behavior, when combined with other changes, will complicate migration activities. It becomes hard to separate issues originated by the migration vs. ongoing changes. There is a risk of attributing existing production bugs to migration tasks. A functional baseline that creates a “baseline current state” will help to resolve this. POA Validation/Test Strategy Did I break something? It’s important to have POA validation/test strategy in place to make sure before and after functionality is the same (except for the ongoing changes, if any) and nonfunction- al parameters are equal or better. # 2 4 5 6 It’s important to have POA validation/test strategy in place to make sure before and after functionality is the same (except for the ongoing changes, if any) and nonfunctional parameters are equal or better.
  • 4. • Functional comparison: Compare the functional results of the migrated applications against the functional baseline. You can adopt frameworks such as Selenium or use custom tools for this comparison. >> A typical UI for an application can be com- pared using image comparison — even at the pixel level — to make sure nothing is changed due to migration. Selenium, for example, can be used to capture the screenshots and com- pare before/after snapshots. For any applica- tion, the test results at the time of the base- line will be used to certify the target state. • Validate nonfunctional requirements (per- formance, scalability, etc.): The baseline will be compared for critical use cases to ensure better or equal performance, scalability, etc. post migration. • Create a strategy for data migration and compliance to reference-architecture as applicable. • Create a test-data strategy: It is often extremely challenging to capture the right test data for validation. The cleansed data from the POD system can be loaded to overcome this challenge. Infrastructure Strategy Build infrastructure to POA. Many migrations require procuring all new infrastructure (Web, app, database servers, new OS, etc.) and it’s a cumbersome process in many large corporations. Things to consider: is deployed in the target environment. This will help to isolate the issues and possible resolu- tions before the application is validated. Often, IT organizations use a test app with all critical integration scenarios for this purpose. Done Criteria When is the migration considered complete? Though it’s a common practice to have done/done or acceptance criteria for any project, it’s more important for migration projects. Typical accep- tance criteria will include: • Backward compatibility: How far back are the versions to be supported? For example, older browser versions to be supported for UI appli- cations, or old versions of Web services. • Functional validation compared to baseline. • Nonfunctional validation compared to baseline. This means no degradation of code quality, compliance with current SLAs for per- formance, vulnerabilities, etc. Coexistence Strategy Don’t shut down the POD before completely standing on POA. • Have a fallback strategy: Depending on the production stabilization period and approach (big-bang vs. phased), the strategy should include considerations for data synchroniza- tion, batch processes, disaster recovery envi- ronments, switch for traffic diversion, etc. • Consider a switch/toggle approach: Design a possible parameterized switch between old and new systems to toggle between the environments with minimum impact to the business. Having a comprehensive coexistence strategy becomes a minimum requirement to accomplish this. Change Management Last but not least, successful migration projects depend on change management mastery. To do this: • Create a communication plan to dependent teams for all integrations: Include synchro- nous, asynchronous, batch. Ensure that there is no impact to the existing protocols. • Train support and application teams: It’s important to train the support personnel and development teams to take care of the POA platform. • Manage the change to disaster recovery plan, backup compliance and data retention requirements. • Add lead times into planning: Based on SLAs, the environment readiness will become a hard dependency in the plan. For example, the system and integration testing (SIT) envi- ronment should be ready at least two weeks before SIT starts. • Isolate the environmental issues: IT organi- zations need a mechanism in place to validate the environment before the actual application cognizant 20-20 insights 4 IT organizations need a mechanism in place to validate the environment before the actual application is deployed in the target environment. • Procurement process: For physical, virtual, cloud- based infrastructures, almost every organization will have a defined process with timeline service level agreements (SLAs) for every step. From there, they need a complete under- standing of the migration process since it impacts the migration schedule. 7 8 9 10
  • 5. About Cognizant Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and business process out- sourcing services, dedicated to helping the world’s leading companies build stronger businesses. Headquartered in Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry and business process expertise, and a global, collaborative workforce that embodies the future of work. With over 100 development and delivery centers worldwide and approximately 219,300 employees as of September 30, 2015, Cognizant is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked among the top performing and fastest growing companies in the world. Visit us online at www.cognizant.com or follow us on Twitter: Cognizant. World Headquarters 500 Frank W. Burr Blvd. Teaneck, NJ 07666 USA Phone: +1 201 801 0233 Fax: +1 201 801 0243 Toll Free: +1 888 937 3277 Email: inquiry@cognizant.com European Headquarters 1 Kingdom Street Paddington Central London W2 6BD Phone: +44 (0) 20 7297 7600 Fax: +44 (0) 20 7121 0102 Email: infouk@cognizant.com India Operations Headquarters #5/535, Old Mahabalipuram Road Okkiyam Pettai, Thoraipakkam Chennai, 600 096 India Phone: +91 (0) 44 4209 6000 Fax: +91 (0) 44 4209 6060 Email: inquiryindia@cognizant.com ­­© Copyright 2015, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is subject to change without notice. All other trademarks mentioned herein are the property of their respective owners. TL Codex 1564 About the Author Suresh Chinnam is a Project Director within Cognizant’s Banking and Financial Services business unit. In this role, he is responsible for delivery of digital platforms for a large cards and payments client. Suresh received his master of technology degree in computer science and engineering from IIT Madras. He can be reached at Suresh.Chinnam@cognizant.com. Looking Ahead The problem of migrating to modern technologies is only going to grow because of accelerated tech- nology advancements. To deal with this, MSF 10 provides a methodical approach and comprehen- sive array of tactics. For MSF 10 to reach its full potential, IT organizations must: • Thoroughly understand their current software/ application environment. • Comprehend the business criticality and the impact of the software to be migrated. • Apply detailed architectural governance. • Build an organizational culture open to adopting new technologies as they emerge. Well-defined planning, appropriate estimation and sound execution methodology will go a long way towards mitigating the risk of complex migra- tions. Our MSF-10 framework is a comprehensive set of tried and true strategies based on experi- ences gleaned from real-time implementations. This will help with proposing, planning and exe- cuting any type of migration.