So Your CMS Released an Upgrade – Now What?
Deciding to upgrade a core component of your business is not always an easy choice. There’s downtime to consider, the development effort to apply the upgrade, and the impact a new feature or interface will have on end-users. Other factors to consider are whether or not the upgrade includes important security fixes, performance enhancements, and key features that will streamline your business processes. Without a doubt, deciding when and how to apply an upgrade to your CMS is not a decision taken lightly.
So what are companies to do? In this article, I’ll attempt to walk you through both the benefits and the drawbacks of each side of the dilemma that, sooner or later, faces every CMS customer.
In Favor of Upgrading
If you’re like most people, you will want to get your site to the latest version to take advantage of all of the new features. What’s not to love? You get the newest functionality and ensure your code is completely up to date. While updating will make your site the envy of all your friends, there are a number of things to consider when going down this path:
Companies put out upgrades for a reason. More often than not, they are packed with enhanced functionality, important security fixes, improved performance, and a number of other features.
Additionally, an upgrade:
- Ensures your site is up to date.
- Applies any new security fixes.
- Allows the business to take advantage of the latest features and functionality.
- Can simplify support – often, vendors will support the current version and the previous one to two versions only.
- Provides general backward compatibility to support legacy installations.
- May be profitable – vendors may offer a financial incentive to move to the latest version.
- Can be seamless – vendors often report breaking changes and custom code migration processes.
- Has better support for the latest browsers and frameworks.
While choosing to upgrade provides you with all of the latest functionality, it’s not without its downside. An upgrade:
- Could require extensive development.
- May result in website downtime.
- Requires a transition plan.
- Some features may be deprecated or removed.
- May require training of development teams and end users.
- May require new resources to develop and maintain the system.
- Might have unforeseen expenses – for example, rolling back to the previous version may be costly (if even possible) in the event of something going awry.
- Will require in-depth knowledge of any customizations and functionality in your site.
- Requires a full test of the application to ensure it was successfully updated.
Staying on Your Current Version
Perhaps playing it safe is more your style. Holding off from upgrading your platform may make business sense by not introducing an element of risk into your organization. If a newly released feature doesn’t apply to your business, you may not find value in upgrading your systems and disrupting your organization. Next, I’ll cover the benefits and challenges of staying on your current version.
Often, it may make sense not to upgrade. Whether it’s the cost of implementing the upgrade or the impact on the business, organizations often will forego an upgrade until it’s absolutely necessary to minimize the impact on their daily work.
Choosing not to upgrade can have other benefits, such as:
- The current version is usually more stable and better tested.
- Documentation should be complete and provide in-depth information for the previous version.
- Assuming your version is still supported, no new development and maintenance costs.
- Your team should already be familiar with the system and how it works.
- You allow time for the new version to mature, resulting in a more stable system.
- You can always upgrade at a later date.
- Your organization likely has a defined change process control in place.
Just like choosing to upgrade, not doing so can have some drawbacks. Companies continually develop their products to evolve with the industry, address known issues, and provide new functionality. Deciding not to upgrade prevents your organization from taking advantage of these changes, as well as others.
Some other factors include the following:
- You may miss out on critical security updates.
- You might outdate your systems, making them more difficult to maintain and develop.
- It can be difficult to support emerging technologies (like IoT) in the future.
- Your version of the platform may no longer be supported.
- New documentation and materials will most likely be targeted to the latest version of the platform.
- You may not be able to take advantage of any financial incentives related to upgrading.
- As the years pass by, data adds up, tables and indexes become fragmented, and legacy systems get older.
Support can be an issue if the original development team is not available.
So, which approach should a company choose?
Now that I’ve covered the pros and cons of the upgrade process, it’s time to talk about how companies decide which path to take. Of course, it’s going to be different for every company, but I wanted to give you a checklist to go through to decide if upgrading is right for you. This is a general list that I have used in the past when consulting with clients who were looking to upgrade their CMS to a new version.
When looking to move to a new version of a platform, ask yourself these questions:
- Why did the vendor put out a new version?
- What new features matter most to my business?
- Are they going to continue to support the previous version? For how long?
- Does the upgrade contain a critical fix or feature that is essential to my business?
- What is the development effort required to move to the new version? Did the vendor supply an upgrade process and/or utility?
- Do I have the skills in-house to run on the latest version? What about future development?
- How much downtime will the upgrade result in? Can my business tolerate it?
- What is my contingency plan if the upgrade fails?
- How tested is the upgrade process? Have other companies experienced any issues with the process?
In the above list, I feel like the factors that truly impact your business are the ones that matter the most. These are the ones that are going to dictate if you have to hire new talent to support the new system, whether or not you are going to be vulnerable to a malicious attack (as if there were any other kind) in the future, and how much effort the upgrade is going to take from both your development and business users. Some companies have easy answers to these. However, some will take a good bit of researching and planning to determine the impact.
It All Starts with a Migration Plan
If you get through the list above and decide an upgrade is for you, the next step is to create a plan. This process will certainly vary from company to company, but all can include the same basic principles to plan your upgrade process. You should:
- Document your recovery steps and procedures in the event of your upgrade failing.
- Look at your current solution and identify any areas that will need to be updated.
- Confirm your systems are compatible with the new version.
- BACK UP YOUR SITE AND DATA.
- Download and review all of the upgrade files and documentation.
- Plan your upgrade window (in case the system needs to be taken offline).
- Follow the upgrade procedure.
- Test your site to ensure the upgrade was successful.
- Implement your recovery process if the upgrade is not successful.
Upgrading your CMS can bring time-saving, revenue-generating functionality to your business. It can streamline your processes while allowing you to develop in new ways and take advantage of new technologies to your site. Perhaps most importantly, it will ensure you stay supported by the CMS vendor. On the other hand, deciding to upgrade should be a calculated and defined process to achieve a specific goal. Always be sure that you’re doing it the right way and at the right time for your organization.