Technische Schulden sind das, wonach sie klingen: Schulden, die Unternehmen mit Zeit, Geld und Ressourcen zurückzahlen müssen – meist dafür, dass sie sich für eine schnelle statt qualitativ hochwertige Lösung entschieden haben. In der „neuen Normalität“ versuchen Unternehmen, ihre Technologie und Dienstleistungen anzupassen, um ihren Kunden neue digitale Interaktionskanäle zu bieten. Parallel dazu diskutieren viele Technologen darüber, wie sich technische Schulden auf die Geschäftskontinuität auswirken.

Ich habe 2020 mit vielen Unternehmen gesprochen und unzählige Male gehört, dass „ein schnelleres Go-to-Market“ erforderlich ist. Fakt ist jedoch: Wenn Applikationen für kurzfristige Erfolge entwickelt werden, fließt am Ende ein großer Teil Ihrer Ressourcen, Zeit und Energie in die Instandhaltung und das Umschreiben von „defektem“ Code, statt in die Entwicklung neuer Ideen.

Aber sind technische Schulden wirklich immer schlecht? In diesem Blogbeitrag möchte ich klären, welche Auswirkungen technische Schulden tatsächlich haben und wie Sie damit umgehen können.

  1. Was sind technische Schulden?
  2. Ursachen technischer Schulden
  3. Arten technischer Schulden
  4. Das Gleichgewicht zwischen Geschwindigkeit und Qualität
  5. Wie Sie technische Schulden verwalten und reduzieren
  6. Beginnen Sie noch heute, Ihre technischen Schulden abzubauen

Was sind technische Schulden?


Ich möchte zunächst meinen Kollegen Paulo Sebastião zitieren: „Technische Schulden sind die Kosten, die für die Überarbeitung einer Lösung anfallen, die zunächst einfach war, aber dafür mit Einschränkungen verbunden ist.“

Stellen Sie sich vor, Sie möchten Ihrem Baby Apfelbrei geben, und merken, dass alle sauberen Lätzchen in einem anderen Raum sind. Sie können den Brei ohne Lätzchen füttern und riskieren, dass Sie Ihr Baby danach neu anziehen müssen. Oder Sie können das Lätzchen holen und sich dadurch spätere Arbeit ersparen. Technische Schulden sind für Software, was das Umziehen nach der Babymahlzeit ist. Sie sind zunächst eine akzeptable Lösung, die erst später problematisch wird.

Bitte sehen Sie mir den Vergleich nach – in den letzten 18 Monaten war ich mit nichts anderem als OutSystems und Windelwechseln beschäftigt.

Die wichtigste Folge von komplexen technischen Schulden besteht darin, dass sie die Wettbewerbs- und Innovationsfähigkeit eines Unternehmens einschränken. Wie Paulo Rosado einmal sagte: „Die größten Kosten technischer Schulden sind die Opportunitätskosten.“ Denn technische Schulden rauben Ihnen Ressourcen, Zeit, Energie und die Fähigkeit, innovativ zu sein, sich anzupassen und zu wachsen.

Hinzu kommt, dass technische Schulden schwer zu erkennen, schwer in den Griff zu bekommen und noch schwerer zu vermeiden sind.

Ursachen technischer Schulden

Bei der Entwicklung einer Lösung können Sie viele Dinge antizipieren und viel Zeit damit verbringen, Ihr Projekt zu planen oder Ihren Code zu perfektionieren. Aber es gibt immer einige Dinge, die sich Ihrer Kontrolle entziehen. Genau hier können technische Schulden entstehen:

  • Zeitdruck: Entwicklerteams veröffentlichen oft Applikationen, die nicht den vollen Funktionsumfang haben oder bei denen wichtige Funktionen fehlen. Der Grund dafür sind kurze Fristen. Zuweilen machen Entwicklerteams sogar Abstriche bei Leistung und Qualität, um schneller auf den Markt zu kommen.
  • Konstante Veränderungen: Auch rechtzeitig fertig gestellte Applikationen können bereits veraltet sein, wenn sie auf den Markt gelangen. Steigende Kundenerwartungen, das Aufkommen neuer Marktchancen, neue Cyber-Bedrohungen und die Fluktuation von Entwicklern stellen IT-Verantwortliche vor immer neue Herausforderungen.
  • Veraltete Technologie: Die Entwicklung moderner Applikationen umfasst in der Regel mehrere Programmiersprachen, Entwickler-Frameworks und Bibliotheken, die jedes Jahr veraltet sein können oder nicht mehr unterstützt werden. Das Python von heute könnte das Visual Basic von morgen sein. (Verzeihung, wenn Sie noch in VB programmieren...)

Von technischen Schulden sprechen wir meistens im Zusammenhang mit veralteten Legacy-Produkten. Fakt ist aber, dass technische Schulden vom ersten Tag an entstehen. Waren Sie schon einmal in der Planungsphase für ein neues Projekt und wussten gleich, dass Sie eine bestimmte Anforderung im festgelegten Zeitrahmen nicht erfüllen können?

Natürlich können Sie sich auch später noch darum kümmern. Allerdings setzen Sie dann darauf, dass Sie die Zeit dafür finden werden. Und leider wird es immer wieder ein anderes Projekt, immer eine andere Deadline geben. Das Hinausschieben von Anforderungen bedeutet oft, dass sie nie erledigt werden. Und schon ist es passiert: Sie haben technische Schulden.

Ein gutes (oder schlechtes?) Beispiel für technische Schulden bieten die letzten zwei Jahre. Viele große Einzelhändler hatten bereits Onlineshops. Es war aber keine Priorität, sie für viele gleichzeitige Benutzer zu entwickeln. Der Hintergrund war, dass der Aufbau einer skalierbaren Lösung mehr Zeit in Anspruch genommen hätte. Deshalb wurde die Anforderung immer wieder in die Zukunft verschoben. Damals war dies in Ordnung – denn niemand konnte ahnen, dass Online-Shops auf einmal so viele gleichzeitige Benutzer haben würden.

Dann kam die Pandemie.

Da viele Retail-Websites die Anforderungen an die Skalierbarkeit nicht erfüllten, mussten Einzelhändler Notlösungen wie eine virtuelle Warteschlange hinzufügen. Doch die meisten Kunden wollten nicht warten und gingen lieber zu anderen, skalierbaren und leistungsfähigen Online-Shops. Unternehmen, die sich die Zeit genommen hatten und gleich eine hochwertige Lösung entwickelt haben (wie Amazon, eBay und AliExpress), konnten 2020 die Früchte ihrer Arbeit genießen. Viele andere gingen dagegen leer aus.

Arten technischer Schulden

Aber sind technische Schulden grundsätzlich schlecht – auch, wenn es um Geschwindigkeit geht? Um diese Frage zu beantworten, ist Martin Fowlers „Technical Debt Quadrant“ hilfreich. Dieser Quadrant kategorisiert die Art der technischen Schulden basierend auf Intention und Kontext.

Mit diesem Quadranten im Hinterkopf sind technische Schulden:

  • wohl überlegt und beabsichtigt (prudent and deliberate), wenn Teams wissen, dass sie Anforderungen anhäufen. Sie entscheiden sich bewusst für die Auslieferung und kümmern sich später um die Konsequenzen. Diese Entscheidung ist akzeptabel, wenn die Risiken klein genug sind oder der Gewinn durch eine frühere Veröffentlichung größer ist als die Kosten technischer Schulden.
  • leichtsinnig und beabsichtigt (reckless and deliberate), wenn Teams die Konsequenzen kennen und sie zu vermeiden versuchen, aber trotzdem Geschwindigkeit über Qualität stellen.
  • Umsichtig und unbeabsichtigt (prudent and inadvertent), wenn Teams nach der Implementierung erfahren, wie die Lösung hätte implementiert werden sollen. In diesem Fall sind technische Schulden eine gute Lektion.
  • Leichtsinnig und unbeabsichtigt (reckless and inadvertent), wenn Teams nicht über die nötige Erfahrung verfügen und die Lösung einfach implementieren. Dabei merken sie nicht, in welch gigantisches Chaos sie sich stürzen.

Die linke Seite dieses Quadranten sollte dringend vermieden werden.

Das Gleichgewicht zwischen Geschwindigkeit und Qualität

Die Qualität und Leistung von Software sind entscheidend für ein gutes Benutzererlebnis – und Geschwindigkeit ist wichtig, um Geschäftsziele rechtzeitig zu erreichen. Der Umgang mit technischen Schulden erfordert eine Balance zwischen Qualität und Geschwindigkeit. Auch wenn Sie mit schnellen Workarounds Fristen einhalten können, sollten Sie sich immer der Kosten bewusst sein. Technische Schulden sehen vielleicht harmlos aus. Doch wenn sie unkontrolliert bleiben, sind Geschwindigkeit und Agilität irgendwann keine Option mehr.

Unerfahrene Entwickler könnten versucht sein, technische Schulden einfach so lange wie möglich zu ignorieren. Oder sie finden es schwer, technische Schulden zu identifizieren und zu beheben. Zugleich konzentrieren Unternehmen sich darauf, die Time-to-Market zu beschleunigen und unterstützen nichtprofessionelle Entwickler (Citizen Developer) dabei, Business-Applikationen selbst zu erstellen. Dadurch steigt das Risiko technischer Schulden.

Doch es gibt Möglichkeiten, technische Schulden zu reduzieren und zu verwalten.

Wie Sie technische Schulden verwalten und reduzieren

Beim Thema technische Schulden geht es um die richtige Balance zwischen Zeit, Qualität und Kosten. Doch auch das Governance-Modell, das Toolset und das Mindset der Mitarbeiter, die die Software entwickeln, sollten mit berücksichtigt werden. Letztlich kommt es auf den richtigen Mix an. Dabei kann es helfen, die passende Technologie zur Hand zu haben.

Immer mehr Unternehmen setzen moderne Applikationsentwicklungsplattformen ein, um einzigartige, differenzierende Lösungen zu liefern und Fallstricke wie technische Schulden zu vermeiden.

Hier kommt OutSystems ins Spiel

Mit OutSystems erstellte Applikationen basieren auf Standard-Architekturen und -Frameworks – ohne proprietäre Komponenten, Runtime-Engines oder Interpreter. So werden technische Schulden bereits eingedämmt, bevor die Entwicklung beginnt.

OutSystems orchestriert den gesamten Bereitstellungsprozess mit einer Kombination aus Automatisierung, KI und Analytics. Die Plattform identifiziert Fehler in den Bereichen Architektur, Logik oder Abhängigkeiten bereits während der Entwicklung, in Echtzeit.

OutSystems enthält mehrere Features, die dabei helfen, technische Schulden zu reduzieren. Dazu zählen:

Beginnen Sie noch heute, Ihre technischen Schulden abzubauen

Mehr darüber, wie Sie technische Schulden von Anfang an reduzieren, erfahren Sie in unserem Whitepaper Handling Technical Debt with OutSystems. Darin gehen wir darauf ein, wie Sie mit OutSystems technische Schulden während der Entwicklung reduzieren und eine auf Best Practices basierende Architektur erstellen, um technische Schulden effizient zu verwalten.

Besuchen Sie auch StopTechDebt.com.

Nun müssen Sie mich entschuldigen, ich muss ein Lätzchen holen.