Managing upgrades is something we all face. That. is true whether you are running your software in your house, at a small business, or for an enterprise. There are versions released regularly as often as quarterly, and sometimes we get the new version “free,” sometimes not. There are many things to consider when crafting a version roadmap for your software. Here are some things to help with that. These suggestions and warnings come from a broad experience with software and highlight some paths that can make your life easier.
Managing Upgrades Through Major Versions
The “old school” approach to managing upgrades was often made via major versions. Software companies would release a major version every year or so. Then you would take the time to get up to date. That approach quickly morphed into a leapfrog approach for many companies. The disruption of performing upgrades and costs of installs were enough that the benefits were often not worth the effort. There were also licensing constraints that made an “every other version” approach much more effective in time and cost.
That approach is an excellent model for planning a version roadmap. There is always a cost to embracing/installing a new version. Often it works better for us to take on more changes less frequently rather than smaller changes more frequently. This approach also gives plenty of time for changes to “bake in” to the organization. Thus, allowing processes to evolve to embrace new features.
Managing Upgrades Through Features
Software used to promise needed features with every release. However, we have moved to a world where features are driven more by internal needs than marketing bullet points. Many organizations are content with staying on a version for years. These organizations prefer stability, and an upgrade tends to be large and feature-rich. That sometimes includes a push to move off of a version that is no longer supported.
The risk with the above approach is running out of time before a release is unsupported. Likewise, the resources and upgrade paths can be limited. Less frequent upgrades can lead to much more complex paths and can put data at risk. Some applications go through “watershed” upgrades that require a significant data migration effort. Those typically require the users to be on a specific version before the migration is done rather than skipping through multiple versions.
Obstacles and Road Signs
The approaches listed are both valid, and either may be a perfect fit for your organization. We have already touched on some things to look out for. However, it is good to have a list to walk through in planning out your approach.
- Be aware of watershed releases – When you have a release that will effectively be incompatible with prior versions, that can often be a “need to upgrade” marker.
- Store Version media or packages – There are combinations of software required for a version that can become difficult to replace. Vendors move forward or may even cease to exist. Thus, it can be critical to access prior versions of software and even operating system tools when you delay your upgrades.
- Know Your Features – I have found that it is rarely a good idea to take an upgrade just because it is available. While there is risk involved, there is also the factor of utilization. It is important to know what your software can do, and blindly upgrading can miss out on valuable features. Invest the time for reviewing release notes and training updates when available. This investment can pay for itself quickly and inform you of whether future upgrades are valuable or not for your needs.
The Cloud Factor
Software as a service and the Cloud can make these types of issues seem a thing of the past. However, even SAAS products have versions and upgrades. You might be in a situation where you can hold off on a version upgrade for a while, but that is rare. Even in those cases where you have a “choice,” it often is presented as a preview you can embrace sooner rather than later. While you lack choice, there are still actions you can take (and should) as part of your upgrade strategy.
- Take advantage of backup options where possible.
- Use and verify export options where possible. It is your data, make sure you have access to it outside of the SAAS product.
- Keep current on planned upgrades, enhancements, and outages.
- Plan for some time to test and verify updates.
- Embrace the latest features as suitable to your needs.
- Avoid company critical periods of work that coincide with a maintenance period or upgrade.
The good and bad part of a SAAS product is that you are not responsible for the workings of that product. A lot of the management and administration tasks are taken out of your hands. Nevertheless, the steps above can help you mitigate risk at the cost of taking some of that management back on yourself. It is worth that trade-off. You will be happy to have a way to take your data elsewhere when a product becomes unusable, or a provider closes shop.