Le succès d’une équipe de développement dépend de la fréquence et du succès de ses sorties. Les équipes qui sortent trop lentement ne seront pas en mesure de suivre le rythme des exigences commerciales et de l'innovation, et les équipes qui créent trop de sorties infructueuses auront un impact négatif sur la satisfaction des clients, les revenus et la stabilité globale du système.
L'équipe DevOps Research and Assessment (DORA) de Google a identifié quatre indicateurs clés qui indiquent la performance d'une organisation de développement de logiciels. Notre moteur de valeur Innovation and Growth utilise ces mesures pour créer un programme global qui crée des équipes de développement plus efficaces et plus réactives, ainsi que des applications plus fiables. Ce guide de qualité de sortie vous aide à améliorer la fréquence de déploiement, les performances des applications et la fiabilité des applications.
Concepts clés
Les concepts de Kep incluent :
Communiquer, remédier, innover
L’un des thèmes centraux de la pratique de maturité de l’observabilité de New Relic est « Communiquer, remédier, innover ». Nous soutenons cette thématique en vous permettant de communiquer l’état actuel de vos pratiques de développement aux parties prenantes à l’aide d’indicateurs de performance clés spécifiques. Vous utiliserez ensuite ces KPI pour ajuster vos pratiques de développement et identifier les composants d'application lents et peu fiables afin de pouvoir les corriger lors des sprints de développement ultérieurs. Enfin, vous utiliserez ces KPI pour rendre vos pratiques de développement plus efficaces et ajouter du temps supplémentaire à vos équipes pour innover.
Développement basé sur le tronc
Le développement basé sur le tronc est défini comme « un modèle de ramification de contrôle de source, où les développeurs collaborent sur le code dans une seule branche appelée trunk, résistent à toute pression pour créer d'autres branches de développement à longue durée de vie en utilisant des techniques documentées ». En bref, il divise le travail de développement en petits lots exécutés sur les branches d’un même tronc. Dès qu'un lot de travail est terminé, la branche est fusionnée dans le tronc. Chaque branche a une durée de vie courte, ce qui simplifie les fusions dans le tronc et garantit que chaque développeur travaille à partir de la sortie récente de la code base.
Cette pratique a été identifiée par l’organisation DevOps Research and Assessment (DORA) comme une capacité clé qui permet une livraison plus rapide et des performances organisationnelles plus élevées. C'est une pratique obligatoire pour CI/CD (intégration et livraison continue).
Limite du service informatique
L’amélioration de la qualité des sorties se fait au niveau de la limite du service informatique. En mesurant le service à la limite, vous pouvez obtenir une image de ce qui se passe en amont.
Le guide Gestion des niveaux de service utilise le concept de limite de service pour mesurer le temps de réponse et le taux d'erreur d'un service donné. Dans ce guide, vous utiliserez le même concept pour mesurer l'impact de vos pratiques de développement sur le service, puis pour améliorer la réactivité de votre équipe de développement, sa capacité d'innovation et la stabilité de l'application.
indicateurs de performances clés
Vous utiliserez le processus de qualité du développement pour collecter et mesurer les KPI suivants :
Identifier l'application
La première étape consiste à identifier les applications concernées par les premières itérations du processus d’amélioration. Les applications qui sont de bonnes candidates à l'inclusion sont celles qui :
- Sont en cours de développement actif
- Sont un service opérationnel clé
- Avoir des cycles de développement lents
- Avoir un historique de déploiements ratés
Rassembler les KPI requis
Ensuite, vous devez rassembler les KPI tels que définis à partir de sources telles que votre plateforme CI/CD (intégration et livraison continue), votre référentiel source, votre solution d'observabilité, etc. Une fois que vous avez identifié les sources de vos KPI, vous devez identifier les méthodes pour les extraire et les importer dans la plateforme New Relic.
Vous pouvez voir les KPI et les attributs minimum requis dans la section indicateurs de performances clés ci-dessus. En règle générale, vous utiliserez les API de votre chaîne d'outils de développement pour extraire les KPI et leurs attributs, puis les soumettre à New Relic à l'aide de l'API événement personnalisé.
Avant de commencer tout travail d’intégration personnalisée, vous devez déterminer s’il existe des intégrations prêtes à l’emploi qui répondent à vos objectifs.
Mettre en œuvre les dashboards
Nos sont les principaux moteurs du processus d’amélioration de la qualité. Ils afficheront des indicateurs clés de performance et des tendances afin que vous puissiez identifier et hiérarchiser vos efforts d'amélioration. Un exemple de dashboard est disponible dans notre centre de ressources de maturité d'observabilité sur GitHub.
Les informations affichées dans les dashboards dépendent de votre chaîne d'outils de développement, vous devrez donc personnaliser votre dashboard selon vos spécifications exactes.
Établissez votre base de référence de sortie
Parce que vous avez besoin de suffisamment de données pour former une base de référence avant de pouvoir effectuer l'activation initiale, vous devez établir votre base de référence qui consiste en un échantillon d'activité de développement. Normalement, cela prendra au moins deux semaines, mais cela peut aller jusqu'à six semaines en fonction de votre rythme de développement actuel. Une façon simple d’y parvenir est d’aligner votre cycle de collecte et d’évaluation de base de référence avec vos sprints Agile, le cas échéant.
Vous devez vous assurer périodiquement que les données d'événement s'accumulent comme prévu dans New Relic pendant que vous établissez votre base de référence.
Rencontrez votre équipe
Après avoir établi votre base de référence, vous présenterez aux équipes de développement et aux autres parties prenantes les données collectées et le processus d'amélioration continue que vous suivrez.
Le processus comprend quatre activités :
- Introduce the concepts of trunk-based development:Vous et les parties prenantes examinerez les concepts fondamentaux du développement basé sur les camions, identifierez les différences entre vos pratiques actuelles, puis créerez des stratégies pour les mettre en œuvre.
- Review your release KPIs and trends:Vous examinerez le taux de sortie, la taille et la portée des sorties, les indicateurs clés de performance pour vous assurer que vous progressez dans la mise en œuvre du développement basé sur le tronc. Votre objectif est d'augmenter votre taux de sortie tout en réduisant la taille et la portée des nouvelles sorties.
- Review your application KPIs and trends:Ici, vous examinerez les indicateurs clés de performance et d'erreur de votre application pour identifier et hiérarchiser vos efforts visant à améliorer la fiabilité et les performances de l'application.
- Make technical recommendations:Ici, vous et les parties prenantes concernées identifierez et examinerez les recommandations techniques, telles que la modification de votre workflow de sortie ou de vos stratégies d'observabilité.
Commencer le processus d'amélioration
Cette dernière étape est un processus d’amélioration continue. Au cours de cette phase, vous rencontrerez votre équipe pour évaluer vos progrès par rapport à votre base de référence et ajuster vos stratégies afin d'apporter les améliorations souhaitées. Chaque cycle du processus d’amélioration doit se produire après plusieurs itérations de votre processus de développement. En général, ces événements se produisent au milieu et à la fin de chaque sprint Agile.
Durant cette phase, vous devez :
- Rapportez vos KPI chaque semaine aux parties prenantes pour vous assurer que les équipes priorisent correctement le travail et montrent les progrès réalisés vers les résultats de l'entreprise promis.
- Enregistrez et conservez vos KPI hebdomadaires au fil du temps pour établir une nouvelle base de référence et montrer le taux d'amélioration.