I thought I would share a few things I do before upgrading a 2012 R2 environment to 2016.
For reference, the upgrade steps for SCSM 2016 are here: https://docs.microsoft.com/system-center/scsm/upgrade-environment. However, before you upgrade to SCSM 2016, I highly recommend you check a few things so that you try to catch something that may cause the upgrade to fail. The first, is what is discussed here: https://blogs.technet.microsoft.com/servicemanager/2016/08/03/scsm-2016-upgrade-steps-for-custom-development/ This outlines what needs to be changed in custom solutions for them to work in SCSM 2016. I did this recently for a solution from the TechNet Gallery and it was pretty simple. Make sure that you plan for each of your custom add-ons to SCSM, as every free tool, portal and custom solution will need to be upgraded. Check with the developers of your tools (if not yourself) and see if they have a 2016-compatible version (most do).
After verifying that you have the updated tools available, I usually run a few SQL Queries to see if anything in the ServiceManager database or DWStagingAndConfig is stuck. If there is a problem now, it will get worse with an upgrade (general rule of thumb). If you have a result from any of these, figure out why. Either post a comment, look it up online, or open a case.
Run these queries against the ServiceManager database and DWStagingAndConfig database:
Select * from DeploySequenceView where DeploymentStatusId !=6
Select * from DeploySequenceStaging
select * from DeployItemStaging
Select * from infra.process p
left join infra.Batch b on p.ProcessId = b.ProcessId
left join infra.WorkItem w on w.BatchId = b.BatchId
where w.StatusId NOT IN (3,6)
After checking the DB, check the OperationsManager event log on the workflow server. If you see errors like 33880 or 33333, figure out why they are happening. These and several other errors can indicate there is something corrupt in SCSM (like an SLO that hasn't been created through the console). Address these errors before upgrading. Lastly, MAKE SURE YOU HAVE YOUR RECOVERY KEYS!!!!!
Hopefully this will help a few companies who would have otherwise had to implement a disaster recovery because the upgrade failed.