{"id":253769,"date":"2023-03-02T06:48:00","date_gmt":"2023-03-02T03:48:00","guid":{"rendered":"https:\/\/inform.click\/wie-man-technische-schulden-bewertet-verwaltet-und-vermeidet\/"},"modified":"2023-03-02T07:20:00","modified_gmt":"2023-03-02T04:20:00","slug":"wie-man-technische-schulden-bewertet-verwaltet-und-vermeidet","status":"publish","type":"post","link":"https:\/\/inform.click\/de\/wie-man-technische-schulden-bewertet-verwaltet-und-vermeidet\/","title":{"rendered":"Wie man technische Schulden bewertet, verwaltet und vermeidet"},"content":{"rendered":"<p>\n  Wenn technische Schulden wie etwas aus einem Finanzhandbuch klingen, liegt das daran, dass der Begriff mit Finanzen zusammenh\u00e4ngt. Technische Schulden im eigentlichen Sinne h\u00e4ngen jedoch mit der Programmierung zusammen. Es ist die Idee, dass w\u00e4hrend der Entwicklung eines Softwareprojekts bestimmte notwendige Schritte \u00fcbersprungen oder einfach ganz \u00fcber Bord geworfen werden, um eine Deadline einzuhalten.\n<\/p>\n<p>\n  Bei dem Versuch, die perfekte App oder Software zu entwickeln, haben Entwickler oft wenig Zeit \u2013 genau wie jede beliebige Person, die ohnehin eine beliebige Aufgabe ausf\u00fchrt. Daher ist es normalerweise sinnvoll, einen Kompromiss zwischen der Bereitstellung eines perfekten Produkts mit perfektem Code und der Maximierung der Zeit einzugehen.\n<\/p>\n<p>\n  Die Frage ist dann: Gibt es eine Grenze f\u00fcr diese Kompromisse? Gibt es inh\u00e4rente Sch\u00e4den, die sich aus diesem Kompromiss ergeben k\u00f6nnten? Ist der Entwickler auf Dauer wirklich besser dran? In diesem Artikel \u00fcber technische Schulden werde ich versuchen, all diese Fragen zu beantworten.\n<\/p>\n<h5>\n  Was sind technische Schulden?<br \/>\n<\/h5>\n<p>\n  Bei der Definition technischer Schulden m\u00fcssen wir uns auf den Mann beziehen, dem zugeschrieben wird, dass er den Begriff \u00fcberhaupt erfunden hat: Ward Cunningham. Als technische Schulden bezeichnet Cunningham die zus\u00e4tzliche Entwicklungsarbeit, die in die Programmierung eines Codes gesteckt werden muss, um das Defizit, das durch die Programmierung entsteht, innerhalb kurzer Zeit auszugleichen.\n<\/p>\n<p>\n  Um es anschaulicher zu machen, stellen Sie sich vor, Sie h\u00e4tten die Aufgabe, ein unordentliches Zimmer aufzur\u00e4umen, und Sie kommen zu sp\u00e4t zum Unterricht. Um sicherzustellen, dass Sie die Anweisungen ausf\u00fchren und p\u00fcnktlich zum Unterricht erscheinen, machen Sie eine schnelle Reinigung und fegen den gr\u00f6\u00dften Teil des Schmutzes unter die Couch. Die Folge davon ist, dass Sie sich schlie\u00dflich die Zeit nehmen m\u00fcssen, das Durcheinander zu sortieren. Wenn Sie bei der Softwareentwicklung die erforderlichen Schritte \u00fcberspringen und einem einfacheren Weg mit \u201enicht so sauberen&#8220; Codes folgen, wird es sp\u00e4ter in der Zukunft schwieriger, den Code zu bereinigen. In den Softwareprojekt-Dominos treten mehrere Phasen auf, und je l\u00e4nger Sie ein vorhandenes Problem ignorieren, desto l\u00e4nger dauert es, bis es gel\u00f6st ist.\n<\/p>\n<p>\n  Arten von technischen Schulden\n<\/p>\n<p>\n  Technische Schulden sind unterschiedlicher Art, darunter:\n<\/p>\n<h5>\n  Geplante technische Schulden<br \/>\n<\/h5>\n<p>\n  Dies tritt in Situationen auf, in denen Unternehmen sich bewusst daf\u00fcr entscheiden, technische Schulden einzugehen. Wie bereits erw\u00e4hnt, dient dies normalerweise dazu, festgelegte Fristen zu \u00fcbertreffen und ein bestimmtes Ziel zu erreichen. Beim Eingehen geplanter technischer Schulden muss sich die Organisation dar\u00fcber im Klaren sein, was sie bereit ist aufzugeben und was nicht. Sie m\u00fcssen genaue Aufzeichnungen f\u00fchren und bedenken, dass Sie eventuell die Fehler, die Sie am Anfang \u00fcbersprungen haben, zur\u00fcckgeben und korrigieren m\u00fcssen.\n<\/p>\n<h5>\n  Unbeabsichtigte technische Schulden<br \/>\n<\/h5>\n<p>\n  Diese Art der technischen Schuld ist das direkte Gegenteil der ersten. Es entsteht, wenn eine Organisation technische Schulden nicht vorhersieht oder plant. Der Grund daf\u00fcr ist typischerweise ein Zusammenbruch der Kommunikation zwischen den verschiedenen Einheiten in der Organisation oder lausige Arbeitspraktiken zwischen den Einheiten.\n<\/p>\n<h5>\n  Unvermeidbare technische Schulden<br \/>\n<\/h5>\n<p>\n  Dies ist die Art von technischer Schuld, die keine Aktion seitens der Organisation h\u00e4tte verhindern k\u00f6nnen. Angesichts der schnellen Ver\u00e4nderungen in der Technologie ist es beispielsweise sinnvoll, dass einige in der Vergangenheit geschriebene Codes hinter den aktuellen prognostizierten Standards zur\u00fcckbleiben.\n<\/p>\n<p>\n  Diese Art von technischer Schuld kann auch entstehen, wenn \u00c4nderungen angefordert werden, w\u00e4hrend der Code bereits geschrieben wird. Wenn mitten im Design der Software bestimmte \u00c4nderungen vorgenommen werden, k\u00f6nnte dies die Dynamik durcheinander bringen und den alten Code obsolet oder unn\u00f6tig machen.\n<\/p>\n<h3>\n  Ursachen der technischen Schuld<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398b8ae14d.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398b8ae14d.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Einige der Gr\u00fcnde f\u00fcr technische Schulden wurden oben diskutiert, aber ich werde sie nur nacheinander herausgreifen, um sie klarer zu machen.\n<\/p>\n<h5>\n  Eile<br \/>\n<\/h5>\n<p>\n  Die h\u00e4ufigste Ursache f\u00fcr technische Schulden ist Eile. Entwickler haben oft strenge Fristen, von denen einige Fristen f\u00fcr die Einf\u00fchrung bestimmter Software beinhalten. In solchen Situationen ist es oft verst\u00e4ndlich (und zu erwarten), dass der Entwickler auf diesem Weg technische Schulden macht. Diese Art von technischer Schuld ist oft beabsichtigt und kann zu Problemen f\u00fchren, die von Fehlern im Code bis hin zum Auftreten von Spaghetti-Codes reichen k\u00f6nnen.\n<\/p>\n<h5>\n  Versehen\/Fehler<br \/>\n<\/h5>\n<p>\n  Manchmal schreiben Programmierer einfach nur schlechten Code, der schlie\u00dflich zu technischen Schulden f\u00fchrt. Unabh\u00e4ngig davon, ob der schlechte Code durch den Fehler des Programmierers entstanden ist oder nicht, Fakt ist, dass Fehler zu technischen Schulden f\u00fchren und, da sie nicht skalierbar sind, irgendwann behoben werden m\u00fcssen.\n<\/p>\n<h5>\n  Mangelndes Bewusstsein f\u00fcr die Auswirkungen<br \/>\n<\/h5>\n<p>\n  Manchmal entstehen technische Schulden, weil der Programmierer nicht erkennt oder anerkennt, wie sch\u00e4dlich technische Schulden auf lange Sicht sind. Dies kann auf eine legitime Unkenntnis der sch\u00e4dlichen Auswirkungen von Abk\u00fcrzungen w\u00e4hrend des Programmierens zur\u00fcckzuf\u00fchren sein, oder es k\u00f6nnte sich um eine vors\u00e4tzliche Missachtung der Folgen handeln.\n<\/p>\n<h5>\n  Absicht<br \/>\n<\/h5>\n<p>\n  Technische Schulden k\u00f6nnen absichtlich durch absichtliche Handlungen des Programmierers oder der Organisation entstehen.\n<\/p>\n<h5>\n  Mangelnde Modularit\u00e4t<br \/>\n<\/h5>\n<p>\n  Dies liegt vor allem daran, dass ein Code gleichzeitig verschiedene Gesch\u00e4ftslogiken bedienen kann. Diese Art von Situation macht den Umgang mit Software viel schwieriger. Mit jedem Code, den ein Entwickler schreibt, steigt die Wahrscheinlichkeit, dass er Herausforderungen in Bezug auf Modularit\u00e4t begegnet.\n<\/p>\n<h3>\n  Bewertung der technischen Schulden<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398bb9dc83.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398bb9dc83.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Technische Schulden sollten niemals manuell berechnet werden, da dies ziemlich m\u00fchsam w\u00e4re. Es w\u00fcrde bedeuten, dass Sie den Code manuell eingeben m\u00fcssten, um die aktuellen und die m\u00f6glichen zuk\u00fcnftigen Probleme zu ermitteln. Abgesehen davon, wie zeitaufw\u00e4ndig der manuelle Prozess ist, besteht die M\u00f6glichkeit, dass sich die Codes am Ende des manuellen Prozesses ge\u00e4ndert haben.\n<\/p>\n<p>\n  Eine M\u00f6glichkeit, die Bewertung durchzuf\u00fchren, besteht darin, eine statische Analyse mit einigen unterst\u00fctzenden Tools durchzuf\u00fchren. Zu den Tools, die verwendet werden k\u00f6nnen, geh\u00f6ren Coverity, SonarQube, Check Style und Closure Compiler.\n<\/p>\n<p>\n  Grunds\u00e4tzlich gibt es zwei M\u00f6glichkeiten, technische Schulden zu berechnen. Im ersten Ansatz k\u00f6nnte es durch Berechnung des technischen Schuldenverh\u00e4ltnisses nach dem Codeverh\u00e4ltnis ermittelt werden. Hier w\u00fcrde die anf\u00e4ngliche Sch\u00e4tzung oder die Gesamtzeit, die f\u00fcr die Entwicklung der App ben\u00f6tigt wird, verwendet, um die Zeit zu bestimmen, die erforderlich ist, um die technische Schuld zu beheben.\n<\/p>\n<p>\n  Beim zweiten Ansatz k\u00f6nnten Sie direkt auf die Sch\u00e4tzungen der verschiedenen Tools wie SonarQube zur\u00fcckgreifen. Diese wird mit den Listen der technischen Schulden sowie deren Referenzcodes kombiniert. Anhand der Tools k\u00f6nnen Sie eine genaue Sch\u00e4tzung der Zeitdauer erhalten, die f\u00fcr die Behebung des Problems erforderlich ist.\n<\/p>\n<p>\n  Die Bewertung der technischen Schulden gibt Ihnen ein Gef\u00fchl daf\u00fcr, wie viele Tage es dauern wird, die technischen Schulden zu beheben. Je mehr Schulden vorhanden sind, desto l\u00e4nger dauert es, bis Sie diese beheben.\n<\/p>\n<h3>\n  Aufl\u00f6sung technischer Schulden<br \/>\n<\/h3>\n<p>\n  Was ist, wenn technische Schulden aufgetreten sind und Sie nicht wissen, was Sie tun sollen? Es gibt bestimmte Schritte, die Sie unternehmen k\u00f6nnen, um die technischen Schulden zu verwalten.\n<\/p>\n<p>\n  Zun\u00e4chst sollten Sie anerkennen, dass die technischen Schulden bestehen, und dies Ihrem Team mitteilen. Bei der Kommunikation sollten Sie sich dar\u00fcber im Klaren sein, was passiert ist und was getan werden muss, um es zu korrigieren. Sie sollten sicherstellen, dass Sie die Notwendigkeit, sich um die technischen Schulden zu k\u00fcmmern, so fr\u00fch wie m\u00f6glich klar kommunizieren.\n<\/p>\n<p>\n  Nachdem Sie Ihr Team \u00fcber die technischen Schulden informiert haben, gibt es drei m\u00f6gliche Vorgehensweisen. Im ersten Ansatz k\u00f6nnten Sie sich daf\u00fcr entscheiden, das System so fortzusetzen, wie es ist. In diesem Szenario wird die Anwendung unver\u00e4ndert verwendet.\n<\/p>\n<p>\n  Alternativ k\u00f6nnen Sie die Anwendung umgestalten. Refactoring wird mit dem Ziel durchgef\u00fchrt, die Komplexit\u00e4t in der App zu reduzieren und die Struktur der App zu bereinigen. Beim Refactoring wird das Verhalten der Software nicht ver\u00e4ndert; Der einzige betroffene Teil wird die interne Struktur sein.\n<\/p>\n<p>\n  Wenn die beiden oben beschriebenen Optionen nicht funktionieren, m\u00fcssen Sie schlie\u00dflich den Code vollst\u00e4ndig ersetzen. Ein Problem dabei ist, dass es zu neuen technischen Schulden f\u00fchren k\u00f6nnte, aber das k\u00f6nnte langfristig ein besserer Kompromiss sein.\n<\/p>\n<h3>\n  Technische Schulden in der Zukunft vermeiden<br \/>\n<\/h3>\n<p><a href=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398be56829.webp\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/inform.click\/wp-content\/uploads\/2022\/11\/post-314713-638398be56829.webp\" alt=\"\" \/><\/a><\/p>\n<p>\n  Nat\u00fcrlich ist es ein Kinderspiel, dass es definitiv kl\u00fcger ist, technische Schulden zu vermeiden, als zu versuchen, sie zu beheben, wenn sie entstehen. Abgesehen davon, dass Sie Zeit und Nerven sparen, sorgt es auch daf\u00fcr, dass die Restfolgen, die durch technische Schulden von Anfang an entstehen, ausbleiben.\n<\/p>\n<p>\n  Man k\u00f6nnte argumentieren, dass technische Schulden an und f\u00fcr sich nichts Schlechtes sind. Sie sind im Allgemeinen problematisch, weil sie Schulden sind, die zur\u00fcckgezahlt werden m\u00fcssen, und Menschen nicht die verantwortungsbewussteste Spezies auf der Erde sind. Die konsequente Wahl einer schw\u00e4cheren Option wird im Allgemeinen die St\u00e4rke Ihrer Software schw\u00e4chen und es schwieriger machen, die Funktionalit\u00e4ten sp\u00e4ter zu verbessern. Alles in allem ist die Vermeidung technischer Schulden die beste Wahl f\u00fcr alle.\n<\/p>\n<p>\n  Wie vermeiden Sie also, dass technische Schulden entstehen:\n<\/p>\n<p>\n  Erstellen Sie ein Projekt-Backlog\n<\/p>\n<p>\n  Die Idee hier ist, alle \u00fcber den Prozess auf dem Laufenden zu halten und sie mit den Anforderungen f\u00fcr jede auszuf\u00fchrende Aufgabe auf den neuesten Stand zu bringen. Durch das Erstellen eines Backlogs kann jeder die unerledigten Aufgaben und die Wege zu ihrer Erreichung sehen.\n<\/p>\n<p>\n  Priorisieren Sie Qualit\u00e4t vor Geschwindigkeit\n<\/p>\n<p>\n  Wenn Sie selbst Programmierer sind, m\u00fcssen Sie lernen, qualitativ hochwertige Arbeit gegen\u00fcber viel Arbeit zu priorisieren. Stellen Sie sicher, dass Ihre Codes sauber sind und Ihre Apps oder andere Software perfekt entwickelt sind. Verstehen Sie, dass die Versuchung, Abk\u00fcrzungen zu nehmen, es nicht wert ist, weil Sie schlie\u00dflich immer noch die Aufgaben ausf\u00fchren m\u00fcssen, die Sie \u00fcber Bord geworfen haben.\n<\/p>\n<p>\n  Wenn Sie ein Team leiten, m\u00fcssen Sie den Teammitgliedern dieselben Werte vermitteln. Den Mitgliedern sollte beigebracht werden, ergebnisorientierte L\u00f6sungen zu entwickeln und Abk\u00fcrzungen zu meiden.\n<\/p>\n<p>\n  Aufmerksamkeit erregen\n<\/p>\n<p>\n  Generell kann ein fundiertes Wissen dar\u00fcber, was technische Schulden sind und wie man sie vermeidet, hilfreich sein, um sie erst gar nicht entstehen zu lassen. Wenn Sie Ihre Entwickler mit dem erforderlichen Wissen ausstatten, werden sie die Fallen technischer Schulden besser vermeiden.\n<\/p>\n<p>\n  Einf\u00fchrung guter Kodierungspraktiken\n<\/p>\n<p>\n  Einige Codierungspraktiken machen es wahrscheinlicher, dass Sie in technische Schulden geraten. Daher w\u00e4re es gro\u00dfartig, eine enge Kopplung zu vermeiden, Abstraktion und Refactoring einzusetzen.\n<\/p>\n<p>\n  Einf\u00fchrung aktualisierter Technologie\n<\/p>\n<p>\n  Regelm\u00e4\u00dfige Technologie-Updates k\u00f6nnen ein hervorragendes Mittel sein, um technischen Schulden vorzubeugen. Bei der Aktualisierung m\u00fcssen Sie sicherstellen, dass die neuesten Frameworks, Datenbanken und Anwendungssoftware verwendet werden.\n<\/p>\n<h5>\n  Fazit<br \/>\n<\/h5>\n<p>\n  Technische Schulden sind in den allermeisten F\u00e4llen unvermeidbar, solange Sie weiterhin Programme entwickeln und Codes schreiben. Die Wahrscheinlichkeit ihres Auftretens kann jedoch stark reduziert werden, wenn die oben aufgef\u00fchrten Schritte befolgt werden. Auch bei eventuellen technischen Schulden ist nicht alle Hoffnung verloren. Bleiben Sie ruhig, seien Sie zuversichtlich, handeln Sie entsprechend.\n<\/p>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  Aufnahmequelle: <a target=\"_blank\" rel=\"noopener nofollow\" data-pssr=\"\" href=\"http:\/\/www.instantshift.com\/2020\/05\/26\/technical-debts-tips\/\">instantshift.com<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wenn technische Schulden wie etwas aus einem Finanzhandbuch klingen, liegt das daran, dass der Begriff mit Finanzen zusammenh\u00e4ngt. Technische Schulden im eigentlichen Sinne h\u00e4ngen jedoch mit der Programmierung zusammen. Es ist die Idee, dass w\u00e4hrend der Entwicklung eines Softwareprojekts bestimmte notwendige Schritte \u00fcbersprungen oder einfach ganz \u00fcber Bord geworfen werden, um eine Deadline einzuhalten. Bei dem Versuch, die perfekte App oder Software zu entwickeln, haben Entwickler oft wenig Zeit \u2013 genau wie jede beliebige Person, die ohnehin eine beliebige Aufgabe ausf\u00fchrt. Daher ist es normalerweise sinnvoll, eine Art von \u2026<\/p>\n","protected":false},"author":1,"featured_media":209172,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[211,263,94,55],"tags":[],"class_list":["post-253769","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kodierung","category-psychologie-2-2","category-seo-und-marketing","category-web-und-wordpress"],"_links":{"self":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts\/253769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/comments?post=253769"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/posts\/253769\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/media\/209172"}],"wp:attachment":[{"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/media?parent=253769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/categories?post=253769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/de\/wp-json\/wp\/v2\/tags?post=253769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}