Qu’est-ce que DevOps ?
La contraction de « Dev » et « Ops » fait référence au remplacement des équipes de développement et d’opérations en silo. L’idée est de créer des équipes multidisciplinaires qui collaborent avec des pratiques, des outils et des responsabilités partagés pour les résultats. Les pratiques DevOps essentielles incluent la planification agile, l’intégration continue, la livraison continue et la surveillance complète des applications. DevOps est un parcours continu d’amélioration, pas une destination.
Valeur métier de DevOps
Les organisations qui implémentent des pratiques DevOps voient généralement des améliorations mesurables dans les métriques opérationnelles clés :
- Fréquence de déploiement : augmentation des versions peu fréquentes aux déploiements réguliers et prévisibles
- Délai d’exécution : Réduit des cycles de développement étendus à des délais de livraison plus courts
- Temps moyen de récupération (MTTR) : résolution des incidents plus rapide et restauration du système
- Taux d’échec des modifications : moins de problèmes de production en raison d’un test et d’une automatisation améliorés
Les avantages attendus sont les suivants :
- Réduction du délai de commercialisation pour les nouvelles fonctionnalités
- Diminution des incidents liés au déploiement
- Amélioration de la productivité et de la satisfaction des développeurs
- Réduire les coûts opérationnels par le biais de l’automatisation
Comprendre et calculer votre temps de cycle
Commençons par un concept fondamental sur le développement de logiciels à l’aide de la boucle OODA (Observer, Orient, Décider, Act). Initialement conçu pour empêcher les pilotes de chasse d’être abattus par le ciel, la boucle OODA est un excellent cadre pour rester à l’avance de vos concurrents dans le monde des affaires.
Boucle OODA en pratique :
- Observer : Surveiller les métriques métier, les tendances du marché, le comportement des utilisateurs et les données de télémétrie
- Orient : Analyser les options pour ce que vous pouvez livrer, éventuellement par le biais d’expériences
- Décider : déterminer ce qu’il faut poursuivre en fonction des données et des priorités métier
- Agir : fournir des logiciels de travail à des utilisateurs réels et recueillir des commentaires
Exercice de calcul du temps de cycle : Réfléchissez à votre processus de développement actuel. Combien de temps faut-il pour aller de :
- Validation de code → Déploiement en production ?
- Demande de fonctionnalité → commentaires des clients ?
- Rapport de bogues → Correction en cours de production ?
Exemple : s’il faut 2 semaines pour déployer une modification de configuration d’une ligne, votre durée de cycle est de 2 semaines. Cela devient votre contrainte de vélocité.
Devenir informé des données, et non piloté par les données
Nous vous recommandons d’utiliser des données pour informer les décisions de votre prochain cycle, mais éviter de devenir paralysés par analyse. L’expérience de nombreuses organisations suggère que les déploiements ont souvent des résultats variés :
- Certains déploiements auront des résultats métier négatifs
- Certains déploiements auront des résultats positifs
- Certains déploiements ne feront aucune différence mesurable
Le principe clé : Échouez rapidement sur les initiatives qui ne font pas avancer l’entreprise et redoublez d’efforts pour les résultats qui soutiennent les objectifs de l’entreprise. Cette approche est souvent appelée « pivot ou persévère ».
Application pratique :
- Configurer les tests A/B pour les nouvelles fonctionnalités
- Définir les métriques de réussite avant le déploiement
- Établir des procédures de restauration pour les expériences ayant échoué
- Créer des boucles de commentaires pour mesurer rapidement l’impact
S’efforcer de valider l’apprentissage
La rapidité avec laquelle vous pouvez échouer rapidement ou renforcer vos efforts dépend de votre temps de cycle, c'est-à-dire du temps nécessaire à compléter la boucle de rétroaction. Les commentaires que vous collectez avec chaque cycle doivent être les suivants :
- Factuel : basé sur le comportement réel de l’utilisateur et les métriques système
- Actionnable : Mener à des étapes et décisions claires
- Temps opportun : Disponible assez rapidement pour influencer l’itération suivante
Cette approche basée sur des preuves est appelée apprentissage validé : prise de décisions basées sur des preuves empiriques plutôt que sur des hypothèses ou des opinions.
Exemples de métriques pour l’apprentissage validé :
- Taux d’engagement des utilisateurs et adoption des fonctionnalités
- Performances système et taux d’erreur
- Scores de satisfaction des clients et tickets de support
- Indicateurs de performance clés métier (chiffre d’affaires, taux de conversion, rétention)
Raccourcir le temps de votre cycle
Lorsque vous adoptez des pratiques DevOps :
- Vous raccourcissez votre temps de cycle en travaillant dans des lots plus petits.
- Utilisation d’une automatisation supplémentaire.
- Renforcement de votre pipeline de mise en version.
- Amélioration de vos données de télémétrie.
- Déployer plus fréquemment.
Optimiser l’apprentissage validé
Plus vous déployez fréquemment, plus vous pouvez expérimenter. Plus vous avez la possibilité de pivoter ou de persévérer et d’acquérir un apprentissage validé chaque cycle. Cette accélération de l’apprentissage validé est la valeur de l’amélioration. Considérez-le comme la somme de progrès que vous atteignez et les échecs que vous évitez.