SoftwareCentral · Phased Deployments

Phased Deployments Best Practices

What works well, and the mistakes that make a rollout stall or go wider than intended.

Rings & templates Success criteria Timing Robopack

1 Design the rings once

PracticeWhy
Start with a small pilotThe first phase should be devices whose users report problems quickly — IT, key users, a test lab. A broken package then reaches ten devices, not a thousand.
Use the same ring collections or groups everywhereCreate them once, keep them up to date (query-based collections or dynamic groups), and save the phases as a template. Everyone then rolls out the same way.
Use Limit to instead of new groupsFor an application only some people should have, keep the ring template and set Limit to to the audience. Creating a collection or group per phase per application leaves a lot to clean up later.
Do not mix users and devices IntuneRing groups and the Limit to group must hold the same kind of members. A user group never matches a device group, so the phase would have no targets — or be skipped, if empty phases are skipped.
Keep the last ring for everyoneMake sure the rings together cover all devices or users that should get the software, or some will never get it.

2 Choose realistic success criteria

PracticeWhy
Small rings: a number of devicesIn a ring of 10, one switched-off laptop is 10 %. Number of devices successfully deployed = 8 is easier to reach than 95 %.
Large rings: a percentage below 100Some devices are always offline or broken. 85–95 % lets the rollout move on; the rest install later from the install collection or group anyway.
Never ask for more devices than the ring hasThe phase then gets Not enough devices to complete. Remember that limits can make a phase smaller than its collection.
Available needs users IntuneWith Assign as Available, a phase only succeeds as users install the application themselves from the Company Portal. Use a low number of devices as criteria, waiting hours, or Required for the pilot.
Know what Always Continue doesIt switches off success criteria for all phased deployments: phases follow each other on their schedule whatever the results. Only use it if you do not want rollouts to wait for results.

3 Plan for timing

PracticeWhy
Expect up to half a day between phasesA phase is only seen as completed at a compliance check (every 12 hours by default). Use Evaluate all when you want it now.
Use waiting hours for feedback timeWait at least … hours guarantees the pilot runs for a while, even when it succeeds quickly. They count from the moment the previous phase was marked completed.
Remember time of day is an hour, and weekday is UTCA phase with a time only starts in that hour; if it is missed (for example while the service was stopped), it waits for the same hour the next day.
Set the failure days to match the ringThe days next to A phase has not met its success criteria after also decide when the phase is marked failed. Give large rings more time than the default 7 days.
Use a deadline for must-have softwareA security fix that every device needs by a date: the deadline starts all remaining phases at that time.
Plan ahead — you cannot edit a running rolloutOnce the first phase has started, only the status-window actions remain. Use Start at to create it in advance and check it before it starts.

4 Notifications, approval and permissions

PracticeWhy
Send mail to a shared mailboxApproval requests and failures must reach someone who reads them, also during holidays. Templates keep the addresses, so set it once.
Approve production, not the pilotApproval required on the first production phase gives a clear go/no-go after the pilot, without slowing down the pilot itself.
Give approvers only what they needApproving, skipping, continuing and running phases are separate permissions in the security role. Approvers do not need to create or delete.
Deleting is not rolling backDeleting a phased deployment stops it but uninstalls nothing. To roll back, remove the software with its uninstall deployment or a new version.

5 With Robopack

PracticeWhy
Always a pilot phase in Patch Flow templatesNew versions arrive by themselves, at any time. The pilot is the only thing between a faulty update and every device.
Upgrade only devices that have itTick the wizard’s Limit … to install collections / groups or program name, so an update never installs the application where it was not before.
Skip empty phases in those templatesWith such limits, a ring without the application is otherwise stuck with No target resources and holds up the rollout.
Remove the devices from the previous versionSo devices do not keep two versions in their install collections or groups.
Do not delete a template a flow usesNew versions are then imported but not rolled out. Change the template instead; the change applies from the next version.
One Intune template per tenantIntune templates belong to their tenant’s groups.

See also Automated patch flows – Best practices.

6 Keep it healthy

PracticeWhy
Glance at Last Run timeIf Last Run time and Last Compliance Check on the Phased Deployments page are old, the SoftwareCentral Windows service is not running and no rollout moves.
Let old phased deployments goEvery phased deployment is evaluated at each run. Keep Remove Phased Deployments older than (days) at a sensible value, and delete rollouts you no longer need.
Look at stuck phases weeklySort out phases that are Failed, No target resources or Not enough devices to complete: continue, skip, or fix the collection or group.

7 Troubleshooting

SymptomCauseWhat to do
Last Run time and Last Compliance Check on the Phased Deployments page are old. The SoftwareCentral Windows service is not running. No rollout moves until it runs again. Start the SoftwareCentral Windows service.
A warning in the log: “The phased deployment service has run for n minutes. It is recommended to remove some phased deployments.” Every run looks at every phased deployment, and there are too many of them for a run to be quick. Delete the rollouts you no longer need, and lower Remove Phased Deployments older than (days) in Settings.
Status: “Package has been deleted” The software was deleted from SoftwareCentral. Delete the phased deployment. It cannot run without its software.