Pattern de gestion de crises pour techniciens

Je fais du développement en environnement professionnel depuis maintenant une dizaine d’années. Dans toutes les organisations et les équipes où j’ai pu travailler, j’ai été confronté à des "crises". Parfois venant de problèmes dans les solutions, parfois simplement politiques, parfois "fantasmées", elles ont cependant un point commun : elles viennent s’ajouter à un quotidien parfois déjà bien assez chargé. Les gérer le plus efficacement possible devient alors une nécessité.

Les métiers de l’informatique nous confrontent à de très nombreux types de "crises". Cet article s'intéresse aux crises avec une forte notion d’urgence, qu’elles soient créées par une démonstration prématurée d’une feature non développée, par un bug dans l’application ou simplement par un service non rendu. Je ne traite pas ici des crises à plus long terme (vélocité trop faible, organisation inefficace, etc…).

De mon expérience, la résolution des crises se passe bien mieux si les techniciens ne se cantonnent pas à réaliser les corrections. Qui mieux que les techniciens peuvent juger de la pertinence des solutions, de la priorisation des actions ou encore de la répartition des tâches la plus efficace ? Partant de ce constat, cet article décrit le processus que je suis aujourd’hui dans ce type de situations.

Observer

La première phase d’une gestion de crise est essentielle et doit pourtant se faire en quelques secondes : identifier des comportements toxiques. Les exemples que je vais prendre ici peuvent sembler caricaturaux mais ils sont loin de l’être tant que ça.
Quand vous "arrivez sur une crise" vous allez chercher :

L'exécutant paniqué : cela peut être la personne à l’origine du bug entraînant la crise, la personne qui devra faire la démonstration de la fonctionnalité qui n’existe pas ou encore la personne qui devra justifier du non-rendu de service. Dans le meilleur des cas vous trouverez simplement cette personne en train de parler très vite et d’essayer plein de solutions sans fondements. Dans le pire des cas cette personne se sera déjà renfermée sur elle-même, cédant à la panique et ne pouvant plus qu'exécuter les actions qu’on lui dicte (n’osant plus rien toucher). Dans tous les cas elle sera surement encadrée par le manager de l’équipe impactée et une figure d’autorité de plus haut niveau.

L’exécutant détaché : bien que faisant partie intégrante de l’équipe et ayant tout à fait les compétences pour participer à la résolution des problèmes, cette personne n’est pourtant absolument pas impliquée et continue ses tâches planifiées. Si vous connaissez l'équipe il est très simple d’identifier cette personne qui ne participe pas aux actions globales alors que vous savez qu’elle est légitime.

La figure d’autorité toxique : il y a souvent "directeur" dans l’intitulé du poste qu’occupe cette personne au sein de l’organisation (Président Directeur Général étant tout à fait envisageable !). Elle est présente alors qu’on ne la voit normalement pas et elle lève les yeux de son écran uniquement pour demander quand la crise sera résolue, qui doit être blâmé ou combien tout ça va coûter.

Le manager effacé : c’est la personne dont on attend qu’elle prenne en charge l’organisation de la résolution et les décisions (chef de projet, manager, product owner…). Malheureusement, cette personne est soit étrangement introuvable soit totalement effacée (elle se contente d'acquiescer ce que dit la figure d’autorité ou elle ne peut pas aider car elle doit absolument terminer les budgets / tout autre action essentielle à ce moment-là).

Même s’il est rare de trouver tous ces comportements dans une même situation, je pense qu’il est tout aussi rare de n’en trouver aucun.

Si vous arrivez en renfort sur une crise vous pouvez identifier ces comportements en faisant un tour pour saluer tout le monde. Si vous appartenez à l’équipe impactée par la crise vous verrez rapidement les changements de comportement chez les autres, pensez aussi à les détecter chez vous !

Rassurer

Plus que toute autre situation, la résolution d’une crise bénéficie des compétences et expériences de chacuns. Il est donc essentiel que tout le monde puisse intervenir à son meilleur niveau ! Il faut donc limiter les réactions de panique. Vouloir isoler temporairement (le temps d’un café ou d’une marche) les gens pour tenter de les rassurer est souvent contre-productif sur les crises présentant vraiment une urgence.

Je vous conseille de paraître beaucoup plus posé que vous ne l'êtes habituellement, vous représentez l’autorité technique et vous êtes calme, c'est que tout va bien non ? Il faut cependant faire très attention à ce que cela ne passe pas pour du détachement, vous êtes impactés par la situation, impliqués dans la résolution mais profondément serein et il faudra garder cette attitude jusqu’à la résolution.

Ensuite il est essentiel d’obtenir deux choses de la figure d’autorité toxique si elle est présente : elle doit communiquer sur l’urgence de la situation pour vous permettre de solliciter toutes les personnes dont vous pourriez avoir besoin. Ensuite, il faut vous en débarrasser, pour ce faire plusieurs solutions :

  • Lui expliquer discrètement que sa présence n’aide pas, qu’elle ajoute une pression inutile et que vous la tiendrez informée des avancées de la résolution. C’est la meilleure solution mais elle n’est envisageable que si vous savez que la personne va réagir correctement et accepter de faire confiance à ses équipes.
  • Si vous avez un doute sur le fait qu’une demande directe ait les résultats escomptés il va falloir ruser. Vous pouvez utiliser des dysfonctionnements de l’organisation en lui demandant par exemple de vous fournir des dérogations pour accéder au code impacté ou pour pouvoir livrer rapidement un correctif (si de telles procédures existent). Vous pouvez aussi lui demander de préparer la communication expliquant le problème aux clients ou de calculer les impacts sur l’image produit (quoi que cela puisse vouloir dire).
  • Si les solutions précédentes échouent ou vous semblent vouées à l'échec, vous pouvez vous mettre en danger en utilisant votre autorité technique (après tout, si on vous a appelé c’est que vous avez un rôle à jouer) en lui demandant de manière ferme et non agressive de laisser travailler l’équipe tout en lui assurant qu’elle sera tenue informée des avancées.

Il est maintenant temps d’aller voir le manager effacé (s’il est trouvable à ce moment-là) pour juger si, en l’absence de la figure d’autorité, vous pouvez compter sur son aide ou non. Demandez-lui un point sur la situation. Selon la précision de ses réponses vous serez rapidement fixé ! Si vous jugez que son implication n’est pas bonne à ce moment là, je vous conseille ne pas essayer de l’impliquer d’avantage pendant la résolution de la crise en cours. Vous irez le voir après pour faire un point mais attendre des actions de sa part sur le moment sera certainement très décevant !

Faire un état des lieux

L’environnement est un peu assainit, vous pouvez faire un état des lieux. Il est temps de trouver les sachants et personnes impactées pour rassembler des faits. Attention, les personnes directement impactées vont vouloir vous détailler la piste qu’ils sont en train d’explorer, ce n’est pas encore l’information qui vous intéresse. À ce moment-là vous cherchez à connaître :

  • Les engagements pris et qui ne sont pas suivis : ces informations sont essentielles car vous devrez peut-être mettre en place des solutions temporaires pour répondre à l’urgence. Il faut donc savoir ce qui doit être fait là tout de suite !
  • L'état du système (dans le cas d’un problème sur une fonctionnalité existante) : que disent les logs, les métriques, les changements dans le gestionnaire de sources, etc. Bref, qu’est-ce qui s’est passé pour qu’on en arrive à cette situation.
  • Les pistes déjà explorées ou en cours d’exploration : pour éviter de faire les mêmes essais mais aussi pour savoir si des "solutions" pouvant aggraver la situation sont en place.

Une fois que vous avez une connaissance et une compréhension suffisante des faits vous pouvez vous renseigner sur les actions en cours.

Analyser

Maintenant que vous avez connaissance des engagements et des faits, vous pouvez travailler à une solution avec l’équipe. Dans ces moments-là, il ne faut pas hésiter à proposer des solutions "dégradées" mais qui rendront quand même le service sur le moment (si aucune solution pérenne n’est envisageable avec les contraintes de la crise). Quelques pistes parfois envisageables en fonction des contextes et des problèmes :

  • Prévoir un autre scénario de démonstration ayant une valeur similaire mais qui soit bien plus simple à réaliser. Cela peut être en faisant du code vraiment spécifique à cette démonstration !
  • Renvoyer des données venant de données figées en mémoire au lieu de questionner d’autres systèmes pour temporiser les crises liées à des performances ou des données erronées.
  • Supprimer une gestion de droits pour débloquer une démonstration (pas envisageable pour une crise de production).
  • Débrancher une fonctionnalité posant problème pour éviter que la corruption de données se répande.
  • Rollback de la livraison causant problème (si c’est envisageable).
  • Toute autre solution pouvant vous sortir de la panade pour le moment !

Cependant, ne négligez pas la validation, que ce soit en terme de tests ou de choix (à valider avec tous les acteurs), de ces solutions qui vont être réalisées dans l’urgence, il faut veiller à ce que le remède ne soit pas pire que le mal !

Même après implication de tous les sachants, il est possible que vous n’ayez vraiment pas assez d’information à votre disposition pour faire une analyse efficace. Dans ce cas il faut prendre des actions pour ajouter de la surveillance sur le système pour obtenir ces informations qui font tant défaut.

Agir

Maintenant que vous savez ce qui doit être fait (en tout cas dans un premier temps) il faut répartir les tâches. Vous avez un rôle à jouer !

Chacun doit être le plus efficace possible. N’hésitez pas à "enrôler de force" les exécutants détachés en rappelant que la crise est prioritaire (cf. la dernière phrase de la figure d’autorité toxique avant de quitter le bureau).

Assurez-vous que tout le monde sait ce qui doit être fait et utilisez vos temps morts (builds, déploiement du correctif que vous venez de coder, …) pour rassurer d’avantage tout le monde en ayant l’air de plus en plus rassuré.

Continuez le suivi des actions et rebouclez avec les phases d’analyse autant de fois que nécessaire pour arriver à une solution permettant une sortie de crise (qui n’est pas forcément une solution pérenne). N’oubliez pas d’informer des avancées pour éviter de voir réapparaître les figures d’autorités toxiques (oui, elles peuvent se multiplier rapidement si vous gérez mal votre communication).

Faire un post-mortem

Dès que la sortie de crise est admise, réunissez tous les acteurs. N’attendez pas le lendemain même s’il est tard ! Le but de cette réunion informelle est de lister les actions qui ont été faites par chacun et de déterminer si chaque action est pérenne ou non.

Pour chaque action temporaire, décidez immédiatement du plan d’action pour la pérennisation. Définissez aussi les actions pour éviter qu’une telle crise ne se reproduise.

Les actions ne sont pas forcément techniques, elles peuvent aussi être organisationnelles ou méthodologiques !

Il est essentiel de faire cette réunion rapidement tant que tout le monde se rappelle de ce qui a été fait, oublier une rustine mise en place pendant une crise n’est jamais une bonne idée.

En fonction des processus de l’organisation dans laquelle se passe la crise, cette courte réunion peut être l’occasion de faire la communication aux clients (si elle est nécessaire et qu’elle n’a pas été faite avant).

Améliorer

Quelques temps après (laissez passer simplement un café) faites des points en face à face (ou avec le manager de l’équipe) avec les personnes ayant eu des réactions que vous avez jugées mauvaises ou dangereuses pour elles-mêmes.

Le but de ces points va être de comprendre pourquoi elles ont réagi de cette manière et de partager votre point de vue. L’idée n’est absolument pas de critiquer les gens qui ont souvent d’excellentes raisons mais de vous permettre de mieux réagir lors de la prochaine crise qui arrivera bientôt :)