Symbolbild · mit KI erstellt
Quality Gates in der Entwicklung: Definition und Nutzen
Ein Quality Gate ist eine feste Prüfstelle im Entwicklungsprozess, die eine Änderung nur bei erfüllter Bedingung durchlässt. Dieser Beitrag erklärt, wo ein Gate sitzen sollte, was es prüft und warum es sich auch unter Zeitdruck nicht umgehen lassen darf.
Was ein Quality Gate ist
Ein Quality Gate ist eine feste Prüfstelle im Entwicklungsprozess, an der ein Stück Code eine definierte Bedingung erfüllen muss, bevor es weitergeht – etwa bevor ein Merge erlaubt wird oder eine neue Version ausgeliefert werden darf. Anders als eine Empfehlung oder ein Hinweis ist ein Gate binär: Die Bedingung ist erfüllt oder nicht, und im zweiten Fall stoppt der Prozess automatisch, unabhängig davon, wie dringend die Änderung erscheint.
Wo ein Gate typischerweise steht
Vor dem Merge in den Hauptzweig
Ein Gate kann prüfen, ob alle Tests bestehen, ob die Testabdeckung eine festgelegte Grenze nicht unterschreitet oder ob die statische Analyse keine kritischen Befunde meldet. Erst wenn diese Bedingungen erfüllt sind, lässt sich eine Änderung überhaupt in den gemeinsamen Codebestand übernehmen.
Vor der Auslieferung
Ein weiteres Gate kann zwischen einem erfolgreichen Build und der tatsächlichen Auslieferung stehen und zusätzlich prüfen, ob etwa eine Migration reversibel angelegt ist oder ob bestimmte Umgebungsvariablen gesetzt sind. Dieser Schritt fängt Fehler ab, die erst im Zusammenspiel mit der Zielumgebung sichtbar werden.
In der Pipeline statt auf dem eigenen Rechner
Ein Gate, das nur lokal läuft, hängt vom Zufall ab, ob es tatsächlich ausgeführt wird. Ein Gate, das Teil der zentralen Pipeline ist, gilt für jede Änderung gleichermaßen – unabhängig davon, wer sie eingereicht hat oder wie viel Zeit dafür zur Verfügung stand.
Warum sich ein Gate nicht überreden lassen darf
Der eigentliche Wert eines Quality Gates liegt darin, dass es keine Ausnahmen kennt. Ein Gate, das sich bei Zeitdruck, für einen bestimmten Kollegen oder „nur dieses eine Mal“ umgehen lässt, ist kein Gate mehr, sondern eine Empfehlung mit zusätzlichem Schritt – und genau in den Momenten, in denen unter Druck eine Ausnahme gemacht wird, entstehen die Fehler, gegen die das Gate eigentlich schützen sollte. Ein manueller Umgehungsweg, der einmal genutzt wurde, wird beim nächsten Termindruck wieder genutzt, bis das Gate faktisch wirkungslos ist.
Was ein gutes Gate ausmacht
- Eine klar messbare, automatisch prüfbare Bedingung statt einer subjektiven Einschätzung
- Ein fester Platz in der Pipeline, den jede Änderung gleichermaßen durchläuft
- Keine dauerhaft eingerichtete Umgehung, auch nicht für einzelne Personen oder Projekte
- Eine verständliche Fehlermeldung, die zeigt, welche Bedingung nicht erfüllt wurde
- Eine regelmäßige Überprüfung, ob die Schwellenwerte noch zum aktuellen Stand des Projekts passen
Was genau als „fertig“ gilt, bevor ein Gate überhaupt greifen kann, ist eine eigene Frage – der Beitrag zur Definition of Done beschreibt, wie sich dieser Maßstab konkret festlegen lässt, und der Grundlagenartikel Was ist ein Quality Gate? ordnet den Begriff selbst ein. Wie sich mehrere Gates sinnvoll in eine bestehende Pipeline einfügen, zeigt der Beitrag zu Quality Gates in der CI/CD-Pipeline.
Was ein Gate im Alltag bewirkt
Ein Team, das seine Gates konsequent durchsetzt, verliert dadurch keine Geschwindigkeit, sondern verlagert Fehler dorthin, wo sie am billigsten zu beheben sind: vor dem Merge statt nach der Auslieferung. Werkzeuge wie Code Guardian lassen sich als Teil eines solchen Gates einsetzen, um wiederkehrende Prüfungen automatisch statt manuell auszuführen – der Gate-Gedanke selbst bleibt davon unabhängig: Er lebt von der Konsequenz, nicht vom eingesetzten Werkzeug.
Häufige Fragen
Was passiert, wenn ein Quality Gate fehlschlägt?
Der Prozess stoppt an dieser Stelle automatisch – ein Merge oder eine Auslieferung wird verhindert, bis die geprüfte Bedingung erfüllt ist. Genau dieses automatische Stoppen unterscheidet ein Gate von einer bloßen Warnung, die ignoriert werden kann.
Sollte es Ausnahmen von einem Quality Gate geben?
Grundsätzlich nicht. Eine einmal eingeräumte Ausnahme schafft einen Präzedenzfall, der unter erneutem Zeitdruck wieder genutzt wird, bis das Gate faktisch wirkungslos ist. Wenn eine Bedingung regelmäßig als zu streng empfunden wird, sollte sie überarbeitet werden, statt sie zu umgehen.
Wie viele Quality Gates sollte eine Pipeline haben?
So viele wie nötig, um die wichtigsten Risiken abzudecken, und nicht mehr. Zu viele Gates mit unklarem Nutzen verlangsamen den Prozess, ohne zusätzliche Sicherheit zu schaffen – wichtiger als die Anzahl ist, dass jedes vorhandene Gate konsequent durchgesetzt wird.
Kann ein Gate auch fachliche Regeln prüfen, nicht nur Technik?
Ja, sofern sich die Regel automatisch und eindeutig prüfen lässt, etwa über einen entsprechenden Test. Rein subjektive Einschätzungen eignen sich dagegen nicht für ein Gate, da ihm die Eindeutigkeit fehlt, die ein automatischer Stopp voraussetzt.
Wo liegt der Unterschied zwischen einem Gate und einem einfachen Test?
Ein Test prüft ein einzelnes Verhalten. Ein Gate ist die Regel, die festlegt, ob und wie ein fehlgeschlagener Test – oder ein anderes Kriterium wie Testabdeckung oder statische Analyse – den weiteren Prozess stoppt. Das Gate ist die Entscheidung, der Test nur ein Baustein davon.
Weitere Code-Audit-Themen
Code-Audit: Ablauf, Prüfschritte und Ergebnis im Überblick
Ein Code-Audit prüft fremden oder gewachsenen Quellcode strukturiert auf Sicherheit, Wartbarkeit und Architektur – vom ersten Scan bis zum priorisierten Maßnahmenkatalog. Dieser Beitrag zeigt den typischen Ablauf und was am Ende tatsächlich vorliegt.
Mehr erfahrenCode Review für KI-generierten Code: Worauf es ankommt
Ein klassisches Code Review prüft, ob Code funktioniert und dem Stil entspricht – bei KI-generiertem Code reicht das nicht aus. Dieser Beitrag zeigt, welche Fragen ein Review zusätzlich stellen muss, wenn niemand die Logik selbst geschrieben hat.
Mehr erfahrenTechnische Schulden erkennen und richtig bewerten
Technische Schulden entstehen durch schnelle statt saubere Lösungen und wachsen mit jeder weiteren Änderung an derselben Stelle. Dieser Beitrag zeigt, woran sie sich erkennen lassen, wie sich ihre Priorität bestimmen lässt und was sie im Alltag kosten.
Mehr erfahrenStatische Codeanalyse: Werkzeuge und ihre Grenzen
Statische Codeanalyse findet zuverlässig bekannte Schwachstellenmuster, hohe Komplexität und veraltete Abhängigkeiten – aber nicht, ob Code fachlich das Richtige tut. Dieser Beitrag zeigt, was Werkzeuge leisten und wo ihre Grenzen prinzipiell liegen.
Mehr erfahrenSichere Softwareauslieferung: Deploy, Migration, Pakete
Deploy, Datenbankmigration und neue Abhängigkeiten sind die drei Stellen, an denen ein Fehler unmittelbar den laufenden Betrieb trifft. Dieser Beitrag zeigt, worauf es an jeder dieser drei Stellen ankommt, damit eine Auslieferung sicher bleibt.
Mehr erfahrenQuality Gates in der Entwicklung: Definition und Nutzen für Ihr Unternehmen?
Sprechen Sie mit den Code-Audit-Experten von Provimedia – unverbindlich und ohne versteckte Kosten.
