The first piece of software you buy for your business is a bit like your first car. It’s functional, it’s reliable and it gets the job done. It serves its purpose, and then comes the day you realise you need to upgrade for more space, more power or improved safety and security.
Such is the nature of software. Over time, software degrades and requirements change so you can find that the applications you started out with are no longer meeting business needs. This is when you need to start considering an IT application upgrade project.
An important thing to note: upgrading software is different from updating software.
A software update (sometimes called a ‘patch’) is a download that contains ‘fixes’ for features that aren’t working properly, security patches and sometimes minor feature enhancements.
A software upgrade, on the other hand, involves moving to a new version of your software. Moving from Windows 7 to Windows 10, for example, is a software upgrade. Unlike software updates, which are usually free, software upgrades often incur a cost.
If you’re upgrading your software and IT applications, you’ll either be moving to new versions of your current software or moving to other products completely. Whichever option you choose should depend on your business requirements - more on this below.
Before you embark on your upgrade odyssey it’s important that you think about why your business needs to upgrade its software. Here are some questions to help you isolate the motivation to upgrade:
You need to gather information from across your business and build a picture of how your current applications are performing, and what exactly the issues are. Upgrading your software is no mean feat, so you shouldn’t approach it without a clearly-articulated motivation and a set of requirements for the new versions or applications.
So, you’ve got your budget outlined, your requirements are set out and you’ve got a clear understanding of why you need to upgrade your software. Now it’s time to start.
Here’s a checklist of tasks to tick off before, during and after an upgrade:
Sometimes, upgrading to new software versions can disrupt other systems and processes. This can result in system downtime and a seriously annoyed group of employees.
This is why you need a rollback plan. A rollback is an operation through which a system or database can be returned to its previous state; in other words, it can be restored to a problem-free version following a disastrous upgrade. Think of it as your get-out-of-jail-free card for any upgrades that cause database server crashes or other catastrophes.
You should have a rollback plan and carry out test rollbacks often. You should also backup your company data and perform regular test restores. That way, if all else fails, you can revert back to your old systems and try again.
Before proceeding with an upgrade, make sure you gather all relevant information about your current applications and their setup. This includes configuration settings and existing license details.
Take your time with this step. Thomas LaRock, writing for Network Computing, says that collecting your configuration settings and application-specific information is a crucial step in an upgrade that should be handled with care:
‘... Make an effort to collect [configuration settings] prior to the upgrade... You don’t want to get 95 percent done and find your stuff failing because of some obscure missing detail.’
If you’re upgrading your applications, you should know what you’re in for. What features do new software versions have? Are there any new features or applications available? Does your business need them and, if yes, will you need additional time or resources to get them?
You can use this comparison list template for Excel to draw up a simple feature comparison table, and evaluate applications against each other and your business needs. You don’t want to get to the end of an upgrade only to learn that you missed out on certain features, or that you went for the wrong application entirely.
Beware gold-plated specifications that call for features you’ll likely never need and especially beware of the temptation to commission expensive customisation and bespoke development. Often it is cheaper and easier to make a small change in your internal processes and work with off-the-shelf software than it is to accommodate them in new code.
There are, generally speaking, two kinds of upgrades:
Objectively speaking there is no right or wrong way to go about an upgrade. But before deciding on a method you should think carefully about what rollback and backup plans you have in place, what hardware you’re using and how much downtime your business can tolerate (if any). You may also consider getting external support in the form of an IT consultant to help you plan and carry out your upgrade.
Once you’ve carried out an upgrade you need to check that everything is working as planned - ideally before you unleash new applications into your business. This involves reviewing application and server configurations and making sure they match the previous settings as required. If you did the legwork in the second step above, this process shouldn’t be too difficult.
Since its launch in the 1990s, the Hubble Space Telescope has frequently been upgraded through a series of ‘orbit servicing missions’ as a way of extending the telescope’s lifespan. It’s one of the most important and effective scientific resources ever built, but its success is due to an ongoing process of re-evaluation and upgrade.
Your business and the applications you use are like the Hubble Space Telescope. Some features become obsolete, others become costly and sometimes new applications need to be introduced to support business needs.
Take a leaf out of NASA’s book and treat your business - and your software - as something that’s always in a state of growth. Don’t just stop after one upgrade. Keep your eye on performance and plan for the next one. The growth of your business depends on it.