Most of us often try to reduce the time it takes to an upgrade. This is obviously appealing to the client. Less time = less money spent. And while it’s tempting to upgrade the Sitecore Instances quickly, be aware that these methods are not officially endorsed by Sitecore, and you may struggle to get help from Sitecore Support. If you cut corners, you are prone to being bitten in the long run.
When people cut out upgrade steps that, to them, don’t seem to matter, you miss the possibility that they are actually needed. Eventually hidden issues may pop up that won’t be discovered until someone finds features aren’t working in production months later, or the site is acting differently than before.
Therefore once a proper upgrade plan is in place it’s time to estimate the entire Upgrade Process. Estimating a Sitecore Upgrade is impacted by various factors. Calculating a precise estimation is a major challenge for Sitecore Upgrade and which can hamper the delivery dates.
Hence while estimating s Sitecore Upgrade following factors must be looked into.
Upgrade Estimation Tips #1: Run the complete upgrade on Dev box
Every client have their own flavor of Sitecore Implementation in place hence we can’t use the same estimation (even with similar version upgrade) for everyone. Each Sitecore implementation will have its own customization, environment challenges, code remediation etc.
Hence to have a rough idea about the time needed to upgrade Sitecore for a particular client, we should run the entire Sitecore Upgrade on either development or RnD environment. This will give a clear picture about the tasks, technicalities and complexity for that specific Sitecore Implementation.
Hence before executing the upgrade on actual environments it’s always recommended to run the same on lower environment.
Upgrade Estimation Tips #2: Scoping the Upgrade
Although scoping a project is always a good practice but when it’s an upgrade project scoping is a must. In most of the cases when a client plans for an upgrade infrastructure uplifts, code remediation, cleaning up dead code/modules is always second phase of the coin.
Hence we must freeze the Scope of Upgrade very precisely. The scope should be defined and freeze by understanding client’s expectations from the upgrade. Considering all the activities to be performed during the upgrade, the scope can be finalized.
Upgrade Estimation Tips #3: Number of environments/instances to be upgraded
Executing the entire upgrade on the lower environments will give us the baseline about the total time needed to upgrade one environment. Hence we need to list down and total number of environments to be upgraded. The baseline can be referred to estimate the upper environment upgrades. Although we can omit few of the steps on each environments like reusing the upgraded configuration files from lower environment to upper until and unless the configuration file contains any environment specific setting in it.
Hence the estimation will depend on the number of environments to be upgraded.
Upgrade Estimation Tips #4: Licensing
Sitecore provides temporary licenses for the upgrade process cause during upgrade you will be creating the parallel instances for the upgrade. Hence we can use the temporary licenses during upgrade and once done we can use the latest permanent license.
Thus to start the upgrade we need to raise the request for temporary license with Sitecore proactively.
Upgrade Estimation Tips #5: Estimating the Infrastructure Readiness
All the efforts needed to setup a new or parallel environment must also be included in the upgrade process. This may include setting up new servers, new urls, firewall/security implementation, DB server setup, MongoDB setup etc.
Additionally starting the upgrade on a particular environment will be dependent on the infrastructure readiness, hence estimating that will play a key role to avoid blockers while execution.
Upgrade Estimation Tips #6: Estimating the code remediation needed
Lower environment Sitecore upgrade gives us clarity on the scope and impact of code remediation. Hence we can precisely estimate the code remediation needed for that specific Sitecore solution. In most of the scenarios code remediation are needed for Lucene version upgradation, pipeline/event customization, module customization etc. Hence scoping phase make sure you consider these remediation.
Upgrade Estimation Tips #7: Estimating the modules to be upgraded
If any module like WFFM, ExM, Azure is integrated with solution most of the module will need upgrade hence don’t forget to assess the upgrade complexity per module and estimate them accordingly.
Upgrade Estimation Tips #8: Connecting the dots
Connecting all the 7 points mentioned below prepare a consolidated estimation for the entire solution and then propose it to the client. Hopefully the client will be amused. 🙂
Hope it helps. 🙂