Mein Name ist David Strauß.

Ich entwickle, schreibe und stehe hinter edgy circle.

Technische Schulden und Wasserkübel

Technische Schulden sind wie Wasserkübel bei einem Hochwasser, man muss sie regelmäßig ausleeren bevor es zu spät ist.

Als es Ende Mai in großen Teilen von Österreich zu schweren Hochwassern gekommen ist, hat es auch meine Eltern erwischt. Ich war gerade mit meiner Freundin zu Besuch als es passierte. Gegen 11 Uhr Abends hörte ich meinen Vater “Wasser” schreien. Was dann passierte, habe ich nur als ewig dauernde Zeitspanne in Erinnerung.

Das Wasser wurde durch die Kanalisation in die Waschbecken im Keller gedrückt. Damit diese nicht überlaufen und den gesamten Keller unter Wasser setzen, haben wir mit Kübeln die Waschbecken leer gekübelt. Das funktionierte so lange bis der letzte Kübel mit Wasser voll war. In der Hektik hatte niemand daran gedacht die vollen Kübel regelmäßig nach draußen zu tragen um sie zu entleeren.

Am nächsten Tag, nach stundenlangem Kampf gegen das Wasser, habe ich wieder an diese Situation gedacht. Sie erinnerte mich an Software Projekte. Wenn man Tätigkeiten mit direktem Nutzen immer den langfristigen Aufgaben vorzieht, entstehen Probleme, die einen früher oder später einholen.

Bei Software Projekten nennt man diese Probleme “Technische Schulden”. Mit jeder neuen Funktion wird der Quellcode eines Projektes modifiziert und erweitert. Das summiert sich im Laufe der Zeit und das Projekt wird komplexer und schwerer zu warten weil die Technischen Schulden steigen. Um das zu verhindern muss regelmäßig alte Teile des Quellcodes überarbeiten und an die neuen Anforderungen anpassen anstatt neue Funktionen umzusetzen.

Wenn man das zu lange aufschiebt füllt sich der Keller irgendwann mit Wasser, weil man keine leeren Kübel mehr hat. Bei Software Projekten ist dieser Prozess nicht abrupt, sondern die Technischen Schulden sammeln sich schleichend an. Das ist aber nicht weniger schlimm. Je größer die Technischen Schulden eines Projektes sind desto länger dauert die Umsetzung neuer Funktionen. Dadurch verzögert sich das Projekt immer weiter und die Kosten steigen unkontrolliert.

« Alle Beiträge ansehen

Impressum · Datenschutzerklärung