A staircase
Consider our preparation steps for a software upgrade, which includes documenting the unknowns. PHOTO: Sergio Russo

It’s that time. You’ve finally gotten the long-awaited sign-off to upgrade your organization’s CMS to the latest version. 

The IT department is excited for the performance improvements. The marketing department is already planning how they will use the new features.

You’ve created a preliminary schedule that satisfies the major objectives of all the stakeholders. The milestones are in place: data migration, system configuration, QA and a content freeze schedule. 

Everything is in place — or is it?

Brace for the Unknown

Major upgrades always carry the risk of unknown challenges. And as a rule of thumb, the number of versions between your current version and the upgrade version multiplies those project risks.

Upgrading from version 4 to 7? That could be an indication that you want to investigate the project risks very thoroughly before you begin. 

Search for Known Upgrade Issues

Empower the development team responsible for the upgrade tasks to research known upgrade issues. This gives the team more ownership of their project role and also promotes critical thinking; as opposed to a culture of only following specific task instructions.

Sitecore Forum

Tune Into Forums, Blogs 

The best sources for identifying potential upgrade risks are forums and blog articles. Standard research and planning relies on the software provider’s upgrade documentation as the foundational resource for planning.

However, to get ahead of unknowns, you’ll need to supplement the upgrade instructions with real experiences from users or consultants. Don’t rely on the software provider to inform you of roadblocks, especially ones involving conflicts with third-party integrations. Make a list of all your third-party applications and include them in your searches. 

Create a Risk Register 

Have your team report all of the known issues they can find and log them into a risk register. If you are searching in a software provider’s support forum, the fixes for issues may be listed, which lets you take those issues from the risk register and add them as sub-tasks in your upgrade project plan.

You may also discover issues that don’t have specific fixes. There could be workarounds, but the problems may involve making purposeful changes in the platform which will require stakeholder discussion.

Always Think of Training

Remember, too, to inform your business subject experts and user representatives about any planned changes so they can update training materials accordingly. Planning for this ahead of the upgrade ensures proper communication and stakeholder sign-off for a smooth transition.

After thorough research is completed, your project plan should have additional tasks and schedule revisions. 

Make sure to add appropriate QA time for the areas with known issues. User testing is vital for a smooth upgrade, so schedule ample time for user representatives to test the upgrade system, and “smoke test” all major areas of the site to make sure the vital functions work.

8 Potential Issues

Here is a list of potential issues found during upgrades, as well as tips for project planning. While my experience is with Sitecore CMS upgrades, this list can be applied to any software upgrade:

  1. Check system requirements prior to upgrading. For example, determine whether or not a software upgrade requires higher memory. As platforms add more sophisticated features, you may need to upgrade memory to match new requirements. 
  1. For multilingual sites, verify how language translation processes could be affected by an upgrade. Field or template changes could interrupt translation workflows.
  1. Be aware of database changes in the upgraded version. If databases are new or removed, there needs to be a plan for proper migration and any process changes.
  1. Plan adequate time for database backups and migrations. Depending on which migration process or tool is used, and your database sizes, it can be a lengthy process. If fields or templates change, migration may involve custom scripts to map data to new fields.
  1. Pre-check core files. Before starting any upgrade, the technical team should confirm that all core files are in source control.
  1. Consider performing the upgrade on a separate system initially, to look for immediate issues. Ideally, it is beneficial to have a proof of concept on a separate system before the actual upgrade.
  1. List third-party integrations for planning research. Create specific test cases for these areas.
  1. List any automated tasks or schedulers. Identify if they will be affected by the upgrade and create test cases for their specific functions.

Have any additional considerations to add to this list? Please leave them in the comments section!