Pull-Request-Review im Sankey-Diagramm: von der Größe bis zum Merge

Sehen Sie, wie Pull Requests von der Größe über das erste Review zu Merge, Überarbeitung oder Abbruch gelangen. Ersetzen Sie die Beispielwerte durch Ihre Repository-Daten, um Staus zu finden.

Ein Sankey-Diagramm für Pull Requests zeigt, was mit Änderungen nach dem Öffnen geschieht: sofort genehmigt, zur Überarbeitung zurückgeschickt oder geschlossen. Nach Größe gruppiert zeigt es, ob große Änderungen das Review bremsen.

Das Beispiel hat 250 Pull Requests: 120 kleine, 90 mittlere und 40 große. Nach dem ersten Review sind 130 genehmigt, bei 90 sind Änderungen angefordert und 30 wurden ohne Review geschlossen. Am Ende sind 198 gemergt, 12 abgebrochen und 10 noch offen.

Die Breiten machen die Kosten der Größe sichtbar: 90 der 120 kleinen Änderungen werden sofort genehmigt, aber nur 5 der 40 großen. Der Überarbeitungsweg ist hier ein Fluss, keine Schleife; ein zweimal zurückgeschickter Request zählt also einmal, nach seinem Endergebnis. Was mit den Builds geschieht, die diese Änderungen auslösen, zeigt /de/sankey/ci-pipeline-outcomes.

So liest man dieses Diagramm

  • 198 von 250 Pull Requests (79 %) werden am Ende gemergt; 12 % werden ohne Review geschlossen.
  • 75 % der kleinen Änderungen (90 von 120) werden sofort genehmigt, gegenüber 13 % der großen (5 von 40).
  • 70 der 90 zurückgeschickten Änderungen (78 %) werden nach der Überarbeitung gemergt; 12 werden abgebrochen.
  • 10 Requests sind noch offen, 8 davon warten nach angeforderten Änderungen.

Die Daten dahinter

Erfundene Zahlen zur Veranschaulichung. Keine Daten eines realen Unternehmens, Teams oder Systems.

Pull-Request-Review im Sankey-Diagramm: von der Größe bis zum Merge (Pull Requests)
VonNachMenge (Pull Requests)
Klein (unter 100 Zeilen)Sofort genehmigt90
Klein (unter 100 Zeilen)Änderungen angefordert22
Klein (unter 100 Zeilen)Ohne Review geschlossen8
MittelSofort genehmigt35
MittelÄnderungen angefordert45
MittelOhne Review geschlossen10
Groß (über 500 Zeilen)Sofort genehmigt5
Groß (über 500 Zeilen)Änderungen angefordert23
Groß (über 500 Zeilen)Ohne Review geschlossen12
Sofort genehmigtGemergt128
Sofort genehmigtNoch offen2
Änderungen angefordertGemergt70
Änderungen angefordertAbgebrochen12
Änderungen angefordertNoch offen8

Dieselben Daten als CSV

source,target,value
Klein (unter 100 Zeilen),Sofort genehmigt,90
Klein (unter 100 Zeilen),Änderungen angefordert,22
Klein (unter 100 Zeilen),Ohne Review geschlossen,8
Mittel,Sofort genehmigt,35
Mittel,Änderungen angefordert,45
Mittel,Ohne Review geschlossen,10
Groß (über 500 Zeilen),Sofort genehmigt,5
Groß (über 500 Zeilen),Änderungen angefordert,23
Groß (über 500 Zeilen),Ohne Review geschlossen,12
Sofort genehmigt,Gemergt,128
Sofort genehmigt,Noch offen,2
Änderungen angefordert,Gemergt,70
Änderungen angefordert,Abgebrochen,12
Änderungen angefordert,Noch offen,8

So funktioniert es

  1. Pull Requests für einen Zeitraum exportieren

    Nehmen Sie geänderte Zeilen, das Ergebnis des ersten Reviews und den Endstatus auf. Wählen Sie ein Quartal oder ein Release.

  2. Nach Größe gruppieren

    Wählen Sie zwei oder drei Größenbänder und nennen Sie die Grenzen. Zählen Sie jeden Request einmal.

  3. Erstes Review und Endergebnis zählen

    Nutzen Sie das Ergebnis des ersten Reviews für die mittlere Spalte und den Endstatus für die letzte.

  4. Die Bilanz prüfen

    Jeder mittlere Knoten muss so viele Requests abgeben, wie hineinflossen. „Ohne Review geschlossen“ endet dort.

Häufig gestellte Fragen

Warum werden Review-Runden nicht als Schleife gezeichnet?

Weil die Breiten Zählwerte zeigen und eine Schleife denselben Request doppelt zählt. Wenn Runden wichtig sind, erstellen Sie ein zweites Diagramm mit der Rundenzahl als mittlerer Spalte.

Wird die Review-Geschwindigkeit gezeigt?

Nein. Die Breiten sind Zählwerte. Legen Sie die Zeit bis zum ersten Review in eine Tabelle neben das Diagramm oder in ein eigenes Diagramm der Zeitbänder.

Dieses Pull-Request-Sankey bearbeiten

Öffnen Sie das Beispiel als eigenes Diagramm und tragen Sie die Zahlen Ihres Repositorys ein.

Dieses Pull-Request-Sankey bearbeiten

Mehr in Sankey-Diagramme