Ce qui n’est pas mesuré n’est pas amélioré. Les mesures de qualité vous aident à comprendre l’état des logiciels et à orienter les décisions. Ce guide vous présente les métriques les plus importantes et comment les utiliser.
Pourquoi mesurer la qualité
Visibilité
Comprendre l’état actuel.
Tendances
Ça va mieux ou pire ?
Décisions
Basé sur des données, pas sur l'intuition.
###Communication
Démontrer la qualité aux parties prenantes.
Métriques de code
Couverture des codes
Pourcentage de code couvert par les tests.
Complexité cyclomatique
Complexité des chemins dans le code.
###Duplication
Code répété.
Dette technique
Estimation des travaux de dépollution.
Indice de maintenabilité
Score de facilité d’entretien.
Métriques de bogues
Densité des défauts
Bogues par taille de code (KLOC).
Taux d'évasion des bogues
Bugs trouvés en production vs complet.
###MTBF
Temps moyen entre les pannes.
MTTR
Temps moyen de réparation.
Répartition de la gravité
Proportion par gravité.
Métriques de test
Couverture des tests
Unité, intégration, E2E.
Taux de réussite aux tests
Pourcentage qui passe.
Tests feuilletés
Tests instables.
Temps d'exécution des tests
Combien de temps faut-il exécuter la suite.
Métriques de processus
Délai de livraison
De la validation au déploiement.
Temps de cycle
Du début à la fin d'une fonctionnalité.
Fréquence de déploiement
Combien de déploiements par période.
Modifier le taux d'échec
Pourcentage de déploiements qui posent des problèmes.
Métriques DORA
Qu'est-ce que c'est
Métriques de recherche et d’évaluation DevOps.
Quatre métriques
- Fréquence de déploiement
- Délai de modification
- Modifier le taux d'échec
- Il est temps de restaurer le service
###Classement
Performants Élite, Élevé, Moyen, Faible.
Révision du code
Il est temps de réviser
Combien de temps faut-il pour que le code soit révisé.
Examen minutieux
Commentaires de fond.
Taux d'approbation
Taux de réussite.
Mesures de production
Disponibilité
Disponibilité du système.
Taux d'erreur
Taux d'erreur en production.
Temps de réponse
Latence de demande (p50, p95, p99).
Débit
Requêtes par seconde.
Satisfaction des utilisateurs
###NPS
Score net du promoteur.
Évaluation de l'App Store
Évaluation en magasin.
Rapports de bogues
Volume de rapports d'utilisateurs.
### Billets d'assistance
Tickets liés à des bogues.
##Sécurité
Vulnérabilités
Nombre et gravité.
Il est temps de mettre à jour
Combien de temps pour réparer.
Incidents de sécurité
Incidents de sécurité.
Outils
SonarQube
Analyse statique, métriques de code.
Codecov/Combinaisons
Suivi de la couverture.
DORA/Détective
Métriques de déploiement.
Datadog/Nouvelle relique
Paramètres de production.
Tableaux de bord
Visibilité
Métriques accessibles à l’équipe.
Mise à jour
En temps réel lorsque cela est possible.
###Tendances
Voir l'évolution.
Alertes
Notifications d'anomalies.
Utilisation des métriques
Ne gamifiez pas
Des mesures pour perspicacité, pas pour punition.
Contexte
Les chiffres sans contexte sont trompeurs.
Tendances > Absolus
La direction compte plus que la valeur des points.
###Actions
Les mesures qui ne mènent pas à l’action sont inutiles.
Métriques par phase
Développement
Complexité, couverture, temps d'examen.
Libération
Délai, fréquence de déploiement.
Production
Taux d'erreur, disponibilité, temps de réponse.
Après la sortie
Densité des défauts, satisfaction client.
Amélioration continue
Référence
Établir le point de départ.
Objectifs
Fixez-vous des objectifs réalistes.
Rétrospectives
Discutez régulièrement des mesures.
###Expériences
Interventions de test.
Erreurs courantes
Métriques comme objectif
Une couverture à 100 % ne signifie pas qualité.
De nombreuses métriques
Concentrez-vous sur quelques points importants.
Ignorer le contexte
Différentes équipes et projets.
Punition par métriques
Cela provoque des comportements pervers.
Conclusion
Les mesures de qualité sont des outils permettant de comprendre et d’améliorer les logiciels. Choisissez ceux qui conviennent à votre contexte, surveillez les tendances et prenez des mesures basées sur les données. La qualité est un voyage continu, pas une destination.
##FAQ
1) Quelle couverture est suffisante ? 70 à 80 % est un bon objectif. Mais cela dépend de ce qui est testé.
2) Quelles mesures sont les plus importantes ? Métriques DORA pour DevOps. Densité des défauts et disponibilité pour la qualité.
3) Les mesures remplacent-elles le bon jugement ? Non. Ils éclairent les décisions, ils ne décident pas.
4) Comment convaincre l'équipe d'adopter des métriques ? Afficher la valeur. Ne l'utilisez pas pour punir.
5) Les métriques sont-elles valables pour une petite équipe ? Oui. Simplifiez, mais mesurez l’essentiel.
A lire aussi
-Assurance qualité numérique : AQ pour les produits logiciels -Métriques de qualité logicielle : validation et principes fondamentaux -Mesures de qualité logicielle : validation et étapes essentielles
