Sankey de la revue des pull requests : de la taille à la fusion

Voyez comment les pull requests passent de leur taille au résultat de la première revue, puis à la fusion, au retravail ou à l'abandon. Remplacez les comptes par ceux de votre dépôt pour trouver où la revue cale.

Un Sankey des pull requests montre ce qui arrive aux changements une fois ouverts : approuvés du premier coup, renvoyés pour retravail ou fermés. Regroupé par taille, il montre si ce sont les gros changements qui ralentissent la revue.

L'exemple compte 250 pull requests : 120 petites, 90 moyennes et 40 grosses. Après la première revue, 130 sont approuvées, 90 ont des modifications demandées et 30 sont fermées sans revue. À la fin, 198 sont fusionnées, 12 sont abandonnées et 10 sont encore ouvertes.

Les largeurs rendent le coût de la taille visible : 90 des 120 petits changements sont approuvés du premier coup, mais seulement 5 des 40 gros. Le chemin du retravail est ici un seul flux, pas une boucle : une demande renvoyée deux fois ne compte qu'une fois, selon son résultat final. Voir /fr/sankey/ci-pipeline-outcomes pour ce qui arrive aux builds que ces changements déclenchent.

Comment lire ce diagramme

  • 198 des 250 pull requests (79 %) finissent fusionnées ; 12 % sont fermées sans revue.
  • 75 % des petits changements (90 sur 120) sont approuvés du premier coup, contre 13 % des gros (5 sur 40).
  • 70 des 90 changements renvoyés (78 %) sont fusionnés après retravail ; 12 sont abandonnés.
  • 10 demandes sont encore ouvertes, dont 8 en attente après une demande de modifications.

Les données derrière le diagramme

Chiffres inventés à titre d'illustration. Ce ne sont pas des données sur une entreprise, une équipe ou un système réels.

Sankey de la revue des pull requests : de la taille à la fusion (pull requests)
DeVersQuantité (pull requests)
Petite (moins de 100 lignes)Approuvée du premier coup90
Petite (moins de 100 lignes)Modifications demandées22
Petite (moins de 100 lignes)Fermée sans revue8
MoyenneApprouvée du premier coup35
MoyenneModifications demandées45
MoyenneFermée sans revue10
Grosse (plus de 500 lignes)Approuvée du premier coup5
Grosse (plus de 500 lignes)Modifications demandées23
Grosse (plus de 500 lignes)Fermée sans revue12
Approuvée du premier coupFusionnée128
Approuvée du premier coupEncore ouverte2
Modifications demandéesFusionnée70
Modifications demandéesAbandonnée12
Modifications demandéesEncore ouverte8

Les mêmes données en CSV

source,target,value
Petite (moins de 100 lignes),Approuvée du premier coup,90
Petite (moins de 100 lignes),Modifications demandées,22
Petite (moins de 100 lignes),Fermée sans revue,8
Moyenne,Approuvée du premier coup,35
Moyenne,Modifications demandées,45
Moyenne,Fermée sans revue,10
Grosse (plus de 500 lignes),Approuvée du premier coup,5
Grosse (plus de 500 lignes),Modifications demandées,23
Grosse (plus de 500 lignes),Fermée sans revue,12
Approuvée du premier coup,Fusionnée,128
Approuvée du premier coup,Encore ouverte,2
Modifications demandées,Fusionnée,70
Modifications demandées,Abandonnée,12
Modifications demandées,Encore ouverte,8

Comment cela fonctionne

  1. Exporter les pull requests d'une période

    Incluez les lignes modifiées, le résultat de la première revue et l'état final. Prenez un trimestre ou une version.

  2. Regrouper par taille

    Choisissez deux ou trois tranches de taille et indiquez comment vous les découpez. Comptez chaque demande une seule fois.

  3. Compter la première revue et le résultat final

    Utilisez le résultat de la première revue pour la colonne centrale et l'état final pour la dernière colonne.

  4. Vérifier l'équilibre

    Chaque nœud central doit sortir autant de demandes qu'il en reçoit. Fermée sans revue s'arrête là.

Questions fréquentes

Pourquoi ne pas dessiner les tours de revue comme une boucle ?

Parce que les largeurs montrent des comptes, et une boucle fait compter deux fois la même demande. Si les tours comptent, faites un deuxième diagramme avec le nombre de tours en colonne centrale.

La vitesse de revue est-elle montrée ?

Non. Les largeurs sont des comptes. Mettez le délai avant la première revue dans un tableau à côté du diagramme ou dans un diagramme séparé par tranches de délai.

Modifier ce Sankey des pull requests

Ouvrez l'exemple comme votre propre diagramme et saisissez les comptes de votre dépôt.

Modifier ce Sankey des pull requests

Plus dans Diagrammes de Sankey