Image by Gerd Altmann from Pixabay

Every enterprise that uses Windows 10 needs a clear process for rolling out version upgrades and maintaining alignment with Microsoft’s support lifecycle (two new versions a year / retiring two versions a year).

In this post, we share the checklist we use to guide a Windows 10 upgrade readiness exercise.

The checklist assumes a large enterprise environment and assumes an in-place upgrade.

The best chance or upgrade rollout success is if every item on the checklist has an approach.

  1. New feature assessment
    • Each new version of Windows 10 comes with new features, thus review the features and decide if the feature will be used/ ignored/ blocked.
    • Identify any infrastructure dependencies, and identify the implications to support and users. For example, Windows Hello for Business is available on Windows 10 but has a dependency on Domain Controller versions, and using biometric features requires compatible hardware.
  2. Group Policy review
    • Each new version of Windows 10 introduces new GPOs. Review the features and determine if the default setting should remain or be overwritten.
    • Determine if Administrative Templates in Active Directory require updating.
  3. Driver and Utility updates
    • Validate with device hardware manufacturers compatibility with Device Drivers. Devices over 4 years old may not have an officially supported Device Driver; in many cases, the Driver will still work, however, this requires some testing and carries some risk of unexpected issues.
    • Consider Device Utilities (i.e. that control external screens, Wireless connectivity).
    • Consider third party display drivers such as DisplayLink drivers.
  4. Virtual environment platform compatibility
    • If you run virtual desktop environments confirm with the vendor compatibility with the target Windows version. It is common to need to update the hypervisor to accommodate new Windows 10 versions.
  5. Machine health
    • Unhealthy machines will cause upgrade issues, thus assess the health of machines in advance of deployment.
    • Machines with insufficient disk space either need space recovered or in desperate cases disk sizes increased.
    • Machines with limited RAM can take an extended time to update, and this increases the chance an impatient user will reboot the machine mid-upgrade. Thus consider if machines with less than 4G RAM should be replaced with more powerful machines.
    • Check if machines are up to date on Windows patches; applying version updates to machines that are fully patched comes with less unexpected issues.
    • Check which machines are not receiving monthly updates correctly or not receiving recent package deployments (e.g. an Antivirus client update failure).
  6. Application assessment
    • In our experience, only a very tiny percentage of applications will be impacted by a Windows 10 version upgrade. Thus we recommend focussing pro-active testing on core critical apps only and then having a reactive process to address any applications issues identified during rollout.
  7. Deployment process
    • Based on the previous steps identify any pre-requisite actions to apply in advance of the Windows version update. We recommend applying pre-requisite actions well in advance of the Windows version update so that any subsequent issues have fewer variables to consider.
    • Identify if the deployment process will allow users to postpone and at which point the deployment becomes mandatory.
    • Identify the schedule for deployment; time of day and day of the week. For example, if possible, we avoid mandatory deployments before 11 am and we avoid Mondays and Fridays.
    • Identify the user notification process; this may include a combination of emails, Windows-based notifications, and even custom desktop notifications.
    • Identify the rollout order; we recommend deployment in phases; starting with core application teams, then other support teams, then central IT functions if applicable, then Business Unit first adopters, and then full deployment ramping up in volume each week (a topic for a separate post). We usually leave “VIP users” to late in the rollout.
    • Identify the point in time when new build machines, or machine re-builds, will include the updated version; we recommend doing this when commencing full deployment.
    • Identify if there are key periods to avoid for certain users groups. For example, some users may have end-of month duties; we recommend providing these users with an option to delay their upgrade.
    • Identify deployment analytics to gather and how deployment progress will be reported, and how this will be made visible to others.
    • Identify how failed upgrades will be rescheduled (this is linked to deployment progress analytics and reporting).
  8. Stakeholder communications
    • Prepare a communications plan identifying the objective, format, content, audience and timing of communications.
  9. User and Support team training
  10. Future maintenance
    • Identify how new build Windows 10 image will be serviced with monthly updates.
    • Identify when the next Windows 10 version upgrade will need to apply.
    • Remove old Windows 10 builds from being available to deploy.