Wie es funktioniert
DETANGLE ist unser eigenes Software Analyse Tool. Die Besonderheit von Detangle ist, dass es bei der Betrachtung in die Breite geht, indem es alle Code-Änderungen im Laufe der Entwicklung eines Softwareprojekts kontinuierlich analysiert und mit Daten aus Issue-Trackern kombiniert.
Eine intelligente Vermessung der Software-Modularität von Features und die Berücksichtigung des Entwicklungsprozesses führt zu völlig neuen und faktenbasierten Erkenntnissen, indem Beziehungen von Code-Änderungen zwischen Features aufgedeckt werden. Dadurch ist es möglich, Geschäftsziele und Qualitätsziele optimal aufeinander abzustimmen.
DETANGLE unterstützt folgende Tools
Issue
Tracker
DevOps Plattformen
Quality
Tools
Code
Repositories
Warum heißt unser Software Analyse Tool DETANGLE®?
Jeder Entwickler kennt den Begriff Spaghetti Code. Es bezeichnet einen unstrukturierten und schwer zu pflegenden Quellcode, wie er häufig bei ungenügender Wartung über die Jahre entsteht. Seit wir 2017 mit der Entwicklung unseres Tools begannen, ist es unsere Vision, Softwareentwickler dabei zu unterstützen, ihre Software stets übersichtlich und innovationsfähig zu halten, um Spaghetti Code zu vermeiden. Dieses Bild hatten wir vor Augen, als wir einen griffigen Namen für unser neues Software Analyse Tool gesucht haben. Wir wählten DETANGLE® als Produktname. “To detangle” ist englisch und bedeutet entwirren.
Die neuesten DETANGLE® Features machen das “Entwirren” des Codes jetzt sogar noch komfortabler. Es bietet den Entwicklern mit einem KI-Algorithmus automatisierte Vorschläge zur Restrukturierung des Codes zur Auswahl an.
Wie es funktioniert
Die DETANGLE® Analysesoftware betrachtet alle Code-Änderungen im Laufe der Entwicklung eines Softwareprojekts und korreliert diese mit den Daten aus den Issue-Trackern und den DevOps Tools. Da der Betrachtungszeitraum viele Jahre abdeckt, werden die Trends der einzelnen Analyse-KPIs zugänglich und stellen eine bisher nicht verfügbare Zusatzinformation dar, um den Zustand der Software zu beurteilen.
Durch die neuartige Betrachtung der Modularität von Features werden neue Qualitätskennzahlen verfügbar, die das Risikopotential der Kopplung von Features untereinander beschreiben. Damit können erstmalig Aufwendungen zur Qualitätsverbesserung UND die Anwendungshäufigkeit der Features in Zusammenhang gebracht werden. Diese Daten sind die Basis, um die Problemzonen im Code des Features mit dem besten Verhältnis von benötigter Entwicklungsaufwand zu erzielbaren Kundennutzen (nach Verbesserung) zu identifizieren und in der Entwicklung zu priorisieren.
Haben Sie Fragen zu DETANGLE?
Wenn Sie mehr über DETANGLE und wie wir Sie in Ihrem Projekt unterstützen können, sprechen Sie mich gerne an!
Feature Modularität statt nur Code Modularität
Code Modularität ist eine der Schlüssel, um eine Software wartbar und langfristig erweiterungsfähig zu halten. Es ist ein Konzept um zu starke Kopplungen innerhalb der Codebasis zu vermeiden, da diese eine wesentliche Ursache für zunehmende Probleme bei der Wartung von Software anzusehen sind. In den meisten Software Analysen liegt der Fokus auf Kopplungen zwischen einzelnen Programm Artefakten im Code. Dieser Ansatz ist jedoch nicht ausreichend, um die Technischen Schulden in der Software-Architektur zu bemessen. Dabei sind es gerade diese Technischen Schulden, die als Parameter die technologischen Mängel einer Software am aussagekräftigsten beschreiben.
Cape of Good Code analysiert deshalb die Modularität der Features im Code. Die Analyse und Verbesserung der Beziehungen zwischen Features im Code (Vermeidung unnötiger Kopplungen) und nicht nur zwischen Artefakten einer Programmiersprache ermöglicht gezieltere Erkenntnisse über den qualitativen Zustand der Software in Bezug auf die Erweiterbarkeit mit neue Features und damit auch eine präzise Dimensionierung und Lokalisierung der Technischen Schulden. Dabei lassen sich die Restruktierungsmaßnahmen in einer Wirkung vs. Aufwand Matrix einordnen, um die richtigen Prioritäten zu setzen und um damit genügend Entwicklerkapazität für Innovationen zu reservieren.
Unser Software Analyse Tool DETANGLE® analysiert über die gesamte Lebensdauer der Software die Beziehungen sowohl zwischen Features und Code als auch zwischen Features untereinander. Es erfasst deshalb Technische Schulden auf der Grundlage der Modularität von Features und nicht nur über die Modularität des Codes. Mit diesem Konzept werden für die Entwickler und das R&D Management alle notwendigen Informationen verfügbar, um feature-zentriert direkt an den richtigen Stellen im Code die richtigen Restrukturierungsmaßnahmen in der Software-Architektur einzuleiten und im Anschluss auch die Wirkung dieser Maßnahmen mit erneuten Analysen zu monitoren.
Die Analyse der Feature-Modularität und die Konzepte dahinter sind absolut innovativ und bahnbrechend auf dem Gebiet der Software-Qualitätsanalyse. Die zugrundeliegenden intelligenten mathematischen Modelle sind die Ergebnisse unserer langfristigen praktischen Erfahrung und Forschung in diesem Bereich.
Weiterführende Ressourcen
Die Software Due Diligence mit dem Code-Analyse-Tool DETANGLE
Erfahren Sie, worauf es bei einer Software Due Diligence wirklich ankommt und warum die technischen Schulden und der Entwicklungsprozess hoch wertrelevant sind.
Feature- und zeitbasierte Software-Analyse
Technische Schulden effizient identifizieren und nachhaltig lösen
Zeitbasierte Analyse
Alle Arten der Software-Qualitätsanalyse zielen darauf ab, Einschränkungen der Wartbarkeit und Erweiterbarkeit zu identifizieren bzw. vorherzusagen. Letztlich geht es stets darum zu messen, wie einfach ein System mit neuen Features erweitert werden kann. Existierende Ansätze der Code-Analyse versuchen, Aussagen über die Änderbarkeit eines Systems zu machen, indem sie lediglich den aktuellen Status des Codes analysieren, ohne das zu messen, worauf es wirklich ankommt: die tatsächlichen Änderungen eines Systems im Laufe seines Life Cycles.
Unsere Untersuchungen und Projekte zeigen, dass die Berücksichtigung der zeitliches Verlaufs des Software-Entwicklungsprozesses eine elementare Voraussetzung ist, um verwertbare Erkenntnisse über den technologischen Status Quo der Software-Architektur zu gewinnen und kritische Systemfehler, die eine Erweiterbarkeit einschränken würden, zu prognostizieren.
DETANGLE® analysiert die gesamte Commit-Historie eines Projekts. Es verfolgt Code-Änderungen und setzt sie in Beziehung zueinander, anstatt nur die Ergebnisse der statischen Code-Analyse verschiedener Momentaufnahmen zu vergleichen. Wir haben mit DETANGLE® Lösungen zur Berücksichtigung paralleler Entwicklungs-Branches in verzweigten Repositories oder zwischen mehreren Repositories entwickelt, um die Software-Architektur bzgl. der Erweiterbarkeit mit neuen Features zu analysieren.
DETANGLE® kann aus der Vergangenheit des Codes dessen technologische Zukunft vorhersagen.
Entscheidungen priorisieren, Budgets schonen
Die Behebung aller problematischen Befunde aus der Codeanalyse übersteigt normalerweise das eingeplante Budget und absorbiert unnötig die Kapazität der Entwickler, denn nicht jede Technische Schuld ist ein akutes Problem. DETANGLE® bietet eine Entscheidungshilfe bei der Priorisierung der möglichen Maßnahmen zum Abbau der Technischen Schulden. Durch eine intelligente Kombination verschiedener Indikatoren, die eine abnehmende Änderbarkeit des Code zur Erweiterung und Umsetzung von Features oder eine zunehmende Fehleranfälligkeit von Code-Modulen signalisieren, lässt sich eine belastbare Bewertung der Wichtigkeit einzelner Findings in Bezug zur Business-Relevanz der Features vornehmen.
Diese Informationen, welche in Form eines intuitiven Ampelsystems visualisiert werden, ermöglichen es den Entwicklern und dem Management, zunächst diejenigen Technischen Schulden anzugehen, deren Behebung den größtmöglichen Nutzen für eine Verbesserung der Code-, Entwicklungs- und Architekturqualität hat.
Daten und IP der Entwicklung. Wie sicher sind diese?
Zunächst werden hierzu zwischen dem Kunden und Cape of Good Code die entsprechenden vertraglichen Regelungen hinsichtlich der Vertraulichkeit von IP, Daten und anderen relevanten Informationen und Unterlagen getroffen. Diese Regelungen stellen formal und legal sicher, dass die für die Software-Analyse notwendigen Informationen und Daten aus dem Code nach Abschluss des Projektes dem Berater nicht mehr zugänglich sind.
Technisch betrachtet wird die DETANGLE® Analyse Software auf einem Rechner des Kunden installiert, konfiguriert und ausgeführt. Dabei bleiben alle Analyseergebnisse auf dessen Rechner. Ein Remote-Zugang zu diesem Rechner kann über eine VPN Verbindung verschlüsselt und gesichert stattfinden. Dadurch kann die Analyse sowohl On-Premise als auch Remote durchgeführt werden, ohne dass der analysierte Code auf einem externen Rechner gespeichert werden muss.
Interesse geweckt?
Unsere Neuesten Wissensartikel
In unserem Wissens-Blog finden Sie stetig neue Artikel zu verschiedensten Themen aus der Software Entwicklung.