Hotfix
Was ist ein Hotfix?
Ein Hotfix ist eine dringende Softwarekorrektur, die auĂerhalb des regulĂ€ren Release-Zyklus erstellt und eingespielt wird. Der Name setzt sich aus âhotâ (im laufenden Betrieb, unter Druck) und âfixâ (Fehlerbehebung) zusammen. Ein Hotfix wird dann eingesetzt, wenn ein Fehler in der Produktion so gravierend ist, dass er nicht bis zum nĂ€chsten geplanten Update warten kann.
Typische AnlĂ€sse fĂŒr einen Hotfix:
- Eine SicherheitslĂŒcke wird aktiv ausgenutzt
- Eine Kernfunktion der Anwendung ist ausgefallen (Login, Bezahlvorgang, Datenbankzugriff)
- Ein Datenverlust droht oder ist bereits eingetreten
- Eine regulatorisch relevante Funktion arbeitet fehlerhaft
Der entscheidende Unterschied zu einem normalen Update: Ein Hotfix durchlĂ€uft einen verkĂŒrzten Testprozess. Die Dringlichkeit der Fehlerbehebung wiegt schwerer als die vollstĂ€ndige Absicherung durch umfangreiche Regressionstests. Das macht Hotfixes zugleich notwendig und riskant.
Hotfix, Patch, Bugfix, Coldfix â die Unterschiede
Die Begriffe werden hÀufig durcheinander verwendet. Eine klare Abgrenzung:
Patch ist der Oberbegriff fĂŒr jedes Softwareupdate, das gezielt ein Problem behebt â sei es eine SicherheitslĂŒcke, ein Fehler oder eine KompatibilitĂ€tsfrage. Ein Patch wird im Rahmen des regulĂ€ren Patch-Management-Prozesses geplant, getestet und ausgerollt. Zeitdruck besteht, ist aber beherrschbar.
Bugfix bezeichnet die Behebung eines spezifischen Fehlers im Code. Ein Bugfix kann Teil eines regulÀren Patches sein oder als eigenstÀndiges Update veröffentlicht werden. Nicht jeder Bugfix ist dringend.
Hotfix ist ein Bugfix oder Sicherheitspatch, der unter Zeitdruck erstellt und eingespielt wird â typischerweise innerhalb von Stunden statt Tagen oder Wochen. Der verkĂŒrzte Prozess ist das definierende Merkmal.
Coldfix ist das Gegenteil: Eine Korrektur, die erst beim nÀchsten regulÀren Neustart oder Wartungsfenster angewendet wird. Coldfixes betreffen Fehler, die keinen sofortigen Eingriff erfordern, aber bei der nÀchsten Gelegenheit behoben werden sollten.
Der Hotfix-Prozess in der Praxis
1. Erkennung und Bewertung
Ein kritischer Fehler wird gemeldet â durch das Monitoring, einen Anwender oder ein automatisches Alerting-System. Der erste Schritt: Ist das Problem wirklich ein Hotfix-Kandidat? Oder lĂ€sst es sich mit einem Workaround ĂŒberbrĂŒcken, bis der regulĂ€re Patch-Zyklus greift? Diese Bewertung sollte nicht von einer einzelnen Person getroffen werden. In vielen Organisationen gibt es dafĂŒr einen kurzen Abstimmungsprozess zwischen Entwicklung, Betrieb und dem fachlich Verantwortlichen.
2. Entwicklung
Der Hotfix wird entwickelt â so minimal wie möglich. Das Ziel ist nicht, den Code zu verbessern oder ein Redesign zu starten, sondern genau das akute Problem zu beheben. Je kleiner die Ănderung, desto geringer das Risiko unbeabsichtigter Nebenwirkungen. In der Versionsverwaltung wird ein Hotfix typischerweise auf einem eigenen Branch erstellt (Hotfix-Branch), der direkt vom Production-Stand abzweigt.
3. Test (verkĂŒrzt)
Auch ein Hotfix muss getestet werden â aber der Umfang ist reduziert. Statt eines vollstĂ€ndigen Regressionstests konzentriert sich das Testing auf die direkt betroffene Funktion und ihre unmittelbaren AbhĂ€ngigkeiten. Automatisierte Tests beschleunigen diese Phase erheblich. Anwendungen mit guter Testabdeckung können einen Hotfix in Minuten statt Stunden validieren.
4. Deployment
Der Hotfix wird auf der Produktionsumgebung eingespielt. Je nach Infrastruktur kann das ein manuelles Deployment sein oder ein automatisierter Prozess ĂŒber eine CI/CD-Pipeline. Wichtig: Der Zeitpunkt des Deployments und die durchgefĂŒhrten Ănderungen werden dokumentiert â fĂŒr die Nachvollziehbarkeit und fĂŒr das spĂ€tere Post-Mortem.
5. Nachbereitung
Nach dem Deployment wird der Hotfix in den regulĂ€ren Entwicklungszweig zurĂŒckgefĂŒhrt (Merge), damit die Korrektur auch in zukĂŒnftigen Releases enthalten ist. AuĂerdem findet in der Regel ein kurzes Post-Mortem statt: Was hat den Fehler verursacht? Warum wurde er nicht durch Tests erkannt? Was kann verbessert werden, damit ein Ă€hnliches Problem in Zukunft im regulĂ€ren Prozess abgefangen wird?
Hotfixes und WartungsvertrÀge
FĂŒr Unternehmen, die Individualsoftware betreiben, sind garantierte Hotfix-Zeiten ein zentraler Bestandteil des Wartungsvertrags. Das SLA definiert, wie schnell der Dienstleister bei einem kritischen Fehler reagiert und wie schnell ein Hotfix bereitgestellt wird.
Typische SLA-Parameter fĂŒr Hotfixes:
- Reaktionszeit bei kritischen Fehlern: 1-4 Stunden
- Hotfix-Bereitstellung: 4-24 Stunden (abhÀngig von der KomplexitÀt)
- Bereitschaft: Werktags oder 24/7 (je nach Vertrag und KritikalitÀt)
Ohne Wartungsvertrag wird ein Hotfix zum Ad-hoc-Projekt: Der Dienstleister muss sich erst wieder in den Code einarbeiten, ZugĂ€nge beschaffen und die PrioritĂ€t des Einsatzes gegen andere AuftrĂ€ge abwĂ€gen. Das kostet nicht nur mehr, sondern dauert auch deutlich lĂ€nger â im schlimmsten Fall Tage statt Stunden.
WeiterfĂŒhrende Informationen
- Patch Management â Der regulĂ€re Update-Prozess
- Software Monitoring â Fehler erkennen, bevor Nutzer sie melden
- Wartungsvertrag fĂŒr Individualsoftware â Hotfix-Zeiten vertraglich sichern
- Service-Level-Agreement (SLA) â Reaktionszeiten und Eskalationsstufen
- Second Level Support â Wer den Hotfix entwickelt
- Maintenance, Wartung und Support Service