Résilience logicielle et slack time
Où je partage une réflexion suite à la lecture d'un article sur la résilience
Je lisais récemment cet excellent article de Jessica Joy Kerr, sur la résilience et la place du travail imprévu dans les équipes logicielles.
La thèse de Jessica est simple : les systèmes résilients le sont parce qu'ils ont du mou (oui, c'est la meilleure traduction que j'ai trouvée de slack). Le mou, c'est ce qui semble être du gaspillage quand tout va bien, ou que l'on cherche à tout optimiser, mais qui empêche un incident de devenir une catastrophe industrielle.
Dans une équipe logicielle, le mou permet de faire toutes ces tâches impossibles à justifier et à prioriser, qui concernent la qualité logicielle dans son acception la plus large possible. Sans ce mou, dans un système trop rigide où toute tâche doit être justifiée, priorisée et optimisée, le risque est grand que le logiciel perde la résilience.
À être excessivement concentré sur l'impact, le ROI, la valeur, où toute autre chose mesurable - et dont la poursuite est parfaitement indispensable par ailleurs - on se prépare des lendemains très douloureux.
Laisser l'autonomie aux développeurs de travailler sur des tâches non justifiables - ou difficilement - au fil de l'eau, en faisant confiance à leur jugement, c'est un excellent moyen de bâtir un système résilient (l'auteur de l'article à une règle à la louche de 20% de slack time).