Best Practice ERP: Migration Checklists

Many of you whom I have met personally know that I am an instrument rated pilot. As a pilot I use checklists before during and after every flight. They are a very important part of aviation for many reasons. Checklists promote safety by ensuring that critical tasks are completed. They also ensure that these tasks are done in sequence and that they are performed at the right time. For example, it is generally considered too late to put your gear down after landing. Finally, they ensure that everyone in aviation behaves and works in a consistent manner. The stakes are high so discipline is essential.

Migrating from one release of xTuple to the next, like flying an airplane, is a straight forward process so long as you have basic skills and a plan for utilizing them.  To reduce risk and ensure business continuity and data continuity you should follow a migration checklist that, like an aviation checklist, ensures you perform all required tasks, in sequence, and at the right time.

Consider these steps:

Planning Phase

  • Release Notes — review the release notes for the releases up to the release to which you are migrating
  • Timeline — create a time line for training, piloting, and cutover
  • Resources — identify the key resources that required during each phase and ensure they are available and scheduled
  • Enhancements Catalogs — create a catalog that includes:
  • Reports — list all report definitions that have been enhanced (grade > 0)
  • Custom Reports — list all report custom report definitions
  • Scripts — list all custom stand  alone customized scripts and if applicable associated screens
  • Packages — list all custom and customized packages and the screens they impact
  • Business Process Flows — create or update all Business Process Flows ensuring that these encompass all business processes and all enhancements in the Enhancements Catalog
  • New Functionality — review new functionality in the destination release and update the Business Process Flows to incorporate these changes
  • xTuple Updater — acquire the latest version of the xTuple Updater application

Pilot phase

  • Backup — create a backup of the production database
  • Pilot Database — restore the backup to a migration pilot database
  • Migrate Pilot — migrate the pilot database to the desired release
  • Correct Data — correct any data issues discovered during the migration process and document these in a Data Correction List so that you are ready to apply them during the production migration process (this link can help correct problems found during migration: http://www.xtuple.org/CommonUpgradeIssues )
  • Execute Process Flows — execute the updated Business Process Flows:
    • Validate the screen based outcomes for each process flow
    • Validate document based outcomes (e.g. Purchase Order, Packing List, Invoice) for each process flow
  • Remediation List — create a list of problems with enhancements and reports that were found during the pilot phase
  • Privileges List — create a list of users / groups that will need new privileges after migration to the new release
  • Remediate Enhancements and Reports – fixed problems listed on the Remediation list
  • Final Pilot — execute the Business Process Flows with the remedaited Enhancements and Report
  • Training — train end users on the new release

Cutover Phase

  • Logoff — logoff all users and deny access to xTuple
  • Backup — create a backup of the production database
  • Correct Data — apply the data corrections discovered in the pilot phase and documented in the Data Correction List
  • Update — migrate the production database to the new release using the xTuple Updater
  • Remediate — remediate enhancements and report definitions based on the Remediation List created in the Pilot phase
  • Deploy xTuple Client — deploy the xTuple client to end users
  • Update Privileges — update privileges for Users and Groups
  • Logon — grant end user access to xTuple
  • Monitor — monitor production processes in accordance with the Business Process Flow document

The amount of time it takes to migrate from one release to the next depends on several factors and can vary from a couple days to a few weeks. The number of enhancements such as extension packages, standalone scripts, and changes to reports, will have an impact although these may work perfectly in the next release. The piloting phase will determine this. Also,  maintaining up-to-date Enhancement Catalogs and Business Process Flows between releases accelerates the process. All this, along with the use of a good checklist will ensure the migration goes smoothly, is safe, and stays on schedule, just like a good flight.

Mike Atherton

Director Product Evangelism

Mike has delivered project management, implementation, technical and training services to xTuple clients since the earliest days of the company. These clients span a wide range of industries around the world. Prior to xTuple, Mike was a Senior ERP Consultant for Computer Associates International, an expert on multiple CA products, notably the Baan Triton/MK product acquired first by SSA, then Infor. He served as adjunct faculty for The George Washington University and Marymount University where he taught courses on Operations Management and Global Operations Strategy, and currently guest lectures on project management and systems-thinking in The Graduate School USA's Center for Leadership and Management. He holds a B.B.A. from the College of William and Mary and a M.B.A. from The George Washington University. An author of numerous articles, Mike has written on a variety of topics including "Becoming a Closed-Loop Organization," which appeared in Darwin magazine and CIO.com, and "Strategy Implementation: Closing The Management Gap," which appeared in Industrial Management magazine. He is a member of the Board of Directors for the Solve ME/CFS Initiative, the leading charitable organization dedicated to curing myalgic encephalomyelitis (ME)/Chronic Fatigue Syndrome (CFS).