© DrHitch/Shutterstock.com
Shortcuts
Technische Schulden

1 Standardisierte Dokumentation und Aufnahme

1992 offiziell geprägt, ist der Begriff der technischen Schulden mittlerweile im Berufsalltag der Softwareentwicklung angekommen. Seither wird er mit unvorhergesehenen Planabweichungen infolge ungünstiger technischer Entscheidungen in Verbindung gebracht. Dabei besteht kein grundlegendes Verständnis darüber, was genau technische Schulden sind, welche Auswirkungen sie haben, welche Vorteile deren gezieltes Management hat und wie dieses in die Softwareentwicklung integriert werden kann.

Shortcut Autorenteam


Das erste Kapitel liefert eine zusammenhängende Beschreibung technischer Schulden und baut darauf ein Modell auf. Dieses Modell dient im zweiten Kapitel als Basis für konkrete Einführungsstrategien in die Softwareentwicklung.Das Konzept der technischen Schulden bezeichnet in der Softwareentwicklung das Eingehen von Kompromissen: So wird beispielsweise zur Einhaltung einer Deadline der Fokus auf Featurevollständigkeit gesetzt und dabei die Codequalität (temporär) vernachlässigt. Diese Kompromisse können kurzfristig vorteilhaft sein, beispielsweise um das kritische strategische Ziel zu realisieren, mit einem Softwareprodukt vor der Konkurrenz am Markt zu sein. Findet jedoch keine angemessene Steuerung statt, können technische Schulden mittel- bis langfristig für ein Softwareprodukt (und seinen Hersteller) Probleme verursachen. Vor fast einem Vierteljahrhundert von Ward Cunningham als Technical Debt geprägt [1], sind seitdem vier Dinge klar geworden: Technische Schulden können in allen Phasen der Softwareentwicklung entstehen bzw. wirken. Technische Schulden werden einem Softwareprodukt, -projekt und -hersteller schaden, sofern sie nicht bewusst aufgenommen und kontrolliert werden. Werden technische Schulden jedoch bewusst aufgenommen und fortwährend gesteuert, führt dies durch eine zusammenhängende und stets aktuelle Informationslage zu einer für alle Stakeholder belastbaren Entscheidungsbasis und somit zu einer reduzierten Unsicherheit in der Softwareentwicklung und im Softwareprojektmanagement. Im Zuge der o. g. Informationslage ergeben sich Gelegenheiten für taktisch kalkulierbare Risiken, z. B. zur kurzfristigen Steigerung der Produktivität, um kritischen Terminen gerecht zu werden, oder aber für strategisch wirtschaftliche Entscheidungen zur Codequalität: bei kritischen Komponenten, die eine hohe Veränderbarkeit haben müssen, in eine ausreichend hohe Codequalität zu investieren. Bei belegbar unwichtigen Komponenten, von denen eine niedrige bis gar keine Veränderbarkeit erwartet wird, könnte somit deutlich weniger in diese Richtung investiert werden. Die verschiedenen Phasen im Softwarelebenszyklus sind in Abbildung 1.1 dargestellt – die Phasen „Deployment“ und „Betrieb“ werden nicht dediziert behandelt.Abbildung 1.1: SoftwarelebenszyklusVeränderbarkeit von Software ist ein unumstrittener Erfolgsfaktor für ihre Projektierung und Wartung und stellt gleichermaßen den Dreh- und Angelpunkt des Managements technischer Schulden dar. Eine beein...

Shortcuts
Technische Schulden

1 Standardisierte Dokumentation und Aufnahme

1992 offiziell geprägt, ist der Begriff der technischen Schulden mittlerweile im Berufsalltag der Softwareentwicklung angekommen. Seither wird er mit unvorhergesehenen Planabweichungen infolge ungünstiger technischer Entscheidungen in Verbindung gebracht. Dabei besteht kein grundlegendes Verständnis darüber, was genau technische Schulden sind, welche Auswirkungen sie haben, welche Vorteile deren gezieltes Management hat und wie dieses in die Softwareentwicklung integriert werden kann.

Shortcut Autorenteam


Das erste Kapitel liefert eine zusammenhängende Beschreibung technischer Schulden und baut darauf ein Modell auf. Dieses Modell dient im zweiten Kapitel als Basis für konkrete Einführungsstrategien in die Softwareentwicklung.Das Konzept der technischen Schulden bezeichnet in der Softwareentwicklung das Eingehen von Kompromissen: So wird beispielsweise zur Einhaltung einer Deadline der Fokus auf Featurevollständigkeit gesetzt und dabei die Codequalität (temporär) vernachlässigt. Diese Kompromisse können kurzfristig vorteilhaft sein, beispielsweise um das kritische strategische Ziel zu realisieren, mit einem Softwareprodukt vor der Konkurrenz am Markt zu sein. Findet jedoch keine angemessene Steuerung statt, können technische Schulden mittel- bis langfristig für ein Softwareprodukt (und seinen Hersteller) Probleme verursachen. Vor fast einem Vierteljahrhundert von Ward Cunningham als Technical Debt geprägt [1], sind seitdem vier Dinge klar geworden: Technische Schulden können in allen Phasen der Softwareentwicklung entstehen bzw. wirken. Technische Schulden werden einem Softwareprodukt, -projekt und -hersteller schaden, sofern sie nicht bewusst aufgenommen und kontrolliert werden. Werden technische Schulden jedoch bewusst aufgenommen und fortwährend gesteuert, führt dies durch eine zusammenhängende und stets aktuelle Informationslage zu einer für alle Stakeholder belastbaren Entscheidungsbasis und somit zu einer reduzierten Unsicherheit in der Softwareentwicklung und im Softwareprojektmanagement. Im Zuge der o. g. Informationslage ergeben sich Gelegenheiten für taktisch kalkulierbare Risiken, z. B. zur kurzfristigen Steigerung der Produktivität, um kritischen Terminen gerecht zu werden, oder aber für strategisch wirtschaftliche Entscheidungen zur Codequalität: bei kritischen Komponenten, die eine hohe Veränderbarkeit haben müssen, in eine ausreichend hohe Codequalität zu investieren. Bei belegbar unwichtigen Komponenten, von denen eine niedrige bis gar keine Veränderbarkeit erwartet wird, könnte somit deutlich weniger in diese Richtung investiert werden. Die verschiedenen Phasen im Softwarelebenszyklus sind in Abbildung 1.1 dargestellt – die Phasen „Deployment“ und „Betrieb“ werden nicht dediziert behandelt.Abbildung 1.1: SoftwarelebenszyklusVeränderbarkeit von Software ist ein unumstrittener Erfolgsfaktor für ihre Projektierung und Wartung und stellt gleichermaßen den Dreh- und Angelpunkt des Managements technischer Schulden dar. Eine beein...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang