How to Upgrade the Right Way
This particular customer has a very tailored setup with a lot of forms and a lot of scripted automation functionality, so they needed to be prepared to upgrade...and they were. And because they were prepared, they didn’t have to learn lessons the hard way.
Have a Test Plan - Rarely would you ever want to upgrade any software product without having a test plan to check that everything works as expected AND without learning about new features you’re hoping to use. This customer had a very detailed test plan of different scenarios that needed to be tested. The existing plan from their last upgrade worked VERY well, but we did find some things that needed to be tweaked, as well as a few new areas that needed to be tested. Overall the plan helped them know (and the users) what the end result should look like.
Have a Test System - I've said this in other blogs before, but it's worth repeating. "Put together a test system." In this case, the customer actually had two test environments: a development environment and a stage environment. First, a round of testing was done on development, at which point some problems were found and fixed. Next, those fixes were deployed to the stage system and a second round of testing was done to ensure that the fixes would be transferable to production when the real upgrade happened.
Export and Import - How should you move your fixes from the test to production? Export the forms and scripts containing your changes and import them after your production upgrade. Don’t try manually replicating your changes. No matter how well you document the changes, you can always forget something.
Have a Champion - As Cliff Lewis has pointed out in a previous article, a champion can be the key to success. This is also true of upgrades. Someone needs to manage the test plans, the actual testing, and the ensure that any and all issues are taken care of. This customer had someone in this role and it made the difference.
An upgrade doesn’t need to take a large amount of time. However, you never want to learn any of the lessons above the hard way so it is important to be prepared. Keep these lessons in mind as you get ready to do your next upgrade, and please let me know if you have any questions along the way.