So können Sie technische Schulden minimieren und reduzieren

Mit Best Practices und der Entschlossenheit, die technischen Schulden nicht anwachsen zu lassen, können Entwickler eine solide Geschäftsgrundlage schaffen, insbesondere wenn Personal und Geld knapp sind. [...]

(c) pixabay.com

Technische Schulden können geringfügig sein, z. B. kleinere Code-Optimierungen zur Verbesserung der Leistung, der Lesbarkeit des Codes oder anderer Supportfaktoren. Große technische Schulden können veraltete APIs, Anwendungen ohne CI/CD („Continuous Integration and Continuous Delivery“), Dienste mit wenig automatisierten Tests oder Altsysteme sein, die den Betrieb beeinträchtigen.

Unabhängig von der Quelle, Größe und Auswirkung ist es sicher, dass IT-Teams ihre technischen Schulden messen, verwalten und reduzieren müssen. Ebenso wichtig ist es, Maßnahmen zu ergreifen und Best Practices einzusetzen, die helfen, zusätzliche technische Schulden zu vermeiden oder zu begrenzen.

Ruby Raley, Vizepräsidentin bei Axway, ist der Meinung, dass der Abbau und die Bewältigung technischer Schulden heute aufgrund des Fachkräftemangels und der finanziellen Bedingungen noch wichtiger sind. Sie sagt: „Die Notwendigkeit, technische Schulden zu reduzieren, wird für CIOs in den Vordergrund rücken. Aufgrund der Inflation und der Personalprobleme, die durch die große Resignation und das Burnout der Mitarbeiter entstanden sind, müssen sie betriebliche Effizienzsteigerungen finden, um neue Projekte zu finanzieren. Einer dieser Schritte wird die technische Konsolidierung sein, um den Wartungsaufwand zu reduzieren.

Dem kann ich nur zustimmen. Auch wenn es immer eine Herausforderung ist, müssen Entwicklungsteams genügend Zeit aufwenden, um technische Schulden zu reduzieren und auch Schritte unternehmen, um die Einführung neuer Fehlerquellen zu minimieren. Agile Entwicklungsteams und Organisationen, die Devops verfolgen, sollten diese wichtigen Praktiken überdenken und berücksichtigen.

Praktiken zur Vermeidung technischer Schulden in der Entwicklung

John Kodumal, CTO und Mitbegründer von LaunchDarkly, sagt: „Technische Schulden sind bei der Softwareentwicklung unvermeidlich, aber man kann sie bekämpfen, indem man proaktiv vorgeht: Richtlinien, Konventionen und Prozesse einführt, um die Kosten für den Schuldenabbau im Laufe der Zeit zu amortisieren. Das ist viel gesünder, als andere Arbeiten zu stoppen und zu versuchen, sich aus einem Berg von Schulden herauszuwinden.“

Um die Wahrscheinlichkeit der Einführung neuer technischer Schulden zu verringern, sollten Sie die folgenden Best Practices berücksichtigen:

  • Standardisieren Sie Benennungskonventionen, Dokumentationsanforderungen und Referenzdiagramme.
  • Setzen Sie CI/CD und Testautomatisierung ein, um die Veröffentlichungsfrequenz zu erhöhen und die Qualität zu verbessern.
  • Entwickeln Sie Code-Refactoring als Fähigkeiten und Muster, die von mehr Entwicklern praktiziert werden.
  • Definieren Sie die Architektur, damit die Entwickler wissen, wo sie Daten, Logik und Erfahrungen coden sollen.
  • Führen Sie regelmäßige Code-Reviews durch, um Entwicklern zu helfen, ihre Programmierpraktiken zu verbessern.

Ravi Duddukuru, Chief Product Officer bei DevGraph, ist der Meinung, dass Software Development Manager persönlich mit den Entwicklern zusammenarbeiten müssen, um Best Practices zu verinnerlichen. Er sagt: „Entwickler-Coaching ist der Schlüssel zum Abbau technischer Schulden. Wenn Entwickler dieselben Fehler wiederholen, baut die Qualitätssicherung jedes Mal Umgehungslösungen. Der schlechte Code bleibt und wächst, während der Entwickler neuen Code erstellt.“

Er gibt folgenden Rat: „Ein guter Manager analysiert den Code des Entwicklers, um Muster zu erkennen, und arbeitet mit ihm zusammen, um sie zu ändern, um diesen Code und den gesamten zukünftigen Code zu verbessern und so die technischen Schulden deutlich zu reduzieren.“

Verringerung der Neuverschuldung durch bessere Planung und Schätzung

Auf meine Frage an Andrew Amann, CEO von NineTwoThree Digital Ventures, wie sich technische Schulden reduzieren und minimieren lassen, antwortete er: „Die erste und wichtigste Maßnahme ist die richtige Planung und Schätzung. Zweitens müssen die Verfahren standardisiert werden, um den Zeitaufwand für die Organisation zu begrenzen und mehr Zeit für die Ausführung bereitstellen zu können.“

Die meisten Entwicklungsteams wünschen sich mehr Zeit für die Planung, aber den Produktverantwortlichen, Entwicklungsmanagern oder Führungskräften ist vielleicht nicht klar, wie die Planung dazu beiträgt, technische Schulden zu reduzieren und zu minimieren. Wenn Entwickler Zeit zum Planen haben, besprechen sie oft die Architektur und die Implementierung, und die Diskussionen neigen dazu, sich in technischen Details zu verlieren. Product Owner und Business Stakeholder verstehen diese technischen Diskussionen möglicherweise nicht oder sind nicht daran interessiert.

Wenn Sie also mehr Zeit für die Planung haben möchten, ist es wichtig, dass Sie den Führungskräften ein Feedback zu Ihren Planungsbemühungen geben. Hier sind meine Vorschläge:

  • Planen Sie gemeinsame Brainstorming-Sitzungen mit Product Ownern und Business Stakeholdern. Nutzen Sie diese Sitzungen, um mehrere Implementierungsoptionen zu prüfen und Kompromisse zu erörtern, z. B. welche Optionen die technischen Schulden reduzieren und welche zu Wartungs-, Support- oder anderen Schulden führen könnten, die künftige Nacharbeiten erfordern.
  • Bei der Schätzung von agilen User Stories mit Story Points sollten die Entwickler die Komplexität und den Aufwand in die Schätzung einbeziehen. Für Stories, die neue technische Schulden verursachen, sollten höhere Schätzungen angesetzt werden, um die zusätzliche Komplexität widerzuspiegeln, die erforderlich ist, um sie später zu beheben.
  • Identifizieren Sie Ansätze zur Messung und Verwaltung der technischen Schulden, damit sie nicht nur ein nachträglicher Gedanke sind. Einige Unternehmen kennzeichnen User Stories, Code und andere Artefakte mit technischen Schulden und berechnen dann eine Kennzahl für technische Schulden. Andere legen agile Prinzipien und Governance-Modelle fest, so dass agile Product Owner ihre Prioritäten abwägen, um Schulden zu reduzieren.

Durch die Definition eines Prozesses und die Festlegung von Metriken können Entwicklungsteams die Geschäftssponsoren leichter über die Risiken aufklären, die entstehen, wenn technische Schulden nicht angegangen werden.

Optimierung von Technologien zur Reduzierung von Architekturschulden

Die dreistufigen Web-Architekturen und SQL-Datenbanken des letzten Jahrzehnts haben die Entwicklungsteams in eine enge Struktur gezwängt, die für viele Anwendungen nicht gut geeignet war. Heute haben Sie die Wahl zwischen verschiedenen Cloud-Datenbanken, darunter SQL-, Key-Value-, Columnar-, Graph- oder andere Datenbankarchitekturen. Für Microservices gibt es mehrere Bereitstellungsoptionen, einschließlich serverloser Architekturen, und Entwickler können Benutzererlebnisse in No-Code, Low-Code oder einem der verschiedenen JavaScript-Frameworks erstellen.

Die Auswahl von zu vielen Architekturen und Entwicklungsmustern kann ein Rezept für eine Katastrophe sein, da ihre Pflege erhebliche Entwicklungskenntnisse und Kosten erfordert. Die Beschränkung der Entwicklungsteams auf eine Einheitsarchitektur zwingt sie jedoch häufig dazu, Umgehungslösungen zu entwickeln oder Kompromisse in Bezug auf Benutzerfreundlichkeit, Leistung, Skalierbarkeit oder Sicherheit einzugehen.

Die Auswahl optimaler Technologien erfordert von den Entwicklungsteams auch ein Brainstorming ihrer Implementierungen. Was ist ein optimales Datenmodell? Welchen Grad an Granularität sollten Entwickler in ihre Microservices einbauen? Wie viele Testszenarien sind erforderlich, um die Implementierung zu validieren? Wann bietet eine angepasste Benutzererfahrung einen ausreichenden Geschäftswert im Vergleich zu No-Code- und Low-Code-Implementierungsoptionen?

Wenn Teams diese Designüberlegungen nicht berücksichtigen, ist die Wahrscheinlichkeit größer, dass sie technische Schulden einführen. Um die Risiken neuer technischer Schulden zu minimieren, muss ausreichend Zeit in die Planung, die Auswahl geeigneter Architekturen, die Implementierung von Devops-Automatisierungen und die Weiterentwicklung von Entwicklungsstandards investiert werden.

*Isaac Sacolick ist Präsident von StarCIO und der Autor des Amazon-Bestsellers Driving Digital: The Leader’s Guide to Business Transformation through Technology, der viele Praktiken wie agile Planung, Devops und Data Science behandelt, die für erfolgreiche digitale Transformationsprogramme entscheidend sind. Sacolick ist ein anerkannter Top-Social-CIO und Influencer im Bereich der digitalen Transformation. Er hat mehr als 700 Artikel auf InfoWorld.com, CIO.com, seinem Blog Social, Agile, and Transformation und anderen Websites veröffentlicht.


Mehr Artikel

Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien. (c) WeinwurmFotografie
Interview

IT-Berufe im Fokus: Innovative Lösungen gegen den Fachkräftemangel

Angesichts des anhaltenden IT-Fachkräftemangels ist schnelles Handeln gefordert. Die Fachgruppe IT der UBIT Wien setzt in einer Kampagne genau hier an: Mit einem breiten Ansatz soll das vielfältige Berufsbild attraktiver gemacht und innovative Ausbildungswege aufgezeigt werden. IT WELT.at hat dazu mit Rüdiger Linhart, Vorsitzender der Berufsgruppe IT der Fachgruppe UBIT Wien, ein Interview geführt. […]

News

ISO/IEC 27001 erhöht Informationssicherheit bei 81 Prozent der zertifizierten Unternehmen

Eine Umfrage unter 200 Personen verschiedener Branchen und Unternehmensgrößen in Österreich hat erstmals abgefragt, inwiefern der internationale Standard für Informationssicherheits-Managementsysteme (ISO/IEC 27001) bei der Bewältigung von Security-Problemen in der Praxis unterstützt. Ergebnis: Rund 81 Prozent der zertifizierten Unternehmen gaben an, dass sich durch die ISO/IEC 27001 die Informationssicherheit in ihrem Unternehmen erhöht hat. […]

News

Public Key Infrastructure: Best Practices für einen erfolgreichen Zertifikats-Widerruf

Um die Sicherheit ihrer Public Key Infrastructure (PKI) aufrecht zu erhalten, müssen PKI-Teams, sobald bei einer Zertifizierungsstelle eine Sicherheitslücke entdeckt worden ist, sämtliche betroffenen Zertifikate widerrufen. Ein wichtiger Vorgang, der zwar nicht regelmäßig, aber doch so häufig auftritt, dass es sich lohnt, PKI-Teams einige Best Practices für einen effektiven und effizienten Zertifikatswiderruf an die Hand zu geben. […]

News

UBIT Security-Talk: Cyberkriminalität wächst unaufhaltsam

Jedes Unternehmen, das IT-Systeme nutzt, ist potenziell gefährdet Opfer von Cyberkriminalität zu werden, denn die Bedrohung und die Anzahl der Hackerangriffe in Österreich nimmt stetig zu. Die Experts Group IT-Security der Wirtschaftskammer Salzburg lädt am 11. November 2024 zum „UBIT Security-Talk Cyber Defense“ ein, um Unternehmen in Salzburg zu unterstützen, sich besser gegen diese Bedrohungen zu wappnen. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*