Upgrading your software is a critical step in ensuring your applications stay current. This allows you to take advantage of new features and functionality, as well as allow for fixes for issues in current versions.
But upgrading isn't a straight-forward process, and no 2 environments are the same. My "amazing" upgrade process could very well be your nightmare with everything going wrong (it has actually happened to me where I've seen an AV break an upgrade and I've lost all information in the application's DB as a result of this, so I am not immune!). This means that planning and a proper upgrade process need to be in place before proceeding with the upgrade, especially if you're in a large-scale environment.
To be honest, the size of the environment doesn't matter. Large or small, you can run into problems, and the process should be the same regardless. Where do you start?
First thing's first. Check your application's compatibility matrix and make sure that what you want to upgrade too actually supports what you have. Windows Server 2003, for instance, is no longer supported for a number of applications, and if your new version doesn't support this, you're going to left with issues. This would leave you with 2 options: Upgrading to a version of Windows that is supported, or stay on your current application version. Having supported software does make sense, but if you're running bespoke solutions on a Server 2003 R2 server for instance, it might incur high costs to get this recoded for a newer version of Windows. Once you have a list of your applications and OS's on site, and these tie up with the upgraded software's version, then you can evaluate whether or not the upgrade is viable.
Get hold of the latest version of the software. If you're using Symantec Ghost Solution Suite 3.1 for instance, log onto the Symantec site and download Symantec GSS 3.3. Have the software available and ready for use. This would include the base software, and any agent upgrades if these are separate. This should ensure that the time taken to run the upgrade will be kept lower than if you had to wait for supplementary images to download.
Make sure you have the new license key too. Some older versions of software would have used a license key to activate the application, while newer versions use a license file to do the same thing. An upgrade should allow for 30 days of full use, but rather be safe than sorry.
Next...grab copies or backups of any database running your application, along with System State and program installation files and folders. Why? For a rollback in case something goes wrong and everything is wiped out. Having a means to ensure recoverability is probably the most important step in planning your upgrade, and will allow you to revert back to a previous state quickly and safely. While most software allows for a rollback feature, this might not always go according to plan and leave you with a working application. This was something I incorporated into my upgrade plan after being burned in the past.
Finally...run the upgrade on the base application, followed by upgrading any agents. This last part is crucial, as, for the most part, Symantec would only support previous agents as part of a rolling upgrade. Once done, run LiveUpdate to check for any latest releases of patches and push these out too if required.