Wie Sie Ihre technischen Schulden gering halten

Technische Schulden sind einer der wichtigsten Faktoren, die bei der Entwicklung von Software zu berücksichtigen ist. Sie haben nicht nur eine direkte Auswirkung auf die Wartbarkeit des Produkts, sondern sind auch ein Hauptgrund, weshalb in der Entwicklung Meilensteine nicht rechtzeitig erreicht werden. Ist die Software am Ende mangelhaft, können sie sogar zu Gewährleistungsklagen und Preisminderungen führen. toscom kann Ihnen dabei helfen, die technischen Schulden Ihrer Projekte möglichst gering zu halten.

Doch was sind technische Schulden eigentlich?

Der Begriff wurde 1992 von dem Programmierer Ward Cunningham eingeführt, der damit verdeutlichen wollte, wie wichtig die regelmäßige Korrektur am Code ist. Ein ordentlicher Code ist aufwändig, eine schnelle Problemlösung führt dagegen zu einem fehlerhaften Produkt, das demnach durch Schulden erkauft wird. Was bei der Entwicklung gespart wird, kann also später richtig viel Geld kosten.

Kurz gesagt, versteht man darunter also den zusätzlichen Aufwand, den man für Änderungen und Erweiterungen bei einer schlecht geschriebenen Software im Vergleich zu einer gut geschriebenen Software einplanen muss. Unter technischen Schulden bezeichnen demnach die Folgen, die bewusste oder nachlässige Fehler und Schwächen aufgrund von Zeit- oder Budgetgründen nach sich ziehen.

Ward Cunningham
(Foto: WikiCommonmedia Carrigg Photography)

Dabei wird unterschieden, ob die Schulen rücksichtslos oder umsichtig eingegangen werden.

  • bewusst/rücksichtlos: Sie entstehen etwa durch Zeit- oder Budgetmangel, durch vernachlässigtes Refactoring (regelmäßige Korrektur am Code) – „Wir haben keine Zeit für Design“
  • bewusst/umsichtig: Als Beispiel dient die Priorisierung der schnellen Lieferung der Software bei gleichzeitiger Verpflichtung zum Refactoring – „Wir müssen schnell liefern und kümmern uns später um die Konsequenzen“
  • versehentlich/rücksichtslos: Solche Schulden entstehen durch unzureichende Qualifikationen, ungenügende Dokumentation, Overengineering, Code-Erosion etc. – „Was ist eine Schichtenarchitektur?“
  • versehentlich/umsichtig: Fehler werden gemacht, aber konstantes Refactoring sorgt dafür, dass historisch gewachsene Programmierfehler und -mängel behoben werden und aus den Fehlern gelernt wird – „Jetzt wissen wir, was wir hätten tun sollen“
Die Ursachen für technische Schulden können also sehr vielseitig sein:
  • Mangelndes Qualitätsmanagement: es fehlen ausreichende Kontroll-, Mess- und Testmechanismen (automatisierte Modultests, Regressionstests), sodass fortlaufende Schulden aufgebaut werden
  • Wirtschaftlicher Druck von Seiten des Auftraggebers oder durch Konkurrenzdruck
  • Fehlende Qualifikation der Entwickler
  • Technische oder fachliche Dokumentation ist nicht ausreichend, Refactoring kann nur begrenzt oder gar nicht durchgeführt werden
  • Fehlende Coding Standards oder Code Ownership, 
  • Refactoring wird vernachlässigt
  • Parallele Entwicklungsschritte, die nicht zusammengeführt werden, werden nicht aufeinander abgestimmt
  • Code ist zu komplex, zu große und komplexe Codes und Designs werden nicht korrigiert
  • Entwicklungsabläufe sind unstrukturiert, die Entwicklung beginnt, bevor ein Design oder Abläufe definiert sind
  • Ausgelagerte Entwicklungsschritte führen zu Fehlern im Code
  • Kurzfristige Änderungen, die nicht getestet werden
  • Fehlende technische Infrastruktur wie Versionsverwaltung, Datensicherung etc.
  • Fehlerhafte Definition oder Umsetzung der Architektur durch enge Kopplung, zyklische Abhängigkeiten der Komponenten oder das Fehlen geeigneter Schnittstellen und Fassaden

toscom hilft seinen Kunden dabei, technische Schulden zu vermeiden und zu beheben. Dabei geht es allerdings weniger um jene technische Schulden, die sich in der eigentlichen Code Basis befinden, sondern um dem Betrieb drumherum wie etwa Deployment beziehungsweise generell die Infrastruktur. 

Maßnahmen zur Vermeidung von technischen Schulden durch toscom sind:

  • Solide Planung, die auch Skalierbarkeit berücksichtig und
  • das Verstehen, dass jede Infrastruktur mit neuen Anforderungen mitwachsen muss
  • Einhaltung von Konventionen,
  • Best Practices und
  • Einhaltung von Prozessen, um eine Basis für Zukunftssicherheit zu schaffen

Dabei wird so vorgegangen, dass jeder Stakeholder seine Prioritäten vertritt, sodass gemeinsam die beste Lösung erarbeitet werden kann. Dabei bringen die Mitarbeiter von toscom ihr Expertenwissen und ihre Erfahrung aus dem Betrieb ein. Hier ist uns unsere „Unabhängigkeit vor One-size-fits-all“-Überzeugung wichtig: Wir wählen aus einer ganzen „Kiste“ an möglichen Lösungen und Werkzeugen das passende, toscom ist nicht auf bestimmte Technologien und Anbieter festgelegt.

HABEN SIE FRAGEN? Möchten Sie einen unverbindlichen Termin?

Datenschutz
Wir, toscom GmbH (Firmensitz: Österreich), verarbeiten zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in unserer Datenschutzerklärung.
Datenschutz
Wir, toscom GmbH (Firmensitz: Österreich), verarbeiten zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in unserer Datenschutzerklärung.