Accueil / Plusieurs agents et vérification adverse
Trois états d'échec, et accepter un risque proprement
Une automatisation qui traite une file devrait distinguer succès, échec récupérable qui sera retenté, et échec définitif abandonné, et seul le troisième doit remonter à une personne, sinon chaque échec récupérable éteint la valeur de l'alerte le jour où elle a raison ; accepter un risque avec un contrôle compensatoire diffère de l'ignorer, un instantané pris avant l'exécution permettant de classer le résultat en trois voies, variation normale silencieuse, changement important qui alerte seulement, perte catastrophique qui restaure automatiquement.
Une file de tâches automatisées produit trois résultats possibles pour chaque élément traité : un succès, un échec récupérable qui sera retenté plus tard, et un échec définitif qui restera en échec quoi que le système fasse ensuite. Confondre les deux derniers dans une seule catégorie d'échec casse la valeur de toute alerte construite dessus.
Pourquoi confondre les deux échecs éteint l'alerte
Si chaque échec récupérable déclenche la même alerte qu'un échec définitif, une équipe reçoit une notification pour un incident qui va probablement se résoudre tout seul au prochain essai. Répétée assez souvent, cette alerte perd sa valeur : les personnes qui la reçoivent apprennent à la fermer sans la lire, parce que la plupart du temps elle ne signale rien qui exige une action immédiate. Le jour où elle porte enfin un échec définitif, la réaction attendue ne vient plus, exactement parce que l'alerte a eu raison trop souvent pour de mauvaises raisons. Un dépassement de délai réseau ponctuel illustre un échec récupérable typique, il disparaît souvent au prochain essai ; une donnée manquante à la source, qui ne réapparaîtra pas toute seule, illustre un échec définitif typique.
resultat = traiter(tache)
si resultat == succes:
ne rien signaler
sinon si resultat == echec_recuperable:
remettre la tache en file, ne pas alerter
sinon si resultat == echec_definitif:
alerter une personne
Accepter un risque, ce n'est pas l'ignorer
Un contrôle compensatoire accepte le risque d'une action plutôt que de l'empêcher à l'avance : il laisse l'action se produire, puis vérifie après coup si elle a eu l'effet attendu. Un instantané pris avant l'exécution rend cette vérification possible en donnant un point de comparaison, le résultat obtenu se classe alors en trois voies, une variation normale qui reste silencieuse, un changement important qui alerte sans agir seul, et une perte catastrophique qui déclenche une restauration automatique. Un contrôle compensatoire qui n'a jamais été déclenché sur des données de test ne mérite pas encore la confiance qu'on lui accorde. Une leçon précédente montre que multiplier les agents ne rend pas un résultat plus fiable ; distinguer proprement ces trois états d'échec est une autre façon de garder la main sur ce qui remonte réellement, plutôt que de laisser chaque alerte se déclencher au même niveau.
Réessai automatique ou remontée humaine, selon le type d'échec
Retentative silencieuse
La tâche est remise en file sans alerter personne, c'est le cas normal d'un échec temporaire.
Alerte prématurée
Une personne est dérangée pour un incident qui allait probablement se résoudre au prochain essai, ce qui use la valeur de l'alerte.
Échec masqué
Le système retente indéfiniment un échec qui ne se résoudra jamais, sans que personne ne le sache.
Remontée légitime
Seul ce cas mérite de déranger une personne, l'action ne réussira pas sans intervention humaine.
Un gestionnaire configure une automatisation qui envoie une notification à son équipe chaque fois que l'un des cent dossiers traités échoue durant la nuit, que la cause soit un dépassement de délai réseau ponctuel ou une donnée manquante dans le dossier source.
Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.
Ce que cela établit : La situation établit que la même notification est déclenchée pour tout échec, qu'il s'agisse d'une cause temporaire comme un dépassement de délai réseau ou d'une cause durable comme une donnée manquante à la source.
Ce que cela n’établit pas : Elle n'établit pas que l'équipe traite ces deux notifications de la même façon en pratique, ni qu'elle a cessé d'y prêter attention, aucune réaction de l'équipe n'est décrite dans la situation.
Les trois calibrages faux les plus courants
- Trop large Cette configuration garantit que l'équipe finira par ignorer toutes les notifications, y compris celles qui signalent un problème durable.
- Trop étroit Cette situation ne permet rien d'affirmer sur le fonctionnement de l'automatisation, le nombre de cent dossiers n'ayant aucune incidence sur son comportement.
- À côté Cette situation montre que le réseau de l'équipe subit des dépassements de délai suffisamment fréquents pour justifier une automatisation dédiée.
- Une file de tâches automatisées gagne à distinguer trois résultats, succès, échec récupérable qui sera retenté, et échec définitif, seul ce dernier devant déclencher une alerte adressée à une personne.
- Faire remonter chaque échec récupérable comme s'il s'agissait d'un échec définitif use la valeur de l'alerte, au point que personne ne réagit plus le jour où elle signale un vrai problème.
- Un instantané pris avant l'exécution permet de classer le résultat obtenu en trois voies distinctes, une variation normale traitée en silence, un changement important qui alerte seulement, et une perte catastrophique qui déclenche une restauration automatique.
- Un contrôle compensatoire accepte le risque d'une action plutôt que de l'empêcher, à condition d'avoir été réellement déclenché sur des données de test avant qu'on lui fasse confiance.
Choisissez une automatisation que vous utilisez déjà et qui traite plusieurs éléments à la suite. Pour un échec récupérable et pour un échec définitif, écrivez sur une ligne ce qui se passe aujourd'hui, rien ne remonte, une retentative silencieuse, ou une personne est dérangée, et repérez si les deux types d'échec produisent la même réaction.