Das indirekte Problem der technischen Verschuldung

Brandon Lewis
25.05.2021 12:27:23

Das indirekte Problem der technischen Verschuldung

Einfach ausgedrückt bedeuten technische Schulden hochkomplizierten Code, der für Softwareentwickler schwierig und zeitaufwändig zu verarbeiten ist. Die hohe Komplexität macht es auch wahrscheinlicher, dass ein Entwickler einen Fehler macht. Genau wie bei finanziellen Schulden fallen für die technischen Schulden eines Unternehmens Zinszahlungen an - nämlich längeres Time-to-Market für Features, peinliche und teure Bugs, etc.

Laut einer Umfrage von McKinsey schätzen CIOs, dass die technischen Schulden auf 20-40 Prozent ihres gesamten technischen Vermögens ausmachen. Erstaunlicherweise haben ganze 65 Prozent der Unternehmen keinen Prozess, um ihre technischen Schulden zu reduzieren. Werfen wir also einen Blick darauf, was die Unternehmensführung bei der Bewältigung technischer Schulden beachten sollte und welche KPIs Entwickler verwenden können, um ihren eigenen Fortschritt zu verfolgen.

Allgemeine Strategie zur Beseitigung Ihrer technischen Schulden

Technische Schulden sind ein Problem, das die gesamte Organisation durch ihre Auswirkungen auf den Software-Wertschöpfungsprozess betrifft. Als solches ist es ein Anliegen, das die Aufmerksamkeit von mehr als nur dem Entwicklerteam erfordert. Hier sind einige wichtige Prinzipien, die Sie bei der Ausarbeitung Ihrer Strategie zur Reduzierung technischer Schulden beachten sollten.

  • Technische Schulden sind nicht nur ein IT-Problem. Software ist ein integraler Bestandteil des modernen Unternehmens und dient oft, metaphorisch, als Profitmotor vieler Firmen. Somit wirken sich technische Schulden auf das ganze Unternehmen aus, indem sie die Entwicklung von Features verlangsamen, die Betriebskosten erhöhen und zu Fehlern führen. Es ist wichtig, technische Schulden nicht nur als ein Problem der IT-Abteilung zu betrachten, sondern ihre Rolle für das gesamte Unternehmen zu erkennen.
  • Transparenz ist notwendig. Die Kosten der technischen Schulden müssen sowohl auf der System- als auch auf der Anwendungsebene verstanden werden, bevor eine fundierte Strategie erstellt werden kann. Glücklicherweise visualisiert die Seerene-Plattform nicht nur Bereiche mit hoher technischer Schuld und ermöglicht Drill-Downs direkt in den Code, sondern bietet auch einen Digital Boardroom mit Echtzeit-KPIs zur Fortschrittsverfolgung bei der Softwareentwicklung und der Reduzierung der technischen Schuld.
  • Richten Sie die IT- und Geschäftsabteilungen durch einen zentralisierten Entscheidungsprozess aus. Schaffen Sie einen gemeinsamen Ansatz für die Entscheidungsfindung, damit IT und Business zusammenarbeiten können. Ändern Sie die Anreize für Ihre Teams, um den Prozess zu intensivieren und damit sie mit Ihrer neuen Strategie für technische Schulden in Einklang arbeiten.
  • Investieren Sie in die Bewältigung technischer Schulden. Nachdem Sie sich auf eine Strategie geeinigt haben, stellen Sie Ressourcen zur Verfügung, um das Problem anzugehen. In einem Wasserfall-Ansatz kann dies bedeuten, dass eine Gruppe von Software-Ingenieuren aufgestellt wird, die sich um die Reduzierung der technischen Schulden kümmert. Bei einem agilen Ansatz kann ein Unternehmen ein paar Entwickler innerhalb eines Teams für diese Aufgabe abstellen.
  • Der Abbau technischer Schuld ist ein fortlaufender Prozess. Die beste Lösung ist oft, einen Teil des IT-Budgets für die Bekämpfung technischer Schulden zu reservieren. Dadurch wird verhindert, dass sich diese ansammeln, insbesondere bei größeren Projekten, kann es leicht passieren, dass man die Prioritäten aus den Augen verliert. Die andere Option - die schnelle Umsetzung von riesigen Projekten zur Reduzierung der technischen Schulden - ist wahrscheinlich nicht die richtige Lösung. Sie beeinträchtigt die Wettbewerbsfähigkeit des Unternehmens während des Prozesses und kann zudem ein hohes Ausführungsrisiko darstellen. 
  • Ziehen Sie außerdem einen Greenfield-Ansatz in Betracht. Wenn sich die technischen Schulden innerhalb einer Anwendung oder eines Portfolios so weit angehäuft haben, dass sie mittlerweile einen Großteil des Codes ausmachen, kann es eine Überlegung wert sein, den ungesunden Code zugunsten von sauberem, neuem Code einzustampfen.

Anwendung der agilen Methodik zur Reduzierung der technischen Schulden

Die traditionelle Wasserfall-Methode der Software-Entwicklung ermöglicht es, dass Defekte gelegentlich durchrutschen, was, da das Testen am Ende durchgeführt wurde, einen Anstieg der technischen Schulden bedeutet, da die Entwickler Teile des Codes neu erstellen müssen.

Die iterative Natur der agilen Methodik mit ihrer Gewichtung auf automatischem Testen ist jedoch viel geeigneter, um Ihre technische Schuldenlast zu reduzieren. Indem Sie am Ende jedes Sprints testen, können Sie sicherstellen, dass Ihre technischen Schulden, Bugs und Defekte unter im Rahmen bleiben. 

Metriken als Werkzeug gegen technische Schulden

Wie oben erwähnt, sind Metriken ein wichtiges Werkzeug, um Ihre technischen Schulden zu messen und zu bekämpfen. Im Folgenden finden Sie einige KPIs, die Ihnen die Seerene-Plattform zur Verfügung stellen kann:

  • Effort in Technical Debt / Aufwand in technischer Verschuldung: Dieser KPI misst, wie viel Zeit Ihre Entwickler mit der Arbeit in technischer Verschuldung verbringen. Dies zeigt die Ineffizienzen auf, die durch Investitionen in den Schuldenabbau verhindert werden könnten.
  • Code Coverage / Code-Abdeckung: Diese Kennzahl misst, wie viel Prozent des Codes getestet wurde. Solange sie bei mindestens 80-90 % liegt, wird sie von den meisten Software-Entwicklungsteams als gut angesehen. Fällt sie unter 80 %, bedeutet dies, dass mehr Ressourcen für die testgetriebene Entwicklung eingesetzt werden müssen.
  • Technical Debt: Die Menge an komplexem und redundantem Code in Ihrer Software.
  • Code mit häufigem Defect Fixing: Messen Sie den Zustand Ihres Codes und identifizieren Sie Bereiche Ihres Codes, in denen häufige Fehlerbehebungen notwendig sind.
  • Technical Debt Added: Verfolgen Sie den Aufbau von technischen Schulden in Ihrem Code, um positive Trends zur Schuldenreduzierung sicherzustellen.
  • Bug BurnDown Chart: Das Bug Burndown Chart wird von Entwickler- und Qualitätssicherungs-Teams verwendet, um den Fortschritt bei der Fertigstellung von Fehlersätzen zu überwachen. Es ermöglicht eine Abschätzung des Fertigstellungsdatums und gibt Ihnen damit ein Verständnis dafür, wie viel zusätzliche Zeit und Aufwand die Entwickler aufwenden müssen, um die Software zu liefern.

Abschließende Bemerkungen

Technische Schulden sind, wie finanzielle Schulden, ein fast unvermeidbarer Aspekt der Geschäftstätigkeit in der modernen, digitalisierten Wirtschaft. Aber ähnlich wie finanzielle Schulden verursachen sie Kosten und sollten sowohl auf der Ebene der Unternehmensleitung als auch auf der Ebene der Entwickler verwaltet werden. Der Schlüssel dazu ist, dass sich die Unternehmensleitung mit der IT-Abteilung auf eine kohärente, nachhaltige Strategie einigt und dass die Entwickler diese Strategie dann mit Hilfe von Echtzeit-KPIs umsetzen.

You May Also Like

These Stories on News