Foto: Hatoriz – Shutterstock.com
Eine Vielzahl von Unternehmen war in den vergangenen Monaten gezwungen, ihre digitale Transformation zu beschleunigen. Das lief in wenigen Fällen strukturiert ab – in vielen anderen sind durch das Wachstum digitaler Anwendungslandschaften technische Schulden entstanden.
Diese müssen, wie alle Schulden, irgendwann bezahlt werden. Im Fall von Technical Debt geschieht das durch eine Reparatur, bzw. ein Upgrade der Applikation – oder sie WIRD im Laufe der Zeit in Form von erhöhten Wartungs- und Supportkosten sowie entgangenen Geschäftsgelegenheiten bezahlt. Das müssen Sie zum Thema technische Schulden wissen.
In der Regel gibt es zwei Möglichkeiten, um eine Aufgabe zu erledigen: Entweder vollständig oder teilweise, so dass das Ergebnis kurzfristig den Bedarf deckt, aber zu einem späteren Zeitpunkt nachgearbeitet werden muss. Bei letzterem gefallenen technischen Schulden an, weil die nötigen Nachbesserungen den Arbeitsrückstand vergrößern. Technische Schulden Entsteht auch, wenn Sie eine einfachere, schnellere Lösung vorziehen, anstatt eine auf lange Sicht bessere zu wählen, sterben möglicherweise schwerer oder teurer zu implementieren.
Abbildung 1 zeigt, wie ein Projekt im Idealfall vollständig umgesetzt wird:
Auf der linken Seite sehen Sie den Zustand des Projekts vor dem Start. Zu diesem Zeitpunkt gibt es ein geplantes Projekt (blaues Feld) und einen Rückstand an bestehenden, technischen Schulden. Nach Abschluss des Projekts ist dieser Rückstand gesunken (siehe rechte Seite).
Wird ein Projekt allerdings nicht vollständig erledigt – beispielsweise um Zeit oder Energie zu sparen – dürfte der Projektablauf eher wie in Abbildung 2 aussehen:
Das passiert, wenn Projekte (zu) schnell abgewickelt werden und dabei zusätzliche technische Schulden entstehen. Die Ausgangslage auf der linken Seite ist dabei dieselbe wie in Abbildung 1. In diesem Fall wird allerdings nur so viel Arbeit investiert, wie unbedingt nötig ist, um die Ziele kurzfristig zu erreichen. Das Nettoergebnis ist, wie rechts zu sehen: Ein in kleinerem Umfang abgeschlossenes Projekt und ein wesentlich größerer Technical-Debt-Berg.
Um technische Schulden aufzulösen, braucht es nicht zwingend nur Codeanpassungen und Refactoring. Auch die Infrastruktur kann ein Problem sein, so dass sie beispielsweise auf Cloud Native umgestellt werden müssen. Technische Schulden können darüber hinaus auch negative Auswirkungen auf Prozesse betreffen, die mit Menschen und Geräten zu tun haben. Dazu gehören Prozesse und Systeme im Zusammenhang mit:
-
Kundenbetreuung,
-
Fertigung,
-
Auftrags- und Abwicklung
-
Versand.
Diese Prozesse zu verkürzen, kann genauso teuer sein, wie technische Schulden auf Code-Basis abzubauen.
Höhere technische Schulden wirken sich in vielerlei Hinsicht negativ auf ein Unternehmen aus:
-
Technische Schulden können die Fähigkeit zur Innovation und zur Umsetzung neuer Ideen beeinträchtigen. Es ist schwer, etwas Neues auszuprobieren, wenn Sie damit beschäftigt sind, etwas Altes instandzuhalten.
-
Technical Debt macht es schwerer, auf Marktveränderungen zu reagieren. Sie schränken Ihre Fähigkeit ein, sich anzupassen und zu verändern – und damit Ihre Wettbewerbsfähigkeit.
-
Technische Schulden können sich negativ auf das Talent Management ansehen. Wenn Entwickler die Wahl haben, sich entweder bei Ihnen mit Legacy-Technologien herumzuschlagen oder bei Ihrem Konkurrenten mit Innovationen zu arbeiten, dürfte klar sein, andernfalls die Wahl fällt.
Im Allgemeinen können verzögerte Prozesse und Systeme Ihre Gesamtbetriebskosten (TCO) sowie die Erfüllungs- und Herstellungskosten erhöhen, was zu Gewinneinbußen führt. Veraltete Technologien tragen außerdem zur Mitarbeiter-Frustration bei und münden letztendlich in Personalengpässen. All das dürfte Investoren und Aktionären nicht gefallen und letztendlich auch zu Unzufriedenheit unter den Kunden führen.
Zu den häufigsten Gründen für (steigende) Schulden gehören:
-
Finanzielle und personelle Einschränkungen, die verhindern, gute technologische Entscheidungen zu treffen: Wenn finanzielle technologische Entscheidungen bestimmen, sind höhere technische Schulden oft die Folge.
-
Unangemessene Zeitvorgaben für Projekte: Zu enge Zeitvorgaben führen dazu, dass Abkürzungen genommen werden, was zu technischen Schulden führt.
-
Veränderte Anforderungen: Projektanforderungen, die sich während des Projektverlaufs verändern, führen oft zu minderwertigen Designs und einer erhöhten technischen Schuld.
-
Schlechte Schuldenentscheidungen, sterben von unterqualifizierten Entwicklungsteams getroffen Werden: Um technische langfristig zu vermeiden, sind erfahrene Softwareentwickler unerlässlich.
-
Auslagerung kritischer Entwicklungs- und Entscheidungsprozesse an unbeteiligte: Wer kein Stakeholder ist, ist eher bereit, höhere technische Schulden in Kauf zu nehmen, um die Anforderungen zu erfüllen.
-
Top-Down-Management: Eine Organisation, in der Eigenverantwortung und Mitarbeiter-Empowerment klein geschrieben werden, ist eher bereit, den Weg des geringsten Widerstands zu gehen oder (faule) Kompromisse zu akzeptieren.
If es um Technical Debt geht, kommen Unternehmen nicht immer darum herum, Kompromisse einzugehen. Die Corona-Pandemie hat viele jedoch wesentlich stärker mit dem Thema konfrontiert. Zahlreiche Branchen können ihre Geschäftsprozesse schnell anpassen, um zu überleben. Der Zwang, schnelle Entscheidungen zu treffen, um die Anforderungen durch COVID-19 zu bewältigen, erforderte wesentliche Änderungen an Backend-Applikationen, -Systemen und -Prozessen. In vielen Kriegsfällen keine Zeit, langfristig zu planen und zu bewerten – dafür wurden oft die Abkürzungen genommen, die nötig waren.
Dadurch entstand innerhalb von nur wenigen Monaten ein unnötiger Berg an technischen Schulden. Betroffene Unternehmen Werden noch Jahre brauchen, um ihre technischen Schulden abzubezahlen. Technische Schulden gehören zu den versteckten, sofortigen Kosten der weltweiten Pandemie. (FM)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.
Quelle: www.computerwoche.de