Wer technische Schulden anhäuft, steht oft bald vor einem Schuldenberg, erklärt Nadine Riederer, CEO von Avision.

Those who accumulate technical debt often soon face a mountain of debt, explains Nadine Riederer, CEO of Avision.

Technische Schulden wachsen oft unbemerkt, denn Softwareentwicklung und Zeitdruck gehen naturgemäss Hand in Hand. Wenn der Kunde, der Wettbewerb oder die finanzielle Situation mit der Stoppuhr hinter dem Entwicklerteam stehen, wird schnell in kurzfristige Lösungen mit kurzer Time-to-Market investiert, anstatt in den langfristigen Aufbau robuster Anwendungen. Die Folge sind technische Schulden, die als strategisches Konzept durchaus ihre Berechtigung haben – etwa um neue Funktionen vor der Konkurrenz auf den Markt zu bringen.

Was auf den ersten Blick unternehmerisch sinnvoll erscheint, wird jedoch erfahrungsgemäß durch mangelnden Willen oder Unwissenheit bei der Rückzahlung der aufgelaufenen Schulden ad absurdum geführt. Das Problem: Während Fremdkapital durch Zins- und Tilgungszahlungen getilgt wird, verschließen viele Unternehmen die Augen vor der Tilgung ihrer technischen Schulden.

Die direkten Folgen sind unter anderem eine verlangsamte Entwicklungsgeschwindigkeit, instabile Anwendungen, wochenlanges Debugging oder schlicht unlesbares Code-Chaos. Wer an dieser Stelle seine Projekte einfach weiterlaufen lässt, nach dem Motto „Es ist ja noch gut gegangen“, weil es ja irgendwie funktioniert, zahlt am Ende des Tages einen hohen Preis. Zum einen stellt diese Praxis ein großes Sicherheitsrisiko dar, wie viele Unternehmen beim Log4J-Desaster erfahren mussten.

Unübersichtlicher und kurzfristig zusammengeschusterter Code ist keine gute Grundlage für eine dringende Fehlerbehebung und führt schnell zu sehr langen Tagen und Nächten in den IT-Abteilungen. Zum anderen führen unkontrollierte und nicht getilgte technische Schulden zu einem noch gravierenderen Problem: Bauen Entwicklerinnen und Entwickler weitere Behelfslösungen um den unverständlichen Code herum, anstatt bestehende Projekte von Grund auf zu bereinigen, steigt die Komplexität immer weiter an – die technischen Schulden werden nun mit Zins und Zinseszins verzinst.

Wie kann diese Spirale beendet werden? Technische Schulden sind das Ergebnis von Managemententscheidungen, dort zu investieren, wo gerade Bedarf besteht. Ist die Anwendung erst einmal kurzfristig fertiggestellt und auf dem Markt, beginnt aber in den meisten Fällen das große Vergessen – an dieser Stelle benötigen wir dringend ein Umdenken. Entwicklerinnen und Entwickler brauchen im Nachgang das Budget und die Zeit, um die Projekte aufzuräumen, lesbar zu machen, Dokumentationen zu pflegen und die Technologie von kurz- auf langfristig zu heben. Je länger diese Schritte hinausgezögert werden, desto umfangreicher und teurer werden sie.

Unternehmen brauchen aus diesem Grund das Äquivalent einer Clean Desk Policy für ihre Projekte, anstatt einmal erfolgreich ausgerollten Code stiefmütterlich zu behandeln. In der Praxis heißt das: Investiert Zeit, investiert Geld. Räumt Code auf und baut technische Schulden ab, anstatt sich auf kurzfristige Lösungen zu konzentrieren. Denn genau wie bei einem Bankkredit lösen sich Schulden nicht von selbst in Luft auf, sondern nur ein aktives Tilgen führt zu einer Verbesserung der Lage – und damit zu lesbarem Code, einfach erweiterbaren Anwendungen und mehr Sicherheit.

Technical debt often grows unnoticed because software development and time pressure naturally go hand in hand. When the customer, the competition or the financial situation are behind the development team with the stopwatch, investments are quickly made in short-term solutions with a short time-to-market instead of building robust applications for the long term. The result is technical debt, which has its justification as a strategic concept – for example, to bring new functions to market before the competition.

However, experience has shown that what appears to make good business sense at first glance is rendered absurd by a lack of will or ignorance when it comes to repaying the accumulated debt. The problem: While borrowed capital is repaid through interest and principal payments, many companies turn a blind eye to the repayment of their technical debts.

The direct consequences include slower development speeds, unstable applications, weeks of debugging, or simply unreadable code chaos. At this point, those who simply let their projects continue to run, according to the motto „It still went well“ because it somehow works, pay a high price at the end of the day. For one thing, this practice poses a major security risk, as many companies experienced with the Log4J disaster.

Unclear code cobbled together at short notice is not a good basis for urgent troubleshooting and quickly leads to very long days and nights in IT departments. On the other hand, uncontrolled and unredeemed technical debt leads to an even more serious problem: If developers build further makeshift solutions around the incomprehensible code instead of cleaning up existing projects from scratch, the complexity keeps increasing – the technical debt now accrues interest with compound interest.

How can this spiral be ended? Technical debt is the result of management decisions to invest where there is a need at the moment. Once the application has been completed in the short term and is on the market, however, in most cases the big forgetting begins – this is where we urgently need a rethink. Developers need the budget and time downstream to clean up the projects, make them readable, maintain documentation, and lift the technology from short- to long-term. The longer these steps are delayed, the more extensive and expensive they become.

For this reason, companies need the equivalent of a clean desk policy for their projects, rather than stepmothering code once it has been successfully rolled out. In practice, this means: invest time, invest money. Clean up code and reduce technical debt instead of focusing on short-term solutions. Because just like a bank loan, debt doesn’t disappear into thin air by itself; only active repayment leads to an improvement in the situation – and thus to readable code, easily extensible applications and more security.

Von Jakob Jung

Dr. Jakob Jung ist Chefredakteur Security Storage und Channel Germany. Er ist seit mehr als 20 Jahren im IT-Journalismus tätig. Zu seinen beruflichen Stationen gehören Computer Reseller News, Heise Resale, Informationweek, Techtarget (Storage und Datacenter) sowie ChannelBiz. Darüber hinaus ist er für zahlreiche IT-Publikationen freiberuflich tätig, darunter Computerwoche, Channelpartner, IT-Business, Storage-Insider und ZDnet. Seine Themenschwerpunkte sind Channel, Storage, Security, Datacenter, ERP und CRM. Dr. Jakob Jung is Editor-in-Chief of Security Storage and Channel Germany. He has been working in IT journalism for more than 20 years. His career includes Computer Reseller News, Heise Resale, Informationweek, Techtarget (storage and data center) and ChannelBiz. He also freelances for numerous IT publications, including Computerwoche, Channelpartner, IT-Business, Storage-Insider and ZDnet. His main topics are channel, storage, security, data center, ERP and CRM. Kontakt – Contact via Mail: jakob.jung@security-storage-und-channel-germany.de

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Hinweis von Real Cookie Banner