17 essential steps in the software upgrade process
With GDPR set to hit the EU on 25th May 2018, many organisations will be looking to upgrade their software (including their learning management systems) to ensure it supports GDPR compliance. But even if these new regulations don't affect you and your users, there are many reasons you may wish to upgrade your learning software. The complexity, time, cost and resources required to upgrade depend on factors such as whether or not your site has been customised, either via plugins or code changes, or whether or not there are other system integrations to maintain. This post offers a step-by-step guide to ensure you follow best practice the next time you carry out a learning management system upgrade.
1. Identify and engage with 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 stock take of any and all customisations 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 customisation 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 redevelop customisations and integrations or upgrade bespoke plugins? Do you need to make allowance for historical data from those customisations? 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. Back up 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 emphasise 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.
If you are preparing to upgrade your LMS for GDPR, don't forget to download our HR guide to GDPR, written in collaboration with Deloitte, here.
This post originally appeared on the eLearning Industry website.