• Martin Hattemer

Technische Schulden – können Sie sich das wirklich leisten?

Mit diesen Tipps kommen Sie raus aus der Schuldenfalle!


Schulden im herkömmlichen Sinn sind eine Last. Zahlt man sie nicht zurück, werden sie durch Zinses-Zins immer mehr und können erdrücken. Das ist bei technischen Schulden nicht viel anders: Geht man die Probleme nicht rechtzeitig an, häufen sich die technischen Schulden auf ein unüber-schaubares Maß und gefährden im schlimmsten Fall die Produktivität im Unternehmen.


Doch was sind eigentlich technische Schulden? Wie entstehen sie? Und wie können sie vermieden werden?

Dieser Beitrag gibt Ihnen einen Überblick und zeigt Ihnen Wege raus aus der Schuldenfalle.


Was sind technische Schulden?

Die Metapher technische Schulden geht auf den führenden Software-entwickler Ward Cunningham zurück. So spricht man von technischen Schulden in der IT, wenn bewusst oder versehentlich Qualitäts- und Designprinzipien in der Softwareentwicklung nicht eingehalten werden. Die Ursachen technischer Schulden sind vielseitig. Die Auswirkungen können weitreichende Folgen haben, die sich im Laufe der Zeit summieren und aufstauen.



Diese Folgen zeigen sich oft zeitversetzt. Sie können jedoch im weiteren Lebenszyklus, z.B. in der Wartung oder Weiterentwicklung der Software, zu erheblichen Risiken und ungeahnten Kostentreibern werden. Analog realer Geldschulden müssen diese beglichen werden. Tun Sie dies nicht zeitnah, droht Ihnen eine Situation, in der die technischen Schulden Ihr Handeln vorgeben.

Technische Schulden entstehen unweigerlich; kein Vorgehen ist perfekt. Es werden vier typische Szenarien unterschieden, in denen technische Schulden entstehen.


rücksichtslos

umsichtig

bewusst

Die Zeit drängt"

​„Es geht nicht anders"

​versehentlich

​ „Denn sie wissen nicht, was sie tun"

Das Kind ist in den Brunnen gefallen"

Szenario 1:

„Die Zeit drängt“ (bewusst + rücksichtslos)

Softwareentwickler stehen oft unter Zeitdruck. Aus Bequemlichkeit oder mangelnder Kommunikation wird die „quick and dirty“ Umsetzung einer nachhaltigeren Variante vorgezogen. Geplantes Refactoring wird einfach übersprungen und auf eine saubere Dokumentation verzichtet.

Szenario 2:

„Denn sie wissen nicht, was sie tun“ (versehentlich + rücksichtslos)

Der IT-Fachkräfte-Markt ist leergefegt. Junioren werden oftmals mit komplexen Aufgaben und hohen Erwartungen konfrontiert.

Aus Unwissenheit können Fehler oder ungünstige Umsetzungen entstehen. Technische Schulden auf dieser Basis sind meist das Resultat fehlender Führung von Junioren aber auch mangelnder Kommunikation erfahrener Entwickler untereinander.

Szenario 3:

„Es geht nicht anders“ (bewusst + umsichtig)

Das Release-Datum rückt näher und es ist absehbar, dass dies nur unter Verzicht von Qualitätsstandards eingehalten werden kann. Dieser Weg wird bewusst gewählt. Die Auseinandersetzung mit den Konsequenzen wird für den Zeitraum nach dem Release eingeplant.

Szenario 4:

„Das Kind ist in den Brunnen gefallen“ (versehentlich + umsichtig)

Die Thematik technischer Schulden ist Ihnen bewusst, doch niemand ist perfekt. Es entstehen also unweigerlich technische Schulden. Sie lernen aus diesen und leiten Schritte ein, dies in Zukunft besser zu machen.

6 konkrete Tipps, wie Sie technische Schulden vermeiden können

Wenn Sie bis hierhin gelesen haben, ist der erste und wohl wichtigste Schritt bereits getan. Sie sind sich dem Thema bewusst. Bauen Sie mit den folgenden Tipps darauf auf.


Tipp 1:

Führen Sie Coding Guidelines ein. Orientieren Sie sich dabei an Prinzipien wie Clean Code und Clean Architecture. Weitere Informationen zum Thema Clean-Code finden Sie hier: Link zum Beitrag Clean-Code-Prinzipien


Tipp 2:

Machen Sie Ihr Team mit dem Thema vertraut. Schaffen Sie Strukturen des gegenseitigen Austauschs und der Fortbildung. Lesen Sie unseren Beitrag zum Thema IT-Mentoring für weitere Informationen: Link zum Beitrag IT-Mentoring


Tipp 3:

Setzen Sie Tools zur statischen Code Analyse ein. Sie durchsuchen den Quellcode und kennzeichnen potenzielle Fehler und verdächtige Code-abschnitte. Das macht nicht nur Ihre technischen Schulden transparent, sondern gibt den Entwicklern auch ein starkes Werkzeug zur Auffindung und Behebung von technischen Schulden an die Hand. Tools wie z.B. Sonarqube bieten hier einen großen Mehrwert.


Tipp 4:

Konfigurieren Sie diese Tools entsprechend Ihrer Coding Guidelines.


Tipp 5:

Bauen Sie die statische Analyse in Ihre CI/CD Pipeline ein. Software entwickelt sich kontinuierlich weiter. Da ist es nur logisch auch deren Qualität kontinuierlich zu bewerten.


Tipp 6:

Definieren Sie Quality Gates und halten Sie diese mittels Ihrer CI/CD Pipeline ein. Das Wissen um Clean Code Prinzipien und deren Anwendung nützt Ihnen nichts, wenn diese keine Anwendung findet. Durch die Umsetzung in der Pipeline erhält der Entwickler ein frühes Feedback zu seinem Code. Die Vorteile, von Beginn an sauber zu programmieren, liegen auf der Hand: Die Wartung und Weiterentwicklung von Systemen werden einfacher, günstiger und planbarer. Die Lebensdauer einer Software erhöht sich.


Das Kind ist in den Brunnen gefallen – was jetzt?

Klar ist, trotz aller Sorgfalt entstehen technische Schulden. Wie gehen Sie nun mit dieser Situation um?

Idealerweise planen Sie kontinuierliche Wartungen ein. Wenn Sie Ihre technischen Schulden unter Kontrolle haben, sind deren Aufwände überschaubar und gut abzuschätzen.

Befinden Sie sich in einer Situation, in der Sie sich erst nachträglich mit dieser Thematik auseinandersetzen, so müssen Sie wohl die technischen Schulden begleichen. Je nach Ausmaß, kommen Sie hier mit einer einzelnen größeren Sondertilgung davon oder Sie müssen diese eben in mehreren Raten begleichen.

Machen Sie Ihre Schulden transparent und erstellen Sie sich einen Schuldenplan. Verwenden Sie zur Reduktion der Schulden die zuvor genannten Tipps. Beachten Sie aber hierbei, die Auslieferung aufgrund zu hoher Qualitätsanforderungen nicht abrupt zu stoppen. Deklarieren Sie die Einhaltung der Qualitätsstandards zunächst als optional. Auf dieser Basis können Sie dann konkrete Schritte zur Erhöhung der Qualität einleiten.




Fangen Sie jetzt an, Ihre technischen Schulden abzubauen!

Von niedrigen technischen Schulden profitieren nicht nur die Entwickler, sondern auch die User und Stakeholder. Daher ist es wichtig, Ihre technischen Schulden nicht anwachsen zu lassen und diese zeitnah in Angriff zu nehmen.

Sie haben Fragen zum Management technischer Schulden?



Gerne unterstützen wir Sie bei der Einführung von Tools und Guidelines, um Ihre technischen Schulden zu vermeiden oder abzubauen. Sprechen Sie uns an!



Dr. Anja Zonaras

Kundenbetreuung M. +49 (0)1525 20 17 570

E. zonaras@tesolva.de


Mehr Informationen finden Sie unter: www.tesolva.de



Folgen Sie uns auch auf LinkedIn und Xing, damit Sie keinen Beitrag mehr verpassen.


Links zum Thema:

https://www.heise.de/developer/artikel/Technische-Schulden-entstehen-einfach-so-3969279.html


https://de.wikipedia.org/wiki/Technische_Schulden


https://www.pressebox.de/pressemitteilung/outsystems/Studie-Technische-Schulden-eine-der-groessten-Bedrohungen-fuer-Innovationen/boxid/1064092

Technische Schulden: Wie entstehen sie & wie sind sie zu vermeiden? - IONOS

Mit Code-Linting Fehler erkennen (adobe.com)

Prinzipien objektorientierten Designs – Wikipedia

19 Ansichten

Aktuelle Beiträge

Alle ansehen