Technische Schulden (auch bekannt als Tech Debt oder Code Debt) entstehen, wenn Entwicklungsteams Maßnahmen ergreifen, um die Auslieferung einer Funktion oder eines Projekts zu beschleunigen, die später überarbeitet werden müssen. Mit anderen Worten: Sie sind das Ergebnis davon, dass eine schnelle Lieferung Vorrang vor perfektem Code hat.
Wenn du schon länger in der Softwarebranche tätig bist, hast du wahrscheinlich schon einmal den Begriff "technische Schulden" gehört. Der Begriff (oder besser gesagt die Metapher) ist in der Technologiebranche weit verbreitet und wird auch als Design Debt oder Code Debt bezeichnet. Er wird als Sammelbegriff für alles Mögliche verwendet, von Fehlern über veralteten Code bis hin zu fehlender Dokumentation. Aber was genau sind technische Schulden eigentlich? Und warum nennen wir sie so?
Der Begriff "technische Schuld" wurde ursprünglich von dem Softwareentwickler Ward Cunningham geprägt, der nicht nur einer der 17 Autoren des Agilen Manifests ist, sondern auch das Wiki erfunden haben soll. Er verwendete die Metapher zum ersten Mal, um nicht-technischen Stakeholdern bei WyCash zu erklären, warum Ressourcen für Refactoring eingeplant werden müssen.
Damals war ihm nicht klar, dass er damit ein neues Modewort in der Softwarebranche geprägt hatte. Später wurde es zum Thema unzähliger akademischer Studien, Debatten und Podiumsdiskussionen.
Jahre später beschrieb Cunningham, wie er ursprünglich auf die Metapher der technischen Schulden kam:
"Mit geliehenem Geld kannst du etwas schneller tun, als du es sonst tun würdest, aber bis du das Geld zurückzahlst, zahlst du Zinsen. Ich hielt es für eine gute Idee, Geld zu leihen, und dachte, dass es eine gute Idee sei, eine Software schnell auf den Markt zu bringen, um Erfahrungen damit zu sammeln, aber dass man natürlich irgendwann zurückkehren und die geliehene Summe zurückzahlen würde, wenn man etwas über die Software gelernt hat, indem man das Programm überarbeitet, um seine Erfahrungen zu berücksichtigen.