Unternehmen schaffen technische Schulden, wenn sie einem kostengünstigen, schnelleren Entwicklungsansatz gegenüber dem konventionellen Entwicklungslebenszyklus den Vorrang geben. Das mag zwar kurzfristig lohnend sein, ist aber langfristig mit Sicherheit nicht im besten Interesse des Unternehmens. Darüber hinaus ziehen Organisationen mit angehäuften technischen Schulden deren Behebung nur periodisch in Erwägung und schenken ihnen wenig Beachtung, es sei denn, die Problembehebung wird zu einem dringenden Problem. Zwar gibt es in der Branche keine vereinbarte Kennzahl für die Bewertung eines Systems in Bezug auf technische Schulden, aber bestimmte Zuverlässigkeits- und Geschwindigkeitskennzahlen machen sich mit der Zeit bemerkbar und wirken sich letztendlich auf die Betriebskosten aus.
Warum spricht man von Schulden und nicht von einem Risiko/Problem?
Die „Schulden“, die als Teil der technischen Schulden entstehen, bezeichnen häufig den zeitlichen Kompromiss, der eingegangen werden muss, um etwas richtig zu machen, gegenüber dem kürzesten Weg zum sogenannten „Minimum Viable Product“ (MVP) im Rahmen des Produktlebenszyklus. Technische Schulden, die sich im Laufe der Zeit ansammeln, treiben die „Run and Error“-Budgets in die Höhe und wirken sich zudem auf die Langlebigkeit von Plattformen aus, die neu programmiert werden müssen, um mit neueren Technologien kompatibel zu sein. Einige Branchenführer sind der Meinung, dass diese Schulden eine Art Risiko darstellen. Wenn sich dieses Risiko jedoch materialisiert, wird es zu einer Belastung, sodass es wichtig ist, dieses Risiko lieber früher als später anzugehen.
Fünf Mythen über technische Schulden
Hier sind die fünf häufigsten Vorurteile über technische Schulden, die ein frühzeitiges Handeln erschweren:
- Bei technischen Schulden geht es um Codequalität und um Abhängigkeiten.
Während sich die Codequalität auf die Wartung des Produkts auswirkt, haben auch Elemente wie Architektur, Design und Infrastrukturentscheidungen einen erheblichen Einfluss auf die Markteinführungszeit.
- Neueste Frameworks/Technologien helfen Unternehmen, frei von technischen Schulden zu bleiben.
Unternehmen gehen oft davon aus, dass sie keine technischen Schulden mehr haben, wenn sie die neueste Version des coolsten Frameworks einsetzen oder von Monolithen auf Microservices umstellen, aber die Realität sieht ganz anders aus. Vieles hängt von der technischen Infrastruktur des Unternehmens ab. In den meisten Unternehmen gibt es eine erhebliche Abhängigkeit zwischen den Systemen, die das Problem der technischen Schulden noch verstärkt und die Zuverlässigkeit der Plattformen beeinträchtigt.
- Technische Schulden sind nicht gut.
Richtig eingesetzt können technische Schulden die Produktentwicklung beschleunigen. Wichtig ist jedoch, dass die technischen Schulden so schnell wie möglich nach der MVP-Phase angegangen werden, um einen besseren ROI zu erzielen. Anfänglich angehäufte Schulden können durch Geschwindigkeitsvorteile bei der Nachbesserung und durch umsichtige Konstruktionsentscheidungen ausgeglichen werden.
- Technische Schulden betreffen nur die Software-Engineering-Community.
Unternehmen gehen oft davon aus, dass die Auswirkungen von technischen Schulden nur auf die Softwareentwickler beschränkt sind und sie Umgehungsmöglichkeiten erstellen können, um das Problem zu lösen. Wenn beispielsweise die Reifen eines Lkw anfangen zu verschleißen, beginnen auch andere Teile wie Halterungen und Federungen parallel darunter zu leiden. Ähnlich verhält es sich mit den technischen Schulden, die sich auf die technischen Teams auswirken: Die Ermüdung setzt auch bei den Support-Organisationen und den Produkteigentümern ein, sodass die mit der Systembelastbarkeit verbundenen Probleme insgesamt zunehmen.
- Gut umgesetzte DevOps und vorausschauendes Denken bewahrt Unternehmen vor technischen Schulden.
In vielen Situationen werden die Vorteile der DevOps-Einführung durch Abhängigkeits- und Designprobleme zunichte gemacht, da die Software aufgebläht wird. Dadurch werden die Symptome der technischen Schulden beschleunigt und wirken sich sichtbar auf das Produkt aus.
Kurz gesagt: Es lohnt sich für Unternehmen, zu akzeptieren, dass die betroffenen Systeme technische Schulden haben könnten, und Maßnahmen zu ergreifen, um deren Zunahme zu vermeiden.