Erik Eckel discusses five best practices IT consultants should follow to ensure client application updates and upgrades complete properly.
Deploying 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 to ensure client application updates and upgrades complete properly.
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 possess sufficient RAM? Also, be sure to confirm adequate disk space exists, too.
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 any new changes won't introduce incompatibilities.
For example, if a third-party application is switching from a Pervasive database to a SQL database, ensure no other current SQL operations will interfere with the upgrade. Or, if a new application update requires exempting within specific antivirus programs, ensure the security software is updated when the update or upgrade is installed.
Confirm a known good backup
Before beginning a mission critical update or upgrade, ensure your office not only creates a backup of the current application's data, but that it also tests that backup to ensure 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?
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.
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 the consultant's responsibility to ensure the client can recover from failures.
Pull the trigger with confidence
Once you've prepared for critical updates and upgrades by following the preceding steps, you can proceed with confidence. An optimistic attitude can only help the situation.