The short answer
Any tool can print a schedule. The operational question is what happens at six in the morning when someone calls in sick and three sites need covering.
Judge scheduling software on exception handling, not on the planning screen.
The exceptions that matter
| Situation | What the tool must do |
|---|---|
| Absence | Identify who can cover, considering travel and hours |
| Site access | Know who holds keys or codes for each site |
| Travel | Account for time between consecutive sites |
| Late changes | Notify the affected people and confirm receipt |
| New site | Add it without rebuilding the whole rota |
Site access is the one that catches operations out. A perfectly reasonable cover assignment fails if that person cannot get into the building.
Confirming, not just notifying
- Send the change to the person by the channel they actually use.
- Require an acknowledgement rather than assuming it was read.
- Escalate to a supervisor if it is not acknowledged within a window.
- Show the current state of the rota, not the version sent earlier.
- Keep a record of who was told what and when.
Point three is what stops a missed message becoming an uncovered site. Sending is not the same as knowing.
Constraints that are easy to forget
- Working time limits and required rest between shifts
- Right to work and training status for particular sites
- Travel time that makes back-to-back assignments impossible
- Client restrictions on who may attend a site
- Equipment that lives at one site and is needed at another
Encode these as rules the system enforces rather than as things a scheduler is expected to remember under pressure.
Do not over-automate the assignment
Automatic assignment works well for routine gaps and poorly for judgement calls. A supervisor knows things the system does not, such as who is having a difficult week.
The better pattern is automatic suggestion with a human decision, which is faster than manual scheduling and does not produce assignments nobody would have made.