Les indicateurs et outils d'analyse sont des éléments indispensables pour stimuler la productivité, garantir la qualité et assurer le succès des équipes de développement logiciel. En tant que plateforme DevSecOps la plus complète, GitLab propose avec ses tableaux de bord GitLab Insights des outils puissants pour suivre et visualiser ces indicateurs essentiels. Découvrez dans cet article comment intégrer les tableaux de bord GitLab Insights à votre environnement.
Qu'est-ce que GitLab Insights ?
GitLab fournit un éventail d'indicateurs et d'outils d'analyse qui couvrent divers aspects du cycle de vie DevSecOps :
- Analyse de la productivité : suivez la vélocité, la durée de cycle et le délai d'exécution de votre équipe.
- Analyse des revues de code : évaluez la qualité du code, la couverture de test et l'efficacité des revues.
- Analyse des pipelines CI/CD : surveillez les performances des pipelines et la fréquence de déploiement.
- Analyse du flux de valeur : visualisez le workflow, de l'idée au déploiement en production.
- Informations stratégiques : explorez et visualisez les données relatives à vos projets et groupes.
Ces indicateurs fournissent des informations précieuses sur votre processus de développement, permettant aux équipes d'identifier les goulots d'étranglement, d'optimiser les workflows et de prendre des décisions éclairées basées sur des données fiables.
Tirer parti des labels pour des indicateurs spécifiques
Souvent sous-estimés, les labels figurent pourtant parmi les fonctionnalités les plus puissantes de GitLab. Ils permettent de filtrer et de cibler exactement les indicateurs qui vous intéressent. En appliquant stratégiquement des labels aux tickets, aux merge requests et aux epics, vous pouvez créer des vues personnalisées qui fournissent des informations détaillées sur la performance et la progression de votre projet.
En ajoutant des labels dans GitLab, vous pouvez facilement regrouper et organiser vos tâches selon vos propres critères, pour un suivi plus clair et plus efficace. Que vous suiviez le développement de fonctionnalités, les corrections de bogues ou les tâches spécifiques à une équipe, les labels vous permettent de segmenter les données de votre projet pour faire émerger des tendances claires. Ce concept est semblable à l'utilisation de tags dans les déploiements cloud, où les ressources sont étiquetées pour faciliter la gestion, la répartition des coûts et les informations opérationnelles.
En attribuant judicieusement des labels à vos éléments de travail, vous mettez en place un système de catégorisation avancé, idéal pour créer des tableaux de bord et des rapports sur mesure. Grâce à cette approche, vous pouvez cibler les indicateurs essentiels pour votre équipe ou vos parties prenantes, avec à la clé une vue claire et précise de l'état et de la dynamique de votre projet.
Comment configurer GitLab Insights ?
GitLab Insights vous permet d'explorer et de visualiser les données relatives à vos projets et à vos groupes. GitLab Insights fournit des analyses précieuses sur divers aspects : les tickets créés et fermés au cours d'une période donnée, le temps moyen nécessaire pour fusionner des merge requests et la qualité du classement par ordre de priorité. GitLab Insights peut être configuré à la fois pour les projets et les groupes.
Pour configurer GitLab Insights :
- Pour les informations stratégiques liées au projet :
- Créez un fichier nommé
.gitlab/insights.yml
dans le répertoire racine de votre projet.
- Créez un fichier nommé
- Pour les informations stratégiques liées au groupe :
- Créez un fichier
.gitlab/insights.yml
dans un projet appartenant à votre groupe. - Accédez aux paramètres de votre groupe.
- Développez la section Analyse et cliquez sur Analyses.
- Sélectionnez le projet contenant le fichier de configuration et enregistrez les modifications.
- Créez un fichier
Le fichier .gitlab/insights.yml
est un fichier YAML qui sert à organiser vos rapports : il permet de structurer l'ordre des graphiques et de définir leur apparence. Chaque graphique est défini avec des paramètres comme le titre, la description, le type et la requête pour déterminer la source des données et les conditions de filtrage.
Pour afficher les informations, accédez à Analyse > Analyses dans votre projet ou groupe.
La vue par défaut fournit des données utiles, mais en personnalisant le tableau de bord GitLab Insights, vous pouvez aller encore plus loin pour voir, par exemple, l'équipe à l'origine de chaque merge request ou la nature des problèmes traités.
Informations sur les merge requests pour chaque squad et type de besoin
Mesurer la productivité d'une squad dans GitLab n'est pas toujours évident, surtout lorsque l'organisation des groupes et sous-groupes ne reflète pas fidèlement la structure réelle de votre squad. Voici comment surmonter ces défis et suivre efficacement la productivité des squads :
Configuration des indicateurs en fonction des squads
- Création de labels : créez des labels à portée limitée spécifiques à chaque squad (par exemple,
squad::alpha
,squad::beta
) et à chaque type d'exigence (par exemple,type::bug
,type::feature
,type::maintenance
).
- Application des labels : appliquez systématiquement ces labels à tous les tickets et merge requests traités par chaque squad, quel que soit le projet ou le groupe auquel ils appartiennent.
Conseils :
- Utilisez l'API GitLab pour appliquer massivement des labels aux merge requests ouvertes, fusionnées et fermées existantes.
- Ajoutez, supprimez ou mettez à jour des labels dans le cadre de votre pipeline GitLab CI.
- Utilisez le bot de tri des tickets de GitLab pour automatiser l'ajout de labels.
- Configuration du tableau de bord : créez un fichier
.gitlab/insights.yml
dans le dépôt de votre projet avec des graphiques personnalisés pour obtenir des informations sur les merge requests spécifiques à l'équipe et au type.
## Default Merge Requests insights.yml
mergeRequests:
title: Merge requests dashboard
charts:
- title: Merge requests merged per week
type: bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: week
period_limit: 12
- title: Merge requests merged per month
type: bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: month
period_limit: 3
## Per-teams Merge Requests insights.yml
mergeRequestsTeams:
title: Merge requests dashboard per teams
charts:
- title: Merge requests merged per week
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: week
period_limit: 12
collection_labels:
- squad::alpha
- squad::beta
- title: Merge requests merged per month
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
group_by: month
period_limit: 3
collection_labels:
- squad::alpha
- squad::beta
## Per-teams and Type Merge Requests insights.yml
mergeRequestsTeamsAndType:
title: Per Teams and Type - Merge requests dashboard
charts:
- title: Merge requests merged per week - Squad Alpha
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::alpha
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: week
period_limit: 12
- title: Merge requests merged per month - Squad Alpha
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::alpha
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: month
period_limit: 3
- title: Merge requests merged per week - Squad Beta
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::beta
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: week
period_limit: 12
- title: Merge requests merged per month - Squad Beta
type: stacked-bar
query:
data_source: issuables
params:
issuable_type: merge_request
issuable_state: merged
filter_labels: squad::beta
collection_labels:
- type::feature
- type::bug
- type::maintenance
group_by: month
period_limit: 3
En personnalisant vos tableaux de bord, vous bénéficiez d'une vue d'ensemble claire de l'activité des merge requests, classée par équipe et par type. Vous pouvez ainsi suivre l'évolution dans le temps, comparer les performances entre les squads et visualiser comment le travail est réparti entre elles.
Lancez-vous dès aujourd'hui
En matière d'indicateurs et d'outils d'analyse, les tableaux de bord GitLab Insights ne sont que la partie émergée de l'iceberg. Pour explorer toute la gamme de fonctionnalités d'analyse de GitLab, notamment l'analyse du flux de valeur, l'analyse des pipelines CI/CD et les indicateurs liés aux revues de code, cliquez sur l'image ci-dessous et découvrez comment optimiser le développement de logiciels avec la gestion de la chaîne de valeur.
Et si vous commenciez à créer vos propres tableaux de bord ? Essayez GitLab Ultimate gratuitement pendant 60 jours et exploitez pleinement le potentiel de l'approche DevSecOps fondée sur les données.