I’ve struggled with this question throughout the years. I started my GP life in an organization that did it the blood and guts way. Here was a typical upgrade strategy:
- Get the OK from a customer that they’d approve our estimate on the upgrade
- Schedule the day with the customer – usually later in the day Friday to kick off the upgrade of data. (Sometimes the customer could be without a day in their system so we’d do this on a Thursday so we wouldn’t have to charge weekend rates.)
- Spend Saturday installing workstations, verifying data, cleaning up any issues. This gave us a day in case upgrade failed etc. so the customer wasn’t out of the system for two days in a row
- Leave Monday as an office day to work through any outstanding issues with the upgradee
- Sometimes provide training on new version. What’s new type of thing.
A few points to mention about this strategy:
- Usually the customer was a smaller shop. Total users from 5 to 15 workstations
- The customer usually didn’t want to spend money on a test upgrade – if we were going to do the upgrade might as well do it once and get it over with
- Most of the clients we had done upgrades on before. We kind of knew what issues we had in the past
- Not too customized. Very little mods to windows, VB code, etc. Customized reports were the main issue
The organization I’m employed with now is a much more process oriented firm in regards to upgrades. It would be unheard of to simply show up and do an upgrade. Our typical procedure is something like this:
- Perform an infrasture review before any upgrade procedures are recommended. This includes hardware/network analysis
- Perform a test upgrade to uncover any issues. Test on workstations identified as potential problems (older workstations, operating system outdated etc)
- Training on new version done as client verifies test upgrade
- After test upgrade, discuss upgrade procedure with client. Determine schedule that provides best timing with customer. Schedule resources from client needed to accomplish tasks for upgrade. (Often IT departement involved to install workstations etc.) Go over issues found in test upgrade and resolve if possible a head of time.
- Perform upgrade. Install workstations
- Post upgrade validation from client
- Client sign off
A few points to mention:
- This process is used on install bases of 5 to 100+ users
- Customers often have many customizations to their system with various 3rd parties tying into Dynamics.
- Process is somewhat customized to meet the clients needs. Not all customers will pay for extensive pre-upgrade discovery. We do require a test upgrade of the data however
- We still have upgrade issues when we get to the production system but have most of the issues worked out from testing phase. This has increased customer satisfaction overall and I don’t hear from nearly as many grumpy people like I used to
Back to the original question. Are test upgrades really that important? I’m still of the opinion that the correct answer is “It Depends”. If you don’t mind a little bit of blood along the way and the customer is a relatively small shop there can be a lot less planning involved as there is must less risk on all accounts.
But if the customer is similar to the description above, dividends will be paid for proper due diligence. I believe most of the cost of pre-upgrade discovery/testing will be returned and more when the production upgrade is performed without a hitch.
So what do you think? Are test upgrades really that important? Do you have any other procedures you employ in your upgrade process?