Featured image of post Planification et optimisation de prestations à domicile

Planification et optimisation de prestations à domicile

Automatisation de planification de services à domicile grâce aux microservices. Optimisation des plannings, déplacements et expérience client améliorés.

Introduction

Dans le cadre d’un projet d’envergure soumis à des accords de non-divulgation, j’ai pris la décision de partager certains aspects tout en préservant la confidentialité du client et de son écosystème. Ce projet représente l’une des plus importantes réalisations de ma carrière, d’où ma volonté de ne pas passer sous silence cette expérience significative.

Afin de préserver la confidentialité, je m’exprimerai de manière générale, fournissant suffisamment d’informations pour comprendre l’ampleur du projet sans dévoiler d’informations sensibles qui pourraient identifier le client ou être exploitables.

Le client était spécialisé dans l’envoi d’employés directement au domicile des utilisateurs finaux pour effectuer diverses opérations, allant de quelques minutes à plus d’une heure. Cependant, compte tenu de la diversité des tâches à réaliser, de la qualification variable des employés et de la gestion complexe de certains clients exigeants, une planification préalable des journées des employés était indispensable. L’objectif était de permettre à chaque employé d’effectuer le travail correspondant à ses compétences chez les clients, aux heures où ces derniers étaient présents à leur domicile.

Jusqu’à présent, cette planification des tournées était effectuée manuellement par des employés, mais les résultats n’étaient pas satisfaisants pour toutes les parties prenantes. Les clients se plaignaient des retards des intervenants, les intervenants se plaignaient des horaires difficiles à respecter, et la direction se plaignait du manque de rentabilité. En somme, les plannings étaient à l’origine de problèmes distincts pour les trois parties concernées.

Mission

C’est dans ce contexte que nous sommes intervenus avec un projet visant à automatiser 90% de la planification de base. Cette approche permettrait aux employés en charge des plannings de se concentrer sur les 10% restants, à savoir les cas complexes nécessitant une intervention humaine. Ainsi, une collaboration homme-machine se mettrait en place, où les employés chargés de la planification pourraient être beaucoup plus rapides et efficaces dans les tâches de base. Ils disposeraient alors de temps supplémentaire pour résoudre des problèmes de planification délicats, tels qu’un manque de personnel qualifié pour une tournée spécifique.

Il est important de souligner que notre objectif n’était en aucun cas de remplacer les employés chargés de la planification. Ils possédaient une expertise irremplaçable, mais avaient également à jongler avec une multitude de règles qui rendaient inévitables les erreurs lors de la création des plannings. Rien de plus efficace que les machines pour appliquer sans faille des centaines de règles.

Le projet s’est déployé en utilisant une approche basée sur les microservices, chaque microservice étant spécialisé dans un domaine spécifique.

Service data

Le premier microservice, d’une nature plutôt fondamentale, jouait le rôle de pont entre :

  • L’écosystème existant du client, incluant ses données et ses services
  • Les différents microservices développés pour le projet

Cette composante avait pour objectif de normaliser toutes les données pertinentes selon une structure unifiée, de servir de source de données unique pour tous les autres microservices, ainsi que de fonctionner comme un tampon ou un cache en raison de la lenteur potentielle ou de l’indisponibilité des autres services du client en cas de panne ou de mise à jour. Il stockait en mémoire l’ensemble des données nécessaires pour les autres microservices, connaissant précisément les liens entre les données, leur format, leur structure, ainsi que les moyens d’accéder à ces données depuis leurs services d’origine.

Service planning machine

Le deuxième microservice avait pour unique responsabilité la création des plannings. Il prenait en entrée divers éléments tels que les adresses, les actions à effectuer à ces adresses, les plages horaires pour réaliser ces actions, ainsi que les employés avec leurs compétences, leurs horaires de travail et leur moyen de transport pour la journée (voiture, moto, vélo, transports en commun, etc.). En sortie, il fournissait un planning avec les tournées pour chaque employé, en optimisant les déplacements tout en respectant les nombreuses règles spécifiées. La plupart de ces règles étaient obligatoires (par exemple, une action nécessitant 2 employés ne pouvait être effectuée par un seul), certaines étaient optionnelles (par exemple, ne pas dépasser la durée d’intervention prévue généralement pour un type de tâche), tandis que d’autres étaient axées sur l’optimisation (par exemple, minimiser le temps de trajet entre deux interventions).

Service planning humain

Le troisième microservice, dédié aux employés en charge des plannings, leur permettait de visualiser, créer, modifier et supprimer des plannings. Ils pouvaient soit élaborer les plannings manuellement, comme ils le faisaient avant la mise en place du projet, soit appuyer sur un bouton pour envoyer le planning au deuxième microservice. Ils n’avaient ensuite qu’à vérifier le résultat, gérer les alertes associées à la génération du planning (par exemple, l’absence d’un employé qualifié pour une action spécifique prévue dans le planning) et résoudre ces problèmes.

De plus, deux autres microservices ont été développés pour répondre aux besoins des employés se rendant chez les clients et des clients eux-mêmes. Ces portails distincts ont permis de fournir une expérience utilisateur adaptée à chaque partie, en mettant en valeur les informations pertinentes.

Conclusion

Ce projet a nécessité plus de deux ans de travail à plein temps et a englobé un nombre plus important de microservices que ceux décrits précédemment. Il a été l’un des projets les plus intéressants et complexes que j’ai eu l’occasion de réaliser, rivalisant avec le projet d’hypothèque en ligne pour CA next bank. Malheureusement, en raison des accords de non-divulgation, il ne m’est pas possible de dévoiler davantage d’informations, sans quoi j’aurais probablement sorti un article dédié pour présenter en détail la structure du projet, les enjeux, et le résultat final.