Over the last few years, has your business grown, or are you looking to expand and develop? If it’s underway or on the cards, you’ll need to ensure that your IT solutions are future-proofed, effective and can support any further growth, or expansion.
The first piece of software you buy for your business is a bit like buying your first car. It’s functional, it’s reliable and it gets the job done. That first car is well loved, it gets you off the starting blocks and gets you moving, it helps build your experience, teaches you important lessons and develops your ability. It serves its purpose and gets you on the road, but the day will soon arrive when you realise that you need to upgrade, you need more space, or more power or perhaps improved safety and security.
In this way, cars are a lot like software and IT solutions. Over time, software degrades, computers evolve, and your requirements will change. Alongside this, your experience will drive you to need different solutions or more options, better responsiveness, and improved features. This change in requirements means that applications you trust and reply on, may no longer be meeting your business needs, or delivering effective outcomes.
Once you’ve identified that your applications and software solutions are no longer serving your purposes, you’ll need to start considering an IT application upgrade project.
Do you need an upgrade or update? There’s a very important distinction
An important thing to note is that 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, or have been improved, they can contain security patches and sometimes minor feature enhancements.
A software upgrade, on the other hand, involves moving to a new, updated version of your software. Moving from Windows 9 to Windows 11, is an example of a software upgrade. Unlike software updates, which are usually free, software upgrades will often incur a cost.
Should you be upgrading both your software and your IT applications, you’ll either be moving to new versions of your current software or moving to completely different products. Whichever upgrade option you choose needs to depend on your current and predicted business requirements – we discuss this further below.
Beginning your IT application upgrade project
Before embarking on an upgrade journey, it’s important for you to think about why your business needs to upgrade its software. Here are some questions to help you better define your upgrade reasons:
- Do your current applications now pose a potential danger of exposing you to security threats, like malware?
- Are your systems and solutions running into performance or reliability issues?
- Are your hardware solutions out of date, are they over 5 years old? Technology moves fast in today’s IT-driven world, and outdated hardware is far more susceptible to cyber attacks.
- Are your operating systems more than one version old? Again, an outdated OS is another vulnerable solution, open to attack and potentially lacking the manufacturers support depending on the version.
- Are you running the latest versions of your applications? Versions often come with patches for known vulnerabilities along with efficiencies and new, improved functionality.
Ensure you gather in-depth information from across your entire business in order to build a complete picture of how your current applications are performing. Create a list of any issues, lack of functionality, required updates, patches and new versions. Compile a complete picture of what the issues are with your current stack. Upgrading your software is no mean feat, so you shouldn’t approach it without a clearly-articulated motivation and a well-planned set of requirements for the new versions or applications.
Utilise an IT application upgrade checklist
Once you’ve completed your research and 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, it’s time to get cracking.
Here’s a checklist of tasks, with full explanations that you can use to define your upgrades. This list offers information pertinence to prepping for, instigating and developing, and after an upgrade:
Develop a rollback plan
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.
Ensure that you’ve created 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 (should the worst happen). Think of it as your ‘get-out-of-jail-free card’ for any upgrades that cause database server crashes or other catastrophes.
Once you’ve developed your rollback plan ensure that you carry out test rollbacks often. You should also backup your company data often. For many companies a weekly, daily or hourly backup may not be sufficient, so ensure your backup solution is (some solutions offer the ability to run backups every few seconds). Once your backup solution is in place, you must perform regular test restores. That way, if all else fails, you can revert to your old systems and start again.
Collect configuration settings and other important details
Before proceeding with an upgrade, you’ll need to ensure you collect all relevant information about your current applications and their setup. This includes configuration settings and existing license details. Document this clearly and cover each feature.
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 the utmost 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.’
Undertake a feature analysis
If you’re upgrading your applications, you should know in advance, what to expect. What features do new software versions currently have? Are there any new features or applications available that could benefit your business? Does your company need additional features and, if so, will you need additional time or resources to acquire them?
We suggest that you take a look at this comparison list template for Excel. It may help you to draw up a simple feature comparison table, and evaluate application options alongside each other, and inline your business needs. You don’t want to get to the end of an upgrade only to learn that you missed out on any additional or beneficial specific features, or that you chose the wrong application entirely due to lack of research.
Beware of ‘gold-plated’ specifications that call for features you’ll likely never need, stick to what you do need, and we’d suggest trying to avoid the temptation to commission expensive customisation and bespoke development. Often, it’s cheaper and easier to make a small change to your internal processes and work with off-the-shelf software solutions, than it is to accommodate them in new code.
Select your most effective upgrade method
There are, generally speaking, two kinds of upgrades:
- In-place upgrades
These involve installing a new piece of software without removing the older version first. They’re generally easier to do and require less planning, but they can be problematic – especially if the new software version is very different from the previous one. Depending on your software, you may need to undertake a clean install.
- Side-by-side upgrades
In simple terms, a side-by-side upgrade involves setting up a new system in parallel to your existing one, and then migrating your data from the old to the new. This is a good route to go down if you’re upgrading your hardware, retiring legacy systems or you want your current software and databases to be available during the upgrade and migration process.
Objectively speaking there is no right or wrong way to go about an upgrade. But before deciding on your method, ensure that you and your technical teams have thought carefully about what rollback and backup plans you have in place. Also consider the hardware you’re using and calculate just how much downtime your business can tolerate (if any). It may be in your best interest to consider commissioning external support in the form of an IT consultant to help you strategise, plan, deliver, manage and test your upgrade.
Undertake a final review
Once you’ve carried out your upgrade check that everything is working as planned. This should be carried out ideally before you unleash new applications into your business. This check should involve 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.
Business upgrades tend to be a journey, not an end state
Upgrades are imperative for all businesses. For example, 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 has been due to an ongoing process of re-evaluation and upgrade.
It may help to think of your business and the applications you use, are like the Hubble Space Telescope. Some features will become obsolete, others may well become costly, and some new applications will need to be introduced to support your ever-changing 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 rest and relax after one upgrade. Keep your eye on your performance, your system and functionality, monitor your market, your client feedback and your competitions, and plan for the next IT application upgrade. The growth of your business depends on improving, and staying ahead with the most effective, up to date solutions and services.