Technical Debt (Technische Schulden)
Technical Debt beschreibt bewusst oder unbewusst eingegangene Kompromisse in Software, die später zusätzlichen Aufwand verursachen.
Wie bei finanziellen Schulden gilt:
Schulden können sinnvoll sein –
aber nur, wenn man sie kennt, bewertet und aktiv steuert.
1. Was ist Technical Debt?
Technical Debt ist die Differenz zwischen:
- dem schnellsten Weg zu einem Ergebnis
und - dem langfristig nachhaltigen Weg
Kurzfristig spart man Zeit.
Langfristig entstehen Zinsen.
Wichtig:
Nicht jede schlechte Lösung ist Technical Debt.
Debt entsteht nur, wenn eine Entscheidung:
- bewusst schneller gewählt wurde
oder - implizit Risiken erzeugt, die später Kosten verursachen.
2. Der Vergleich mit echten Schulden
Finanziell
- Kredit aufnehmen → schneller investieren
- Zinsen → regelmäßige Mehrkosten
- Zu viele Kredite → eingeschränkte Handlungsfähigkeit
Technisch
- Quick Fix → schneller liefern
- Zinsen → steigende Änderungsaufwände
- Zu viel Debt → Feature-Delivery verlangsamt sich
- Extremfall → Stillstand („nur noch Reparaturbetrieb“)
Ein System kann lange funktionieren –
aber mit exponentiell steigenden Zinskosten.
3. Debt vs. Entropie
Nicht jede Verschlechterung ist Debt.
Technical Debt
- Kompromiss zugunsten von Geschwindigkeit
- bewusste oder bewertbare Entscheidung
- potenziell rückzahlbar
Technische Entropie
- fehlende Pflege
- inkonsistente Muster
- ungeklärte Verantwortlichkeiten
- kein Refactoring über Zeit
Entropie entsteht automatisch.
Debt ist eine strategische Entscheidung (oder ihr Versäumnis).
4. Wie entstehen technische Schulden?
- Zeitdruck: „Wir müssen raus.“
- Unklare Anforderungen: spätere Korrekturen
- Fehlende Tests: Regressionsrisiko steigt
- Architektur-Umgehungen: Abkürzungen in Abhängigkeiten
- Technologie-Drift: veraltete Frameworks ohne Upgrade-Strategie
- Rollenlücken: niemand fühlt sich verantwortlich
Technische Schulden entstehen nicht nur im Code – sondern auch durch organisatorische Entscheidungen.
5. Typische Symptome
- Jede Änderung dauert länger als früher
- Kleine Änderungen verursachen unerwartete Nebeneffekte
- Bug-Fix-Rate steigt
- Teams haben Angst vor Refactoring
- Wissen wird zum Engpass
- „Nur noch Workarounds“ statt saubere Lösungen
Ein starkes Indiz:
Die Änderungszeit steigt, obwohl Teamgröße gleich bleibt.
6. Die Zinsmechanik verstehen
Technische Schulden erzeugen:
- höhere kognitive Last
- längere Review-Zeiten
- mehr Testaufwand
- mehr Incident-Risiko
- steigende Integrationskosten
Zinsen wirken oft schleichend.
Man merkt sie nicht pro Ticket –
sondern über Monate.
7. Strategischer Umgang mit Technical Debt
1️⃣ Sichtbar machen
- Schulden dokumentieren
- Owner benennen
- Auswirkungen beschreiben
- nicht nur „TODO“ im Code
Unsichtbare Schulden sind die gefährlichsten.
2️⃣ Zinsen bewerten
Fragen:
- Wie viel Zeit verlieren wir pro Monat?
- Wie oft blockiert es Features?
- Wie hoch ist das Incident-Risiko?
- Wie stark steigt Komplexität?
Technische Schulden sind ein wirtschaftliches Thema.
3️⃣ Gezielte Tilgung
- Kleine, kontinuierliche Refactorings
- Debt-Budget pro Sprint
- Upgrade-Fenster definieren
- keine „Refactoring nur wenn Zeit ist“-Strategie
Debt muss geplant werden.
4️⃣ Neue Schulden bewusst aufnehmen
Schulden können sinnvoll sein, wenn:
- Marktzeit kritisch ist
- Lernphase noch läuft
- Risiko gering ist
- Rückzahlungsplan existiert
Die entscheidende Frage:
Wann und wie zahlen wir zurück?
Ohne Rückzahlungsplan ist es kein Kredit –
es ist Verdrängung.
8. Technical Debt im Qualitätsmodell
Stufe 0–1:
- Debt ist akzeptabel, wenn Lebensdauer gering
Stufe 2:
- Debt muss dokumentiert und begrenzt sein
Stufe 3:
- Zinsen werden betriebswirtschaftlich relevant
Stufe 4–5:
- Unkontrollierte Debt ist nicht akzeptabel
Je höher die Kritikalität, desto geringer die Toleranz für implizite Schulden.
9. Für Nicht-Techniker: Warum das wichtig ist
Technische Schulden sind wie ein unsichtbarer Kredit.
Man merkt ihn nicht sofort. Aber jede neue Entscheidung wird teurer.
Wer nur kurzfristig optimiert,
bezahlt langfristig mit:
- Verzögerungen
- steigenden Kosten
- sinkender Planbarkeit
- erhöhtem Risiko
10. Typische Fehlannahmen
- „Technical Debt ist normal, also egal.“
- „Wir machen das später.“
- „Refactoring bringt keinen Business Value.“
- „Neue Features lösen das Problem.“
Technische Schulden verschwinden nicht von selbst.
Fazit
Technical Debt ist nicht per se schlecht.
Schlecht ist:
- keine Übersicht
- keine Bewertung
- kein Rückzahlungsplan
- keine Ownership
Schulden sind ein Instrument.
Unkontrollierte Schulden sind ein Risiko.
Und wie bei echten Schulden gilt:
Nicht der Kredit ist gefährlich –
sondern die Illusion, ihn nie zurückzahlen zu müssen.