A little planning and preparation will go a long way toward ensuring that app updates and upgrades are trouble-free. Erik Eckel outlines several steps you can take to avoid potential gotchas.
Deploying your clients' server operating system updates and patches is one thing, but preparing for application updates and upgrades is another challenge altogether. Make sure your IT consultancy doesn't damage a client relationship by trusting third-party software manufacturers' promises. Adopt these steps so that client application updates and upgrades complete properly.
Note: These tips are based on an entry in our IT Consultant blog.
1: Check hardware requirements
When the time comes to update or upgrade a client's mission-critical software, begin by contacting the manufacturer's technical support staff by phone; email is a second choice. If a major upgrade fails, at least you'll know you've done your homework.
When you're talking to the manufacturer's tech support, ask simple questions, such as:
- Will the new software work on 64-bit systems?
- Are there increased CPU requirements?
- Do workstations and servers have sufficient RAM?
Also, be sure to confirm that adequate disk space exists.
2: Review potential compatibility issues
Occasionally, software manufacturers switch database architectures, introduce new processes or dependencies, and make other changes. Review a server or critical host workstation's configuration to ensure that any new changes won't introduce incompatibilities.
For example, if a third-party application is switching from a Pervasive database to a SQL database, verify that no other current SQL operations will interfere with the upgrade. Or if a new application update requires exempting within specific antivirus programs, make sure the security software is updated when the update or upgrade is installed.
3: Confirm a known good backup
Before beginning a mission-critical update or upgrade, create a backup of the current application's data and test it to make sure it completed properly and can be used to recover operations should the update fail. Better yet, make an image backup of the critical server or host workstation. Data-only backups are becoming old fashioned. Why back up just application data when you can back up a critical system's entire configuration, with the ability to restore operations within just a few hours from scratch, if necessary?
4: Test client updates on a single workstation
Before deploying new updates or a version upgrade across an entire site, test a noncritical system first (unless the manufacturer requires that the upgrades be deployed to all systems simultaneously). Testing the update or upgrade on a single system, though not a perfect barometer, can help smoke out potential installation issues or incompatibilities threatening to derail the project when tried on numerous systems. It's much easier to troubleshoot a single failed workstation than an entire site with multiple computers that are dead in the water.
5: Schedule a contingency plan
When deploying program updates, always expect the worst. This is doubly true when upgrading application platforms or editions. Before beginning an upgrade, inform the client that if something fails, you have steps in place to manage a failure. Present the client with a written plan that states what those steps are. The plan should include recovering failed systems using freshly imaged backups, if necessary.
You must have the client approve contingency plans before systems fail -- this is critical to surviving a failed application update. Clients should understand that you're at the mercy of the third party's upgrade process; however, it's still your responsibility to make sure the client can recover from failures.