↓ Zum Hauptinhalt springen

Selbsttest: Wie Trunk-based ist mein Workflow?

·7 min
Michael Hönnig
Autor
Michael Hönnig
Bis Herbst 2027 nur für Beratungsaufträge mit geringem Stundenumfang verfügbar – remote, auf Deutsch und Englisch.

Bis vor kurzem hatte ich eine naive Vorstellung von Trunk-based Development: alle Commits direkt auf main, und sobald CI grün ist, wird auf Produktion deployed. Meine Interpretation war, Branches seien verpönt, selbst kurzlebige Feature-Branches und Release-Branches erst recht.

Geplant war ein Blog-Artikel, in dem ich schreiben wollte, warum ich das für nicht sinnvoll halte. Bei meiner Recherche habe ich dann jedoch lernen dürfen, dass ich ziemlich daneben lag und die Definition von Trunk-based Development keinesfalls so naiv ist, wie ich dachte:

Release-Branches sind sogar ausdrücklich vorgesehen und kurzlebige Branches, sogar mit Review, sind auch der Normalfall.

Zwar habe ich nie in einem Projekt mitgearbeitet, das von sich behauptet hat, Trunk-based zu arbeiten. Rückblickend war der Workflow einiger dieser Projekte sehr wohl Trunk-based Development. Und meine eigenen Projekte kommen dem Ideal des Trunk-based Development sehr nahe.

Um Workflows genauer einzuordnen, habe ich einen Selbsttest gemäß trunkbaseddevelopment.com gebaut. Gefragt wird nach dem, was im Alltag eines Teams passiert, nicht danach, wie das Team seinen Workflow nennt. Fragen, Optionen und Gewichtung entsprechen meinem aktuellen Recherche-Stand und wahrscheinlich nicht der absoluten Wahrheit. Vertiefungen zu den einzelnen Fragen und auch einzelne kritische Anmerkungen folgen in einer Artikelserie, an der ich gerade schreibe.

(Es werden keine Daten gespeichert oder übertragen; die Auswertung läuft vollständig im Browser.)
1. Wie lange lebt ein typischer Entwicklungsbranch bis zum Merge nach main?

Wartezeit auf Review und Freigabe zählt mit.

2. Wie oft integriert ein einzelner Entwickler Änderungen nach main?

Pro Entwickler oder KI-Agent, nicht das ganze Team.

3. Was muss erreicht sein, damit eine Änderung nach main darf?
4. Wann wird eine Änderung von einem anderen Menschen geprüft?
5. Wie schnell werden offene fachliche Fragen während der Entwicklung entschieden?
6. Wie viele Entwicklungsbranches sind im Team gleichzeitig offen, verglichen mit der Zahl der Entwickler und KI-Agenten?

Release-Branches zählen hier nicht.

7. Mit welcher Technik bleibt unfertige Funktionalität auf main unsichtbar?
8. Wie werden voneinander abhängige Änderungen gehandhabt?
9. Wie lange dauert die automatisierte Prüfung einer Änderung?
10. Wofür werden Branches genutzt, die länger als eine Woche leben?
11. Wie läuft die Arbeit in den Tagen vor einem Release?
12. Wie oft holt sich ein Entwickler den aktuellen Stand von main in seine Arbeitskopie?
13. Wie viele Menschen arbeiten gleichzeitig auf demselben Entwicklungsbranch?
14. Wie kommt eine Korrektur für einen bereits ausgelieferten Stand zustande?
15. Wie groß ist ein typisches Backlog-Item, bis es nach main darf?
16. Wie läuft der lokale Build, bevor eine Änderung gepusht wird?
17. Was passiert, wenn der Build auf main rot ist?
18. Wer darf welchen Code ändern, und wonach entscheidet ein Review?
19. Gegen welchen Stand wird eine Änderung geprüft, bevor sie auf main landet?
20. Wie schnell könnte der aktuelle Stand von main ausgeliefert werden?

Gemeint ist die technische und qualitative Bereitschaft, unabhängig davon, ob ein Release gerade erlaubt, angekündigt oder freigegeben ist.

Was das Ergebnis bedeutet und was nicht
#

Der Umsetzungsgrad beschreibt nach meinem Verständnis, wie viele der Praktiken, die trunkbaseddevelopment.com für Trunk-based Development nennt, ein Team im Alltag tatsächlich umsetzt, gewichtet nach ihrer Bedeutung für kurze Integrationsabstände. Er ist eine Selbsteinschätzung, kein Messwert: Der Test fragt nur nach dem, was mir dafür typisch erscheint, und nur so ehrlich, wie geantwortet wird. Dies soll auch kein Qualitätsmaß sein: Ein hoher Wert ist nicht „besser“ als ein niedriger, denn vermutlich kommt es mehr darauf an, welche Arbeitsweise zum jeweiligen Kontext passt. Wer bewusst mit langlebigen Feature-Branches arbeitet, bekommt hier einen niedrigen Wert und kann trotzdem einen gut funktionierenden Workflow haben.

Dieser Artikel ist mit Unterstützung von KI entstanden.