• Save
Migrating Legacy Code
Upcoming SlideShare
Loading in...5
×
 

Migrating Legacy Code

on

  • 1,385 views

 

Statistics

Views

Total Views
1,385
Views on SlideShare
1,385
Embed Views
0

Actions

Likes
3
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Migrating Legacy Code Migrating Legacy Code Presentation Transcript

  • Migrating Legacy Code to anAgile ArchitectureCreating an Agile EcosystemMatt Anderson, PMP, PMI-ACPDirector, Program ManagementPratik NathKnowledge Architect, UpliftCenter, Bangalore February 21, 2012
  • Objectives Using Cerner’s experience, provide strategies for managing legacy code in an Agile world© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 1
  • Cerner Corporation Started in 1979, based in Kansas City, MO Leading global supplier of healthcare solutions, healthcare devices and related services Focus on creating a safer and more efficient healthcare system Key solutions include: • Computerized Physician Order Entry (CPOE) • Electronic Medical Records (EMR) • Personal Health Records (PHR) Clients in 25 countries serving more than 9000 unique facilities Hospitals Physician Practices Retail Pharmacies NASDAQ – CERN $2.2B revenues in 2011© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 2
  • Cerner Development Profile 7 Global Development offices England, Ireland, France, India, US (MO, VA, CA) Majority of development in Kansas City, MO and Bangalore, India 70+ unique solutions Core technologies Java, C++, C#, VB6, JavaScript, iOS, ObjectiveC, HTML5 Oracle AIX, Linux, Windows Server© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 3
  • Migration Strategies and ChallengesRefresh, Migrate, Rewrite or Deprecate
  • Major Migration Strategies Refresh Recompile code in a newer compiler Migrate Move code from one language to another Rewrite Recreate features in a new language Deprecate Allow solution to move into unsupported model and eventually remove from portfolio© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 5
  • Migration Considerations Business value of current solution Market penetration Client satisfaction Functionality Add new Like for like only Simplify Cost of options Duration “What if” analysis Opportunity cost Deployment Big bang or phased roll-out Support strategy Legacy and new Timing© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 6
  • Planning for Success Vision - see the end from the beginning Know why you are doing it • Drivers Know your potential obstacles • Challenges Know what success looks like and how to get there • Critical Success Factors© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 7
  • Activity – Define Your Key Drivers Potential Drivers List the key drivers at your organization for a migration  Supporting ongoing innovation  Create an Agile ecosystem  Creating a software architecture that scales  Improving solution maintainability  Leveraging open standards/interoperabilit y  Avoiding support gaps for legacy systems© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 8
  • Cerner’s Drivers Migration of viable legacy solutions to updated technology platforms Support continued innovation Improve Solution Maintainability Extend lifecycle Investigate addition of new capabilities afforded by newer technologies for new development Create agile ecosystems Automate, automate, automate… Maintain Cerner as an attractive destination for top development talent© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 9
  • Activity – Define Your Key Challenges Potential Challenges List the key challenges you may face at your organization  Low value return to end users  Innovation constrained by legacy tooling  Substantial developer training needs  Impact on developer and team productivity  Resistance to change across development group© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 10
  • Cerner’s Challenges Incremental rollout required due to large, complex client install base Innovation and maintenance constrained by legacy tooling “Big Bang” solution would present significant risk to all stakeholders Low client value return for rewrite strategy Create repeatable process for technology upgrades Maintain team flexibility based on their unique markets Potential retraining of developers proficient in legacy technology Large segments of shared code leveraged by teams that may migrate at different time periods Change impacts to development community© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 11
  • “The skills of the software developmentteam are crucial for project success andcan enable or doom the adoption of anynew architecture or technology.” Dave West, Senior Analyst Forrester Research
  • Activity – Identify Critical Success Factors Potential Factors Identify what your critical success factors would be for  Agile methodology your migration  Team collaboration software  Executive management support  Targeted training & skills development  Integrated testing  Software architecture reengineering© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 13
  • Cerner’s Critical Success Factors No Client impacts Develop competency in new technologies Consistent executive support Funding and focus Create patterns for future project success Continuous learning and improvement model Create Agile ecosystems© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 14
  • Cerner’s StrategiesIncremental Migration
  • Overall Strategy Create a Center of Excellence – “Uplift Center” Work with each solution to determine best path Expedite technology migration by capitalizing on learning Orchestrated migration Manage vendor relationships Modified Agile process Global development effort with Kansas City and Bangalore centers Open Forum for Q&A from Development Community Transparency in decision making Seek open feedback directly from community Create a top-down and bottom-up synergy Opportunity to “market” ideas and results to entire community to create positive momentum • Utilized Web 2.0 Collaboration software© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 16
  • Case Study – VB Migration
  • VB Migration Strategy Incremental Leverage COM Interoperability Create vendor relationships to build and supplement internal expertise Technology Education Focus on “Like for Like” Minimize client training impacts Minimize risk profile (scope, testing, etc) Speed to completion Variances evaluated on case-by-case basis© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 18
  • VB Case Study - SurgiNet Snapshot Primarily VB6 with shared componentry leveraged by 2 other solutions 300K LOC 6 month timeframe to migrate and fully test internally Migration Strategy Code Migration from VB to C# Leverage migration partner to assist with automation Upgrade COM OTS components to .NET Like-for-Like only Leverage existing test cases to create test scenarios Utilize COM Interfaces for interaction© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 19
  • VB Case Study - SurgiNet Team Global team Solution knowledge C# knowledge Start project with entire team in Kansas City for 4 weeks to “build team” and set common expectations Development Methodology 4 week iterations focused on migrating related components in each iteration Done = Code compiles and passes engineer component layer testing Integrated Testing and issue resolution completed in subsequent iteration Communication Daily Stand-up with full team via teleconference Web 2.0 Collaboration software to facilitate shared documentation and discussions© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 20
  • VB Case Study - Results Migration completed on schedule Needed to add additional capacity for the last half of the project to account for unplanned attrition and early learning curve delays • Leveraged another team and used it as their knowledge transfer for their own migration • Knowledge gained delivered a 15% reduction in migration timeline for 2nd team Like-for-Like Target Met Business Owners assisted in testing • Frequently did not realize they were testing the new application Live at multiple partner client sites Minimal issues reported post go live No additional training required Legacy version now completely replaced for new and upgrading clients Associate Impacts Majority of development community eager to adopt new technologies Communication and collaboration strategies are a model for other large projects© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 21
  • VB Case Study - Results Migration Best Practices Established Uplift Center retains lessons learned for continuous improvement 5+% Productivity gains for new teams Reduced learning curve for new teams Historical and collaborative documentation prevents decision rehashing Current/Future Plans Pattern established for future migrations Multiple teams can migrate concurrently Strategies and timelines vary per team Timeline based on business strategy for each solution market© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 22
  • Case Study – VC Refresh
  • VC Refresh Strategy Refresh solutions concurrently Moved from VC 6 to VC 10 compiler Plan for simultaneous release Leverage Uplift Center migration experience Create internal tools to assist with recompile Provide initial versions of recompiled code with common problems automatically corrected Leverage Web 2.0 technologies to share proposed resolutions Focus engineering effort on regression and issue resolution© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 24
  • VC Refresh - Results Preparation 6 months for Uplift Center to create tooling to address majority of compile issues Entire VC code base recompiled and new files provided to teams immediately prior to joint start Time to complete Single, 1 month iteration addressed majority of issues Remaining minor issues completed before initial release Regression testing Exposed value of automation and generated positive support to implement unit and other automation testing for the VC codebase Agile model Teams had individual scrums with larger Scrum of Scrums at the program level Issues managed via Web 2.0 collaboration tooling© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 25
  • Modified Agile Process
  • Modified Agile Process Initial process – standard Scrum 4 week iterations Definition of Done • One round of functional testing completed • Completed components ready for integration testing Integration testing completed by 2nd team in subsequent iteration • Defects found corrected during the iteration Deployment/Release typically only possible when all components have completed Integration testing© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 27
  • Modified Agile Process Retrospectives “Succeed fast” or “Fail fast” Don’t be afraid to try something Retrospective findings If a single component missed the iteration, the entire iteration might not be able to proceed • Potentially better to focus on related component groups and migrate them together than to fit the component counts based on story point estimates Defects found in integration testing caused some undesired context switching • Did we really finish or just pass on technical debt© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 28
  • Modified Agile Process – Pilot Retrospective Ideas Idea Allow Iteration Length to flex based on plan • Keep with 4 week iteration where possible, but allow for some iterations to be planned to be a different duration • Estimate components individually, but understand architectural dependencies when planning iteration contents Results • Most iterations stayed at 4 weeks, but some planned extensions allowed for larger components to complete • Undisciplined teams still missed iteration dates, but testing much more cohesive  Moved forward with most components completed in some cases  Extended the end date when dependencies prevented moving ahead • Needed to include architecture spikes as part of current iteration to plan for the next iteration© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 29
  • Modified Agile Process – Pilot Retrospective Ideas Idea Create one team to do initial migration and a second team to deal with integration testing defects Results • “Fail Fast” • Handovers were not effective • Better to have team stay with code through integration testing • Plan time in the current iteration for addressing issues found in integration  Sometimes carve off 1-2 associates to stay with the code while others moved to the new component groups© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 30
  • Modified Agile Process – Today Scrum still followed generally with better integration of Lean principles More important to fix items that are closer to completion than to migrate additional code Component groups treated as Lean MMFs, so iteration dates are less meaningful • MMFs are still generally sized at about 4 weeks expected duration in migration and 2-4 weeks in integration© 2011 Cerner Corporation. All rights reserved. This document contains Cerner confidential and/or proprietary information which may not be reproduced or transmitted without the express written consent of Cerner. 31
  • Additional TopicsQuestions and Answers