17 Essential Steps In The Software Upgrade Process
Rawpixel.com/Shutterstock.com

Software Upgrade Process: 17 Steps To Follow

With the General Data Protection Regulations (GDPR) coming into force across EU countries on 25 May 2018, many software suppliers are releasing system updates in order to comply with these requirements.

The complexity, time, cost, and resources required to upgrade your software will depend on a variety of factors including whether your site has been customized—either via plugins, with changes to the core system, or by an integration with another system.

There are, however, a set of steps and considerations an organization would typically undertake to perform a successful LMS upgrade.

1. Identify And Engage Your Stakeholders

Remember to include both internal and external stakeholders. End users, trainers, content developers, administrators, support and hosting teams, QA and testing teams, system owners, external suppliers, and service partners. Work out how each group interacts with the system, how an upgrade will affect them, and what level of ongoing engagement they might require.

2. Undertake Change Control Planning

Besides the technical work involved in upgrading your system, effective change control will probably be the biggest challenge surrounding a software upgrade. Keeping the balance between adequate communication and consultation, and overwhelming stakeholders with detail can be difficult. Consider assigning a dedicated Change Control Manager to the process and include developing a communication plan and (at a minimum) a high-level project plan as deliverables for that role.

3. Perform A Site Review

Performing a site review involves taking a stocktake of any and all customizations within the site. Identify all bespoke developments and dig out the specifications and other relevant documentation relating to this work. Assess each development for upgrade or reimplementation. Is this customization in the core system or has it been developed as a plugin? Is this feature (or something very similar) now available in the new software version? Is the current development or the business need for this feature still applicable? Is your software integrated with any other systems or applications?

4. Establish Upgrade Requirements

Based on your site review, do you need to re-develop customizations and integrations or upgrade bespoke plugins? Do you need to make allowance for historical data from those customizations? Can you upgrade to the latest version of the software from your current version or do you need to upgrade to a more recent version first? Check the technical specifications of the new software—do you need to upgrade, install, or purchase anything as part of the upgrade? Do you also need (or want) to upgrade your theme/design or will it work on the upgraded version?

5. Make An Upgrade Plan

Who will perform the upgrade? What needs to be upgraded? What needs to be redeveloped? Does anything need to be newly developed? How will the upgrade be performed? Is there any guidance on the upgrade from the software supplier? What time, people, resources, and budget do you need to apply to the upgrade process?

6. Make A Roll-Out Plan

When will the upgrade be performed? Will there be an outage? How long will it be? What sort of message needs to go out to stakeholders? What will be the implementation process? What is your rollback plan?

7. Backup Everything

Store that backup somewhere very safe and secure. Backup again, and store that file somewhere else safe and secure.

8. Run A Trial Upgrade

The best way to know if any issues will crop up during the upgrade is to try upgrading a copy of the live site. It will identify any code and/or database conflicts and where further work will be required. It’s important to allow plenty of time for this step and to engage with relevant stakeholders.

9. Upgrade A Staging Site

Once the technical aspect of the upgrade has been completed and any issues resolved, it’s time to upgrade a copy of the live site to a staging or testing environment. Remember to switch off any email processes so users aren’t messaged as part of any testing and make sure the staging site is only available to permitted users.

10. Perform Testing

This includes functional, non-functional and technical testing, quality assurance, data integrity, security, performance, and theme/design testing including browser, and device testing. Vital to the testing process is a shared mechanism for capturing and tracking issues. Issues should be described in detail, have a unique identifier for tracking purposes, have a current status, and be allocated to someone until fully resolved. It is also important to allow time for, and manage expectations around, user acceptance testing. While an upgraded system might be functional, it might not fulfill all of the business requirements it was implemented to address.

11. Undertake Configuration

With your freshly upgraded staging site now deployed, tested and issues resolved, site administrators will need some time to ensure any new features and functionality introduced by the updates are configured correctly. This might involve turning on or off features or updating settings to best accommodate your users.

12. Prepare Documentation

Preparing help files or user manuals, as well as technical documentation detailing any custom developments or deployment requirements is vital to the success of your current upgrade as well as any future upgrades. Leverage any documentation provided by the software supplier or your technology vendor and highlight the differences between versions to emphasize important changes in the new release.

13. Provide Training

Training the right people at the right time not only requires adequate training resources but adequate planning. Trainers and the trainees need to be available at the same time, in a suitable space. The amount of training, the type of training, and the length of training will depend on the end-user facing functionality and feature changes within your upgraded software. For some helpful hints on selecting a training provider, check out this article.

14. Prepare Your Infrastructure

If your upgrade introduces a number of significant changes or you are timing the software upgrade with a re-release of the system, you will need to ensure your hosting setup will be able to cope with an increase in access and usage—if only for a short period of time.

15. Go Live

You have a few options around your go-live including a complete switchover or running the old system and updated system in parallel for a period of time. Refer back to your rollout plan to make sure everyone knows their role and responsibilities for the release.

16. Offer Support

There will probably be an initial demand on support resources after an upgrade has been released as users become acquainted with the new system. Changes to ongoing support might be required as a result of new system features and functionality or changes to processes and policies. Ensure the support team has enough documentation, training, and coverage to meet demand going into the upgrade release. For some helpful hints on selecting a supporting vendor, check out this article.

17. Perform An Upgrade Review

It is important to review the upgrade project in retrospect to identify what worked well and where improvements can be made for the next time an upgrade is required.

Close