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