Qu'est-ce que l'évaluation de la maturité DevOps ?
L'évaluation de la maturité DevOps couvre tout le parcours du commit à la production, réparti en cinq groupes : pipeline CI/CD, release et déploiement, fiabilité et exploitation, automatisation de la sécurité et de la conformité, plateforme et infrastructure. Votre équipe évalue 15 capacités, comme la fréquence d'intégration, la réduction des risques de déploiement, la soutenabilité des astreintes ou la conformité en tant que code, sur une échelle à cinq niveaux allant de Ad hoc à Optimisé. Les équipes qui livrent rarement en connaissent généralement les symptômes : des étapes manuelles à chaque release et une rotation d'astreinte qui épuise les gens. Les évaluations révèlent quelle capacité constitue le véritable goulot d'étranglement. Comme chaque niveau dispose d'une description écrite, développeurs, SRE et profils produit évaluent la même capacité à partir de la même référence, et les écarts entre leurs points de vue indiquent par où commencer.
Dimensions
Pipeline CI/CD
L'efficacité avec laquelle l'équipe construit, intègre et obtient du feedback grâce à des pipelines automatisés.
Automatisation des builds
La fiabilité et le degré d'automatisation avec lesquels les builds logiciels sont générés et validés.
- Ad hocLes builds sont manuels, lents et sujets aux erreurs.
- ÉmergentUne automatisation de base existe, mais elle reste fragile ou incomplète.
- DéfiniLes builds s'exécutent de manière fiable avec une automatisation modérée.
- MaîtriséLes builds sont fortement automatisés et offrent un feedback rapide et fiable.
- OptimiséL'automatisation des builds est fluide, stable et optimisée en continu, avec des échecs quasi inexistants.
Fréquence d'intégration
La fréquence à laquelle les développeurs intègrent leurs modifications dans la base de code partagée.
- Ad hocL'intégration est peu fréquente, ce qui entraîne des merges volumineux et risqués.
- ÉmergentL'équipe tente d'intégrer plus souvent, mais des incohérences subsistent.
- DéfiniL'intégration quotidienne est courante et réduit les conflits de merge.
- MaîtriséL'intégration est continue et stable dans toute l'équipe.
- OptimiséUne intégration quasi en temps réel, par petits lots de modifications sûrs, permet un flux rapide.
Feedback du pipeline
La rapidité et la clarté des informations que le pipeline renvoie aux développeurs.
- Ad hocLe feedback est lent, peu clair ou peu fiable.
- ÉmergentUn feedback existe, mais il est souvent tardif ou bruité.
- DéfiniLe feedback du pipeline est raisonnablement rapide et exploitable.
- MaîtriséLe feedback est rapide, clair et permet aux développeurs d'itérer vite.
- OptimiséLe feedback est instantané, précis et permet une vélocité d'ingénierie de haut niveau.
Release et déploiement
Le niveau de sécurité, de prévisibilité et de fréquence avec lequel l'équipe livre des modifications aux utilisateurs.
Automatisation des déploiements
Le niveau d'automatisation et de reproductibilité des déploiements.
- Ad hocLes déploiements sont manuels, risqués et sujets aux erreurs.
- ÉmergentUne certaine automatisation est introduite, mais appliquée de manière inégale.
- DéfiniLes déploiements sont en grande partie automatisés et prévisibles.
- MaîtriséDes déploiements entièrement automatisés avec un faible taux d'échec.
- OptimiséUn déploiement continu avec des releases sûres, rapides et réversibles.
Réduction des risques de déploiement
L'efficacité avec laquelle l'équipe limite les risques lors des releases.
- Ad hocLes releases sont des événements « big bang » à haut risque.
- ÉmergentQuelques mesures d'atténuation des risques existent, mais elles restent limitées.
- DéfiniLes feature flags et les déploiements progressifs sont utilisés régulièrement.
- MaîtriséLes releases sont peu risquées, avec des garde-fous et une surveillance solides.
- OptimiséDes stratégies de release avancées évitent les pannes et permettent un rollback instantané.
Fréquence de livraison
La fréquence à laquelle de la valeur est livrée aux utilisateurs.
- Ad hocLes releases sont rares, imprévisibles et très irrégulières.
- ÉmergentLe rythme des releases s'améliore, mais reste irrégulier.
- DéfiniL'équipe livre selon un calendrier prévisible.
- MaîtriséDes cycles de release fréquents et fiables.
- OptimiséLa livraison continue assure un flux de valeur rapide et sûr.
Fiabilité et exploitation
La capacité de l'équipe à observer les systèmes en production, à réagir et à préserver leur bon fonctionnement.
Monitoring et observabilité
Le degré de compréhension qu'a l'équipe de l'état et du comportement des systèmes.
- Ad hocUn monitoring limité ou réactif ; les problèmes sont détectés trop tard.
- ÉmergentDes tableaux de bord de base existent, mais la visibilité présente d'importantes lacunes.
- DéfiniLe monitoring offre une visibilité suffisante sur la plupart des composants.
- MaîtriséUne observabilité solide, avec logs, métriques et traces, permet un diagnostic rapide.
- OptimiséUne observabilité globale avec des analyses prédictives et une détection automatisée.
Réponse aux incidents
L'efficacité avec laquelle l'équipe réagit aux incidents et les résout.
- Ad hocLes incidents sont gérés dans le chaos, sans responsabilités claires.
- ÉmergentLa structure se renforce, mais la résolution reste inégale.
- DéfiniLes incidents sont traités méthodiquement, avec une efficacité modérée.
- MaîtriséUne réponse rapide et coordonnée avec un MTTR faible.
- OptimiséUne gestion des incidents très mature, avec des post-mortems axés sur l'apprentissage.
Soutenabilité des astreintes
L'équité et l'efficacité des processus d'astreinte.
- Ad hocL'astreinte est pesante, imprévisible ou inéquitable.
- ÉmergentLa charge devient plus gérable, mais des problèmes persistent.
- DéfiniLa rotation est équitable et le volume d'alertes raisonnable.
- MaîtriséUne bonne hygiène d'astreinte, avec des alertes bien calibrées et un bon outillage.
- OptimiséTrès peu d'alertes en dehors des heures de travail ; l'automatisation traite la plupart des problèmes.
Automatisation de la sécurité et de la conformité
Le degré d'automatisation et d'intégration de la sécurité et de la conformité dans l'ensemble du pipeline de livraison.
Intégration de la sécurité
L'efficacité avec laquelle les pratiques de sécurité sont intégrées aux workflows de développement.
- Ad hocLes contrôles de sécurité sont manuels ou interviennent tard dans le processus.
- ÉmergentDes scans automatisés de base existent, mais leur couverture est insuffisante.
- DéfiniLa sécurité est intégrée au CI/CD avec des scans systématiques.
- MaîtriséDes contrôles de sécurité automatisés et complets tout au long du pipeline.
- OptimiséUne sécurité continue et intelligente qui prévient les vulnérabilités en amont.
Gestion des vulnérabilités
La rapidité et l'efficacité avec lesquelles les vulnérabilités sont détectées et corrigées.
- Ad hocLes vulnérabilités sont détectées tard et corrigées lentement.
- ÉmergentLes processus s'améliorent, mais restent inégaux.
- DéfiniLa réponse aux vulnérabilités est prévisible et mesurée.
- MaîtriséUne correction rapide et efficace, avec une prévention proactive.
- OptimiséIdentification, priorisation et correction automatisées à grande échelle.
Conformité en tant que code
Le recours à l'automatisation pour faire respecter les exigences réglementaires, de sécurité et les politiques internes.
- Ad hocLes tâches de conformité sont manuelles et réactives.
- ÉmergentQuelques contrôles automatisés ont été introduits.
- DéfiniLes politiques critiques sont intégrées aux workflows d'automatisation.
- MaîtriséLa conformité est vérifiée régulièrement par des contrôles automatisés.
- OptimiséUne conformité continue, appliquée en temps réel.
Plateforme et infrastructure
Le degré d'automatisation, de cohérence et de résilience de la plateforme et de l'infrastructure sous-jacentes.
Automatisation de l'infrastructure
La manière dont l'infrastructure est provisionnée, gérée et mise à l'échelle.
- Ad hocL'infrastructure est provisionnée manuellement, avec un risque élevé de dérive.
- ÉmergentUne automatisation partielle à l'aide de scripts ou d'outils.
- DéfiniL'Infrastructure as Code est mise en place dans les domaines clés.
- MaîtriséUne infrastructure entièrement automatisée, avec des environnements cohérents et reproductibles.
- OptimiséUne infrastructure auto-réparatrice, entièrement orchestrée, avec une mise à l'échelle intelligente.
Cohérence des environnements
Le degré de cohérence entre les environnements de développement, de préproduction et de production.
- Ad hocLes environnements diffèrent sensiblement ; les problèmes sont souvent propres à un environnement.
- ÉmergentUne certaine standardisation, mais des incohérences subsistent.
- DéfiniLes environnements sont globalement alignés et se comportent de façon prévisible.
- MaîtriséDes environnements très cohérents, gérés par l'automatisation.
- OptimiséDes environnements entièrement reproductibles, conteneurisés et stables partout.
Fiabilité de la plateforme
La disponibilité, la résilience et la tolérance aux pannes des systèmes.
- Ad hocDes pannes fréquentes et peu de pratiques de fiabilité.
- ÉmergentLa fiabilité s'améliore légèrement, mais des problèmes persistent.
- DéfiniUne fiabilité acceptable, avec des améliorations en cours.
- MaîtriséUne fiabilité élevée, avec de solides mesures préventives.
- OptimiséUne résilience exceptionnelle, avec une reprise automatisée et des architectures tolérantes aux pannes.
Quand utiliser ce bilan de santé
- Pour établir un état des lieux des capacités DevOps et de livraison continue de votre équipe.
- Lors de la planification technique, pour décider s'il faut prioriser l'automatisation, la fiabilité ou la sécurité.
- Pour suivre l'évolution de la maturité DevOps dans le temps, au sein des squads ou de l'ensemble de l'organisation.
- Lorsque vous créez ou développez des pratiques de platform engineering et de SRE.
- Pendant une transformation DevOps, pour donner aux équipes une feuille de route d'amélioration commune.
Conseils et astuces
- Demandez aux ingénieurs, aux SRE et aux parties prenantes produit d'évaluer chacun de leur côté, afin de faire ressortir des perceptions différentes de la maturité.
- Commencez par les dimensions où les notes sont les plus dispersées. Elles révèlent souvent des goulots d'étranglement que personne n'a encore identifiés.
- Pour chaque dimension mal notée, convenez d'une étape pour atteindre le niveau suivant. Ne visez pas le niveau Optimisé partout à la fois.
- Renouvelez l'évaluation chaque trimestre pour rendre visibles les petits progrès.
- Lisez ensemble les descriptions des niveaux avant de débattre des notes, afin que chacun s'accorde sur ce qu'est une bonne pratique.