Technische Schulden (Technical Debt)
Heute schnell, morgen teuer – warum Abkürzungen im Code Zinsen kosten.
Definition
Technische Schulden (englisch Technical Debt) sind die späteren Mehrkosten, die entstehen, wenn bei der Softwareentwicklung aus Zeitdruck oder Bequemlichkeit die einfache statt der sauberen Lösung gewählt wird. Wie bei einem Kredit fallen darauf Zinsen an: Jede spätere Änderung wird aufwendiger.
Die Metapher stammt vom Entwickler Ward Cunningham: Eine schnelle, unsaubere Lösung ist wie ein aufgenommener Kredit – sie beschleunigt kurzfristig die Auslieferung, muss aber später zurückgezahlt werden. Je länger man wartet, desto höher die Zinsen, weil sich Abkürzungen gegenseitig verstärken und das System immer schwerer wartbar wird.
Nicht jede technische Schuld ist schlecht. Bewusst eingegangene Schulden – schnell liefern und nach dem Launch aufräumen – können strategisch sinnvoll sein, solange sie dokumentiert und wieder abgebaut werden. Gefährlich sind die unbewussten Schulden, die durch fehlendes Konzept entstehen und niemandem auffallen, bis eine Änderung unverhältnismäßig teuer wird.
Für Auftraggeber ist das der Grund, warum der billigste Entwickler selten das billigste Projekt ist: Wer ohne Konzept drauflosbaut, produziert technische Schulden, die später doppelt bezahlt werden. Saubere Architektur und Tests sind bei individueller Softwareentwicklung kein Luxus, sondern Zinsvermeidung – ein Teil davon steckt fest im Aufwand, den der Projekt-Kostenschätzer einpreist.
Praxisbeispiel
Ein Shop-Backend wurde unter Zeitdruck ohne Testabdeckung gebaut. Zwei Jahre später traut sich niemand mehr, eine Funktion zu ändern, weil unklar ist, was dabei kaputtgeht. Was als schnelle Lösung begann, blockiert jetzt jede Weiterentwicklung – die Zinsen der technischen Schuld sind fällig.
Was du wissen solltest
- Absichtliche, dokumentierte Schulden sind okay – unbewusste sind das Risiko
- Symptome: Änderungen dauern immer länger, niemand traut sich an bestimmte Bereiche
- Refactoring und Testabdeckung sind die Tilgung – laufend statt auf einen Schlag
Individuelle Softwareentwicklung
Du willst dieses Thema in deinem Projekt sauber umsetzen? Wir helfen dabei.
Zur Leistungsseite