Technische Schulden: Wie baut man nachhaltige digitale Produkte?

Viele Softwareunternehmen kennen den ständigen Druck des Marktes nur zu gut. Und weil das allein noch nicht auszureichen scheint, kommt meist noch der stetig wachsende Wettbewerb und die zunehmenden Erwartungen der Kunden dazu.

Anzeige

Oftmals kann dieser anhaltende Druck dazu führen, dass  die Entwicklung und Umsetzung von Software nicht ideal verlaufen. Dadurch entstehen und sogenannte technische Schulden, die somit negative Auswirkungen auf das Unternehmen haben. Dann stellt sich für die Produkt- und Softwareentwicklungsteams die Frage, wie sie damit umgehen und was nun zu tun ist.

 

Die technische Schuld – was ist das genau?

Um den Zusammenhang besser nachvollziehen, zu können, ist es wichtig den Begriff der technischen Schuld zu verstehen. Erstmals wurde dieser im Jahr 1992 von Ward Cunningham in Bezug auf Unternehmens-IT eingeführt. Die technischen Schulden, auch bekannt als Tech Debt oder Code Debt, geben an, was passiert, wenn ein Entwicklungsteam eine Reihe von Funktionen oder Designs in einer kurzen Zeit liefert oder welche später wieder überarbeitet werden müssen. 

Sie entstehen meist genau dann, wenn schnell und ohne Berücksichtigung der Skalierbarkeit gearbeitet wird. Dadurch erhöht sich automatisch das Risiko im Nachhinein mehr Zeit aufzubringen, um das bereits Erarbeitete zu prüfen und zu verbessern. 

Cunningham erinnert sich auch Jahre später gern an die Entstehung des Konzepts zurück:  “Sich Geld zu leihen verleiht einem die nötige Flexibilität. Denn es befähigt uns dazu bestimmte Dinge schneller oder früher umsetzen, auf die wir sonst aufgrund mangelnder finanzieller Mittel warten müssten. Ich hielt es für eine gute Idee, sich Geld zu leihen. Genauso dachte ich, es sei eine gute Idee, eine Software möglichst schnell auf den Markt zu bringen, um damit Erfahrungen zu sammeln. Sobald man etwas über die Software gelernt hat, würde man das Darlehen anschließend sofort zurückzahlen, indem man das Programm mit den gesammelten Erfahrungen überarbeitet.”

Technische Schulden entstehen aber auch dann, und das viel häufiger, wenn die Entwicklung oder der Support für eine bestimmte Plattform eingestellt wird.

 

Was sind die Hauptursachen für technische Schulden bei digitalen Produkten?

Als Leiter einer Abteilung oder eines Teams ist es von Vorteil zu wissen, wodurch technische Schulden entstehen können, um diese langfristig zu vermeiden. Die Hauptursachen von technischen Schulden sind folgende:

  • eine geringe Qualität des Codes

  • unzureichende Entwicklungsfähigkeiten im Team oder der Abteilung

  • geringe Teststandards oder keine Tests

  • unrealistische Zeitangaben 

  • Entwicklungsteams sind zu hohem Druck ausgesetzt

  • Overengineering und übermäßig komplexe Implementierungen

  • ineffektive Methoden oder Frameworks, sowie schlechtes Management (z.B. Wasserfall, unflexible Herangehensweise) 

  • die Konzentration auf nur einen bestimmten Aspekt des digitalen Produkts zu lenken

  • Verwendung einer temporären Lösung als Endprodukt (z. B. Verwendung eines MVP auf Dauer)

  • Druck von Stakeholdern

 

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Technische Schulden sind nicht immer schlecht

Es gibt Situationen, in denen technische Schulden bewusst provoziert werden und einen positiven Einfluss haben können. Um das Gleichgewicht zwischen geschäftlichen Anforderungen, der Qualität, der Funktionalität und der Geschwindigkeit einer Software zu ermitteln, werden MVP’s (Minimum Viable Products) erstellt. Das bedeutet, dass man in kurzer Zeit eine minimal funktionale App entwickelt, die aufgrund der Schnelligkeit in der Herstellung, noch einige Mängel aufweisen kann. Der Sinn dahinter ist, diese so schnell wie möglich auf den Markt zu bringen und die bereits bestehende Geschäftshypothese zu testen. Danach folgt eine Validierung der Annahme um zu sehen, ob diese positiv oder negativ ist. Anschließend wird entschieden, ob die App verworfen oder weitere Zeit in die Verbesserung des MVP’s investiert wird.

Bei der Skalierung eines Produkts und der Erschließung eines neuen Marktes hingegen, sollten technische Schulden unbedingt vermieden werden. Die Wahl der Infrastruktur, unter Berücksichtigung skalierbarer Lösungen, ermöglichen es, ein Produkt weiterzuentwickeln. Das genaue Arbeiten und somit  Vermeiden technischer Schulden sollte dabei ein Faktor sein, der die Benutzer*innen zufrieden stellt. Technische Schulden sind für Softwareentwicklungsunternehmen und DevOps-Teams ein klares Zeichen dafür, dass im Laufe des Prozesses  Entscheidungen getroffen werden mussten, die das Endprodukt vom idealen Zustand abweichen lassen. Sobald technische Schulden entstehen, sollten diese direkt angegangen werden. Ansonsten werden sie immer weiter wachsen und schlussendlich immer schwerer zu beheben sein. 

 

Die technische Schuld und ihre Folgen

Wichtig zu wissen ist, dass technische Schulden nicht immer unvermeidbar sind. Die testgetriebene Entwicklungen (TDD) ist eine Methode, bei der die technischen Schulden letztendlich nicht komplett aufgehalten werden, sondern lediglich versucht wird, den Code in einem gesunden Zustand zu halten. 

Die Liste der möglichen Probleme ist lang – Fehlfunktionen, Bugs, schlechte Leistung, Datenlecks und andere Sicherheitsprobleme. Fängt ein Entwicklungsteam an, diese Fehler nicht zu beheben, ist mit Sicherheit gesagt, dass die nächste Behebung weitaus zeitaufwendiger sein wird. Gefährlich hierbei ist die ständige Unterbrechung des Wachstums. 

Das Team sollte sich über den Umstand bewusst sein, dass es am wichtigsten ist, diese Schulden auch zu beheben und dies nicht infrage zu stellen – denn so können weitere Probleme vermieden werden.

 

Effektiver Umgang mit technischen Schulden 

Wenn der Zeitpunkt gekommen ist und ein Unternehmen bemerkt, dass ein Produkt oder eine Dienstleistung unter technischen Schulden leidet, gibt es einige Tricks, die aktuelle Situation zu verbessern oder solche Probleme in Zukunft zu vermeiden. 

Vorab ist ein sogenannter Code-Audit wichtig, denn dieser kann frühzeitig potenzielle Probleme erkennen. Klare Kodierungsstandards sollten festgelegt werden, um die Qualität auf Dauer sicherzustellen. Die Motivation und die Produktivität des Teams sollte zu jeder Zeit beobachtet werden, denn von ihr hängt der Anstieg der Fehleranzahl ab und bestimmt, welche Maßnahmen als Nächstes ergriffen werden müssen. Einen agilen Ansatz zu implementieren kann dem Team dazu verhelfen eigenständig, schnell und genau Entscheidungen zu treffen. Die Scrum und Kanban Methode wäre etwa ein hilfreicher erster Ansatz. Eine gut durchdachte Produktskalierung kann das Auftreten der technischen Schulden senken. Teilhabende Stakeholder müssen bewusst davon überzeugt werden, dass technische Schulden vorerst auch einen positiven Einfluss haben können, denn sie tragen zu dem Prozess bei, der das Produkt im Endeffekt verbessert.  

 

Fazit

Es ist es wichtig solche Störungen und die Entstehung von technischen Schulden früh zu erkennen und zu beseitigen, bevor sie zu einer sehr realen Gefahr für das Projekt werden. Diese sollte man unter keinen Umständen vernachlässigen,  denn je länger sie unangetastet bleibt, desto mehr Ressourcen braucht es, um sie zu beseitigen.  Der beste Weg ist also, sich so schnell wie möglich darum zu kümmern. Idealerweise auf eine systematische und durchdachte Weise.

Piotr Majchrzak

Boldare -

Gründer und Co-Geschäftsführer

Piotr Majchrzak ist Unternehmer, mit einem Hintergrund in Softwareentwicklung, der bereits zahlreiche Unternehmen in seinem Geschäftsportfolio hat.
Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.