archetypes

Fixes That Fail

Eine schnelle Lösung lindert das akute Symptom sofort, löst aber verdeckte Verschlimmerungen aus, die mittel- oder langfristig zurückkehren.

technologyteams·3 min Lesezeit

Warum relevant?

Ein Archetyp hilft dir, wiederkehrende Dynamiken hinter lokalen Symptomen zu erkennen.

Nächster Schritt

Gehe als naechstes in eine Diagnosemethode, um die vermutete Struktur mit Beobachtungen zu pruefen.

~4 Min. Lesezeit
Hero Bild für Fixes That Fail

Beschreibung

Der Archetyp "Fixes That Fail" (Lösungen, die scheitern) beschreibt eine häufige Dynamik technischer Schulden. Ein Problem tritt auf, und unter Betriebsdruck wird ein Quick Fix angewendet. Kurzfristig verschwindet das Symptom. Der schnelle Fix behebt jedoch nicht die strukturelle Ursache, sondern erzeugt unbeabsichtigte Langzeitfolgen. Diese Nebenwirkungen werden erst mit Verzögerung sichtbar und können das ursprüngliche Problem deutlich verschärfen. Daraufhin wird häufig der nächste Quick Fix eingesetzt.

Feedback Loops

Das System besteht aus einer Balancing Loop (Ausgleichende Schleife) und einer problematischen Reinforcing Loop (Verstärkende Schleife). Die Balancing Loop ist die kurzfristige Lösung: Symptom taucht auf -> Fix anwenden -> Symptom verschwindet (schnelles Feedback). Die Reinforcing Loop wirkt zeitverzögert: Der gleiche Fix löst nach einem Delay eine Nebenwirkung aus, die das ursprüngliche Problem weiter verschärft.

Architekturbeispiel

Eine In-Memory-Datenbank-Instanz wie Redis fällt regelmäßig unter Last ab. Der Quick Fix des Architektur-Teams lautet: "Wir fügen ein Auto-Restart-Skript und aggressivere Health-Checks hinzu." Das Symptom verschwindet scheinbar, da Redis nach einem Ausfall schnell wieder verfügbar ist. Die verzögerte Nebenwirkung: Die Anwendung hat tatsächlich erhebliche Memory-Leaks. Durch die automatischen Neustarts fällt das Problem zunächst weniger auf. Zwei Monate später ist der Speicherfehler größer, Redis fällt häufiger aus und Caches werden regelmäßig geleert. Der Auto-Restart hat die strukturelle Lösung, nämlich Speicheranalyse und Codekorrektur, verzögert.

Organisationsbeispiel

Ein Projekt gerät deutlich in Verzug. Das Management zieht zusätzliche Entwickler aus anderen Teams hinzu. Kurzfristig beruhigt das die Situation, weil mehr Aktivität sichtbar wird. Die problematische Nebenwirkung beschreibt Brooks's Law: Die Einarbeitung der neuen Personen bindet erheblich Zeit der bestehenden Entwickler. Einige Wochen später verlangsamt sich das Projekt weiter, und auch die abgebenden Teams verlieren Kapazität.

Diagnosefragen

1.Feiern wir gerade eine "Lösung" als Erfolg, deren Architektur wir im Kern aber überhaupt nicht verstanden haben (Debugging auf Basis von Vermutungen)?

2.Bei welchen regelmäßig fehlschlagenden Komponenten ist unser einziger Fix, einfach nochmal härter neuzustarten, mehr Server dazuzustellen oder das Speicherlimit im Container hochzusetzen?

3.Welche "Altlast-Skripte" (Workarounds) in unserem Cluster fixen ein altes Problem zwar noch mit Mühe, generieren uns aber heute einen hohen Betriebsaufwand?

Diagramm

Systemdiagramm für Fixes That Fail
Diagramm: Fixes That Fail

Wie du das Muster im Alltag erkennst

Das Schwierige an Fixes That Fail ist die Zeitverzögerung. Die Nebenwirkung tritt oft erst Wochen oder Monate später auf. Teams erkennen dann nicht mehr, dass ein früherer Fix zur heutigen Verschlechterung beigetragen hat, und behandeln die Situation als neues Problem. Deshalb braucht es eine konsequente Root-Cause-Analyse: Quick Fixes können im Incident notwendig sein, müssen aber anschließend durch eine strukturelle Korrektur ergänzt werden.

Wodurch sich das Muster von ähnlichen Dynamiken unterscheidet

Fixes That Fail ähnelt Shifting the Burden. Der entscheidende Unterschied: Bei Fixes That Fail verursacht der Fix eine direkte Nebenwirkung im gleichen System. Bei Shifting the Burden entsteht vor allem eine Abhängigkeit von der Symptombehandlung, während die grundlegende Lösung vernachlässigt wird.

Wie du vom Muster zur Reaktion kommst

Anerkenne die Notwendigkeit von Quick Fixes, weil Systeme im Betrieb stabilisiert werden müssen. Dokumentiere aber jeden dieser Fixes als explizite Folgelast, nicht nur als technische Schuld. Jede Architekturentscheidung, die ein Fixes That Fail-Muster zeigt, sollte eine priorisierte Story für die strukturelle Lösung erzeugen. Wenn diese Root-Cause-Arbeit dauerhaft depriorisiert wird, wächst das systemische Risiko.

Erste nächste Schritte

Verwende Retrospektiven, um zeitverzögerte Nebenwirkungen rückwirkend sichtbar zu machen. Frage aktiv: "Welcher frühere Quick Fix könnte zur heutigen Störung beigetragen haben?"

Woran du das Muster sicher erkennst

Wird in High-Severity Incidents klar protokolliert, was die kurzfristige Mitigation und was die strukturelle Remediation ist?

Quellen

The Systems Thinker: Fixes That Fail

Donella Meadows — Thinking in Systems, Kap. 5: System Traps

Wikipedia: System Archetypes

Authors & Books

Zur Referenzseite

Passende Referenzen zum Thema Fixes That Fail.