Formation DevOps écrite
Comment favoriser le retour d’information en DevOps ?
Dans votre environnement informatique, où les demandes de vos clients sont de plus en plus complexes, votre équipe DevOps et vous-même devez améliorer en continu la qualité de votre travail. Pour y parvenir, mettez en place des boucles de retour rapides, continues et fiables, de droite à gauche dans votre flux de valeur.
Ces boucles vous aideront à traiter rapidement les obstacles tant qu’ils sont petits, peu coûteux et faciles à éliminer. Elles vous permettront d’instaurer une culture d’apprentissage dans le cadre de votre travail. Lorsqu’un problème survient, votre équipe DevOps et vous-même le considérez comme une occasion d’apprendre et d’améliorer la qualité de vos produits et services logiciels.
Pourquoi intégrer la qualité grâce aux boucles de retour DevOps ?
Votre expérience du développement logiciel vous a probablement montré que, dans un système complexe, personne ne peut tout savoir. Même en réalisant exactement le même travail deux fois, vous n’obtenez pas les mêmes résultats. Comme cette incertitude est difficilement acceptable pour une entreprise, les organisations cherchent à renforcer le contrôle avec des mécanismes d’assurance qualité, comme les listes de contrôle, les audits, la conformité, les spécialistes de la qualité et la microgestion. Toutes ces mesures ne suffisent pas toujours à éviter les erreurs.
Pour bâtir une organisation qui intègre la qualité, commencez par accepter que les erreurs font partie du travail quotidien.
Créez une culture axée sur des systèmes de travail sûrs
Vous créez une culture axée sur des systèmes de travail sûrs. Personne dans votre équipe DevOps ne craint de se tromper, car vous savez que les erreurs sont rapidement détectées et corrigées tant qu’elles sont mineures et avant qu’elles ne provoquent des défauts graves, des interruptions de service ou des avis négatifs de clients.
Une culture de travail sûre vous apportera, à vous, à votre équipe DevOps et à l’ensemble de vos services informatiques et métier, les avantages suivants :
- La complexité de vos systèmes sera maîtrisée, ce qui permettra de détecter rapidement les problèmes de conception et d’exploitation.
- Les problèmes sont rapidement résolus alors qu’ils sont encore mineurs. Leur résolution crée spontanément de nouvelles connaissances et expériences au sein de l’organisation.
- Les nouvelles connaissances et expériences sont diffusées dans toute votre organisation.
- Les responsables de votre organisation DevOps forment d’autres responsables qui conçoivent et améliorent en continu des systèmes de travail sûrs.
Repérez les problèmes dès qu’ils surviennent
Si les retours dans votre organisation sont lents, rares et tardifs, prévenir les résultats indésirables devient tardif et coûteux. À l’époque de la livraison en cascade, on pouvait développer une application pendant un an avant de la présenter aux clients, puis passer une autre année à la réécrire. Aucune entreprise ne peut aujourd’hui se permettre de travailler ainsi.
Votre objectif consiste à créer des boucles de retour rapides. Le travail qui se déplace de gauche à droite dans le flux de valeur doit fournir un retour continu de droite à gauche. Intégrer la qualité à votre organisation DevOps repose sur des cycles de retour rapides. Votre équipe repère un problème dès son apparition dans le flux de valeur. Vous le corrigez rapidement et vérifiez constamment que votre mise en œuvre répond aux attentes des clients internes et externes ainsi que des autres parties prenantes concernées par votre travail. Les cycles rapides permettent de résoudre les problèmes, d’en tirer des enseignements et d’éviter de répéter les mêmes erreurs.
Corrigez les erreurs quand elles sont plus faciles, plus rapides et moins coûteuses à résoudre
Détecter rapidement les problèmes permet de les corriger rapidement. Sinon,
- Le coût et l’effort nécessaires pour les corriger augmentent de façon exponentielle, et vous laissez s’accumuler la dette technique, en superposant des solutions de contournement.
- Les erreurs se propagent aux unités de travail en aval dans le flux de valeur, où elles risquent fort d’entraîner d’autres erreurs.
- Les erreurs se répètent loin de l’unité de travail où elles ont été introduites et nécessiteront davantage de corrections et de travail pour être éliminées.
- les souvenirs des causes initiales s’estompent et les circonstances qui ont contribué aux erreurs changent. Quand on détecte une erreur plusieurs mois après son apparition, il devient difficile d’en trouver la véritable cause et, surtout, d’en tirer des leçons. Vous adoptez alors une solution de contournement pour gérer l’urgence, puis passez à la suivante. C’est exactement ce que vous cherchez à éviter avec le DevOps.
Encouragez votre équipe DevOps à signaler les difficultés, faites de même et mettez en place des mécanismes de retour continu pour détecter et corriger rapidement les erreurs. Évitez absolument de superposer du travail erroné à du travail déjà défectueux. Autrement dit, ne laissez pas l’équipe créer de nouvelles fonctionnalités avant de corriger les erreurs qui compromettraient leur développement. En améliorant continuellement la qualité de votre travail et en éliminant les erreurs dès qu’elles surviennent, vous pourrez créer les meilleurs produits et services logiciels sur votre marché.
Prenez les décisions de contrôle qualité au plus près du travail
Éloigner les décisions de contrôle qualité de l’endroit où le travail s’effectue réduit la qualité, rallonge les délais de livraison, affaiblit le lien entre cause et effet dans les retours et réduit la capacité à apprendre de ses erreurs.
En résumé :
- N’imposez pas à vos équipes des contrôles qualité manuels qui peuvent être automatisés.
- Ne demandez pas d’approbation à des personnes déjà très occupées qui connaissent peu ou pas du tout le travail effectué.
- Ne produisez pas de documentation volumineuse pour obtenir des approbations si la nature de votre travail la rendra rapidement obsolète.
- Ne soumettez pas de gros lots de travail à l’approbation des responsables.
Chaque membre de votre équipe DevOps devrait détecter et corriger les erreurs dans son propre domaine, en parler, partager les enseignements et les transmettre. La programmation en binôme, les revues par les pairs, les tests automatisés, l’inspection des modifications, les points de contrôle internes et les démonstrations fréquentes permettent à toute l’équipe d’assumer l’assurance qualité au quotidien.
CONCLUSION
Votre équipe DevOps et vous-même savez que vous êtes rémunérés pour servir vos clients. Vous devriez toujours travailler dans l’intérêt de vos clients internes et externes.
L’unité de travail suivante dans votre flux de valeur mérite une attention particulière. Optimisez votre travail en tenant compte de ses besoins et mettez en place avec elle des retours rapides et fiables. Vous facilitez ainsi un flux rapide, fluide et de qualité, et votre équipe DevOps peut détecter et résoudre les problèmes au plus vite.
