Improving Java Migration Outcomes with Rapid Assessment

Transcription

Improving Java Migration Outcomes with Rapid Assessment
Improving Java Migration Outcomes with Rapid Assessment
Improving Java Migration Outcomes
with Rapid Assessment
Proven Strategies for Making Java 8 or JDK 8 Migrations Timely,
Cost-Effective, and Predictable
By G Venkat, Rajneesh Kumar, Sheenam Maheshwari
Nagarro White Paper
0
Improving Java Migration Outcomes with Rapid Assessment
Executive Summary
Many enterprises are migrating from older versions of Java to Java 8 / JDK 8. Java 8 is the most significant
release in nearly 20 years and it continues to evolve rapidly. While most enterprises use Java to run
business-critical processes, those applications have to be updated to remain competitive. While
stakeholders hope that their Java migration efforts will succeed, they also fear that some part of the
initiative will go awry. While migrations provide opportunities for innovation, Java course corrections,
feature improvements, scalability enhancements, more robust security, and compliance, there are
nevertheless uncertainties about the post-migration stability, implementation timelines, cost of migration,
and business impact.
Successful Java 8 migration initiatives require a sound plan; however, planning is one of the most
challenging tasks. To accurately plan and prepare for a successful Java migration, organizations must start
with an accurate assessment of the task at hand, including the risks as well as the cost, effort, and time
required. An accurate assessment requires a comprehensive understanding of the current applications, the
environment in which they run, and knowledge of the target post-migration scenario.
Any mistakes made during the assessment phase may result in cost and effort overruns. In fact, faulty
assessments may prove catastrophic to the organization’s growth and credibility.
This whitepaper proposes strategies for accelerating Java migration assessment and ensuring more
accurate assessments.
The Importance of Java Migration Rapid Assessment
Assessments are a necessary precursor to planning; however,
the time it takes to do them can serve as a barrier to timely
JDK 8 migration. As a result of time to market pressures, some
organizations sacrifice the accuracy of their assessments. With
Java Migration Rapid Assessment, enterprises can accelerate
their assessments and improve their accuracy to define the
most appropriate transformation and modernization strategy.
Java Migration Rapid Assessment streamlines large-scale
migrations by supplementing manual analysis with
automated tools.
Nagarro White Paper
1
Improving Java Migration Outcomes with Rapid Assessment
Migration Drivers and Complexity Vary
Enterprises migrate or modernize their Java applications
for different reasons. The graphic on the right shows some
of the drivers such as mergers and acquisitions, feature
upgrades, scaling up, standardizing platforms across the
enterprise, etc.
Depending on the driver, the Java migration effort may
involve more complexity than anticipated. For example,
mergers and acquisitions often bring together dissimilar
application landscapes, disparate software versions, and
an array of third-party libraries and frameworks that have
to be modernized. Java Migration Rapid Assessment
contemplates the migration drivers as well as business objectives, architectural considerations, and
technology considerations to facilitate a realistic understanding of the current situation, to enable more
effective planning of the migration effort, and to accurately estimate the time and cost involved.
Simplifying Assessment Complexity
In most cases, an assessment involves more than the
average enterprise anticipates due to complex
integrations, a lack of documentation, and the manual
effort involved. An accurate assessment necessarily
contemplates the various aspects of a Java application
including code, configuration, integrations,
dependencies, and business as usual changes currently
under development, automation tests, and business
impact. An assessment can become a daunting task
when the target versions of the software are not well
understood due to a lack of technical expertise. Java 8
includes many significant changes and enhancements that affect application development, security, user
experience, and performance. Automated Java migration assessment tools can help overcome such
challenges when coupled with code analysis and configuration by experts who understand the nuances of
Java 8/ JDK 8.
Elements of Effective Application Portfolio Assessment
Java application portfolios must be assessed on several levels ensure a successful migration at business,
architectural, and technical levels. Following which, it is also advisable to do Tolerate, Invest, Migrate,
Nagarro White Paper
2
Improving Java Migration Outcomes with Rapid Assessment
Eliminate (TIME) Mapping of the application portfolio to ensure that technology investment and business
strategy align.
The Scope Trinity: Business-Technology-Architecture Assessment
Migrating to Java 8 or any new version of Java requires a
comprehensive understanding of the current status of a
Java application and its surrounding ecosystem. How long
the assessment and migration take depends on a number
of factors including the complexity of the existing
application, business as usual changes, and the difficulty of
upgrading to the target version. Understanding the static
and dynamic nature of the changes is not easy, especially
in medium to complex application environments. Using the
Scope Trinity, which combines business, technology, and
architecture assessments, stakeholders can better
comprehend the current state of their environment and the
impact of changes.
Business, technology, and architecture assessments should be conducted in-depth as noted below to
avoid important issues that are often overlooked. Together, they provide businesses with a more realistic
view of the scope of the migration effort. When those assessments are followed by Tolerate, Invest,
Migrate, Eliminate (TIME) Mapping of applications, businesses can ensure that their application
investments mirror the strategic requirements of the business.
Business Assessment
Assessing the business function and value of Java
applications is a critical aspect of application portfolio
assessment. While applications are designed to support
business requirements, business requirements change
over time while the applications may remain static. This
creates a gap in functionality or redundant capabilities
between applications supporting different business units.
When doing a business assessment of Java applications,
consider their business importance and criticality, their
alignment with the strategic roadmap, and functional
mapping that includes foreseeable future needs. If the
application does not align well with the business goals, then it is a probably a candidate for the TIME
mapping, which is described on the next page.
Nagarro White Paper
3
Improving Java Migration Outcomes with Rapid Assessment
Technology Assessment
Enterprises should assess the technology stacks of their Java applications for the following aspects:


Static
o
Software updates
o
End-of-life/vendor support
o
Compliance needs
Dynamic
o
Scalability
o
Performance
o
Security
o
Stability
Architecture Assessment
Application lifecycles and the Java 8 migration roadmap need to align with the enterprise’s architecture
goals and vision. All Java applications should be assessed for the following:

Where is the application in its perceived lifecycle?

Does the application align with the business
objectives and the technology architecture?

What is the remaining lifetime of the application?

Would the application complicate the
modernization effort? How?

When was the last software/hardware upgrade?
Collectively, these exercises enable organizations to better
understand the scope of their Java modernization effort
and they help identify the priority of migration tasks.
TIME (Tolerate, Invest, Migrate, Eliminate) Mapping
In addition to doing business, technology, and architecture assessments, organizations should review their
Java application portfolio from time to time to align their business objectives with their technology
investments. The graphic below shows the TIME quadrants against which individual applications need to
be mapped to assess the application portfolio management and its roadmap.
Nagarro White Paper
4
Improving Java Migration Outcomes with Rapid Assessment
To take advantage of TIME Mapping:
1. Create an inventory of all Java applications used in the enterprise.
2. Identify the business value and costs of each application by doing the business, technical and
architecture assessment of your application portfolio (as defined in the section above).
3. Map the applications in a TIME chart.
4. Reduce redundant applications.
5. Optimize resources against applications.
TIME Mapping can save unnecessary migration costs. In Capgemini’s 2014 Application Landscape Report,
70 percent of survey respondents said that at least 20 percent of their applications are redundant. Fortytwo percent said that up to 50 percent of their application portfolio needs to be retired; seventy-five
percent said at least ten percent of their application portfolio needs to be retired. Given the popularity of
Java applications, the benefit of TIME mapping is obvious.
“Assessing an application against the dimensions of business value and risk enables you to classify
applications by strategy. Planning around high-level categories like tolerate, invest, migrate and eliminate
(TIME) is a key step in the assessment process, and ensures a manageable and cost-effective Program.”
- Gartner Vice President Jim Duggan in Application Portfolio Triage: TIME for APM
Nagarro White Paper
5
Improving Java Migration Outcomes with Rapid Assessment
How to Conduct a Rapid Assessment for Java Migration
Java Migration Rapid Assessments require a combination of people, processes, accelerators and tools to
ensure their speed and accuracy.
People: Involve All Stakeholders
Some organizations only involve a subset of the necessary stakeholders in a migration effort, especially in
the assessment and planning stages, which can cause project delays, scope creep, unforeseen costs, and
organizational friction. Involving all stakeholders reduces risks and it helps ensure timely Java
modernization. The stakeholders in a successful Java migration effort typically include representatives from
different teams including corporate management, enterprise architecture, business units, IT infrastructure,
engineering and development, subject matter experts, integrating parties, vendors and end users. It is also
important to ensure that third party vendor support is available for third party tools and libraries.
Processes: Use Best Practices and Enable Repeatable Processes
The processes for a successful Java 8 migration effort should be based on best practices that combine a
proven methodology and tools to enable more accurate assessments and planning. The key to Rapid
Assessment for Java 8 Migration is to utilize the right mix of automated and manual assessment methods
to discover what exists as well as to validate the hypothesis and project ideas. The graphic below depicts
the recommended process for any modernization assessment activity.
Nagarro White Paper
6
Improving Java Migration Outcomes with Rapid Assessment
A well-defined end-to-end Java 8 migration process ensures that all automated migration assessments are
well documented, commented, verified and reconciled before the switch occurs. Automation is often
aided by a customized implementation approach that addresses large scale migration assessments
involving hundreds of applications.
The success of a Rapid Java Migration Assessment is affected by the
quality of the planning done for it. To avoid unnecessary
organizational and technical friction, when you plan for Rapid Java
Migration Assessment, give as much priority to the migration
initiative as to business as usual improvements. Mitigating risks is
possible through early planning, risk identification, robust verification
procedures, and freezing any business as usual changes apart from
critical fixes.
It is easier to avoid time and cost overruns in migration projects by
considering important details that are often overlooked. Before you
begin a migration effort, make sure you have processes in place to:

Identify the issues and vulnerabilities in the target application
landscape

Ensure that no major functional changes are planned during
the migration phase

Ensure that no major infrastructure changes or upgrades are
planned

Augment the Java rapid migration assessment with
documentation and regression testing automation
While having more efficient
processes in place helps, it is
also necessary to have the
resources in place to carry
them out. One of the largest
challenges enterprises face
when migrating to Java 8/
JDK 8 is a lack of resources
necessary to support each
phase of the migration. To
address
this
challenge,
Nagarro devised the Elastic
Sourcing
Model
which
combines people, processes,
and automated tools and
accelerators so enterprises
can plan and execute Java 8 /
JDK
8
reliably
migrations
while
more
controlling
costs.
Considering such details may enable your organization to avoid weeks
or months of unforeseen delays.
An even greater return-on-investment (ROI) can be achieved using an iterative migration approach that
overcomes the challenges of scale and interdependencies among Java and other applications in the
application portfolio. An iterative migration approach also allows enterprises to establish repeatable
processes that enable continuous improvement and result in more predictable outcomes.
Nagarro White Paper
7
Improving Java Migration Outcomes with Rapid Assessment
Accelerators and Tools: Expedite Assessments
Tools and accelerators speed Java migration
assessments, often by automating tasks. They may
include Commercial off-the-shelf (COTS), custom, or
customized open-source tools such as:

Reverse engineering tools

Log analysis tools

Migration points finder

Integration points finder

Automatic conversion
o
Code
o
Configuration
o
Data store

Automatic code merging tools

Static code analysis tools

Automated verification tools
To ensure the Java 8/ JDK 8 migration predictability, it is necessary to have a modernization tool suite that
defines and effectively executes the iterations using the following metrics and components:



Migration points
o
Deprecated APIs with suggested improvements
o
Removed APIs with suggested replacements
o
Possible optimizations
Code size
o
KLOC
o
# of classes/methods
o
Duplicate code/libraries
Complexity
o
Tangle index
o
Dependencies
o
Class complexity
o
Cyclomatic complexity
o
Unit test coverage

Best practices and potential bugs through automated static code analysis

Manual and automatic modernization estimation effort tool(s)

Process assets and template(s)

Automated testing tool(s)

Application server upgrade tool(s)
Nagarro White Paper
8
Improving Java Migration Outcomes with Rapid Assessment
Conclusion
Java is evolving rapidly. To stay competitive, businesses cannot afford to delay Java modernization efforts
and application upgrades. While companies have already invested heavily in Java, they nevertheless need
to continue to update their software to meet customer expectations. However, costs and resource
constraints often get in the way.
Java Migration Rapid Assessment enables enterprises to time, plan, and execute Java 8 / JDK 8 migrations
in a way that reduces risks and costs. Using automation tools, organizations can accelerate the
identification of the migration points. Once identified, many of these migration points can be
automatically migrated to the target software. When tools and expert analysis are supplemented with best
practices and a proven methodology, enterprises can ensure the repeatability and predictability of their
Java 8 migration efforts.
Nagarro White Paper
9
Improving Java Migration Outcomes with Rapid Assessment
Nagarro builds complex, business-critical software and IT projects for leading companies across multiple
industries. Headquartered in Silicon Valley and a member of the Allgeier Group in Germany, Nagarro is
recognized worldwide for its technical expertise, agile deployment, and bedrock commitment to customer
service.
Successful companies around the globe leverage Nagarro’s Java expertise to meet their strategic objectives
with confidence and ensure proven best practices. Nagarro's Java transformation and modernization
(TransMod) services include: Java Rapid Assessment, solution strategy and roadmap consulting, system
architecture and user experience design, application development, migration, enterprise integration,
maintenance, and support.
Nagarro has also been named to the Global Outsourcing 100® List by the IAOP® (International Association
of Outsourcing Professionals®), earning the highest possible scores in three categories – Customer
References, Employee Management and Executive Leadership.
Identifying Nagarro among the 25 “Rising
Stars”, this ranking reinforces Nagarro’s reputation as a top global provider of business-critical outsourced IT
services.
Follow us on:
sales@nagarro.com
www.nagarro.com
Local US Offices:
/nagarro
/company/nagarro
/nagarroinc
Our Locations:
San Jose, CA
New York, NY
Atlanta, GA
Monterrey
226 Airport Pkwy
5 Penn Plaza
400 Galleria Pkwy
London
Suite 390
23rd Floor
Suite 1500
San Jose, CA 95110
(408) 436-6170
New York, NY 10001
(212) 799-2899
Atlanta, GA 30339
(678) 401-3131
Frankfurt
Munich
Zurich
Vienna
Stockholm
Timisoara
New Delhi
Jaipur
WHITEPAPER
SEPTEMBER 15, 2014
© Copyright 2014. Nagarro In. All rights reserved. No part of this document may be reproduced in any form or by any means, without express
written permission from Nagarro Inc. All other trademarks mentioned herein are the property of their respective owners. Specifications subject
to change without notice. 226 Airport Parkway, Suite 390 San Jose, CA 95110, USA; Phone: +1 (408) 436 6170 / Fax: +1 (408) 436 7508
Nagarro White Paper
10