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.
| De | Vers | Quantité (pull requests) |
|---|---|---|
| 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 |
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,8Comment cela fonctionne
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.
Regrouper par taille
Choisissez deux ou trois tranches de taille et indiquez comment vous les découpez. Comptez chaque demande une seule fois.
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.
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.