Software- und Quellcode-Gutachten

Technische Bewertung von Softwarearchitektur, Quellcode-Qualität und Entwicklungsprozessen.

Fachgutachten zur Softwarequalität

Die Qualität von Software ist entscheidend für Zuverlässigkeit, Sicherheit und Wartbarkeit. Ein technisches Softwaregutachten liefert eine objektive Einschätzung über Aufbau, Struktur und Entwicklung eines Systems. Als unabhängiger IT-Sachverständiger analysiere ich bestehende Anwendungen hinsichtlich Architektur, Dokumentation, Codequalität und technischer Risiken.

Analyse- und Bewertungsfelder

Methodisches Vorgehen

Die Beurteilung erfolgt nach ingenieurmäßigen und wissenschaftlich fundierten Kriterien. Zum Einsatz kommen Softwaremetriken, statische Analysen und strukturierte Architekturprüfungen. Alle Ergebnisse werden nachvollziehbar dokumentiert, mit konkreten Belegen und technischen Kennwerten untermauert.

Jede Bewertung erfolgt unabhängig, nachvollziehbar und reproduzierbar. Das Gutachten dokumentiert die technische Situation in einer Form, die für Fachabteilungen, Projektverantwortliche oder juristische Bewertungen verständlich ist.

Typische Einsatzbereiche

Fallstudie: Methodischer Ablauf eines Software- und Quellcode-Gutachtens

Anwendung des ingenieurmäßigen Problemlösungszyklus nach Nicolai Andler auf Softwareanalysen

1. Diagnose – Technische Ausgangslage erfassen

Zu Beginn der Fallstudie wird die bestehende Softwarearchitektur untersucht. Dabei werden folgende Aspekte analysiert:
  • Codequalität (z. B. Redundanzen, Lesbarkeit, Stilkonformität)
  • Build-Prozesse (Automatisierung, Stabilität, Portierbarkeit)
  • Dokumentation (Vollständigkeit, Verständlichkeit, Aktualität)
Ziel ist es, typische Schwachstellen wie fehlende Modularität, geringe Testabdeckung oder sicherheitsrelevante Abhängigkeiten zu erkennen und eine transparente technische Bestandsaufnahme zu ermöglichen.

2. Zielformulierung – Prüfkriterien und Bewertungsziele festlegen

Im zweiten Schritt werden die Qualitätsziele und Bewertungskriterien klar definiert. Dazu zählen insbesondere:
  • Lesbarkeit und Klarheit des Codes
  • Wartbarkeit und Änderbarkeit
  • Testbarkeit und Testabdeckung
  • Regel- und Normkonformität (z. B. Clean Code, ISO-Normen)
Ziel ist die Festlegung objektiver, messbarer Bewertungsmaßstäbe für die spätere Analyse.

3. Analyse – Technische Untersuchung und Nachvollziehbarkeit

Die Analysephase umfasst eine systematische Bewertung des Systems mithilfe verschiedener technischer Methoden:
  • Statische Codeanalysen (Linting, Style Checks, Sicherheitsprüfungen)
  • Architektur-Reviews (Layering, Modularität, Kopplung)
  • Metriken-Auswertung (z. B. Komplexität, Abhängigkeitstiefe)
Die Ergebnisse werden dokumentiert, mit den Zielen abgeglichen und methodisch begründet – für maximale Transparenz und Reproduzierbarkeit.

4. Entscheidungsfindung – Bewertung und Handlungsempfehlungen

Abschließend werden alle Analyseergebnisse gewichtet und in einem Gutachtenbericht zusammengeführt. Dieser enthält:
  • eine strukturierte Bewertung technischer Risiken und Potenziale,
  • die Identifikation von Handlungsbedarfen (z. B. Refactoring, Redesign),
  • konkrete Empfehlungen zur Verbesserung von Qualität und Wartbarkeit,
  • eine belastbare Entscheidungsgrundlage für Entwicklung, Management oder Compliance.
Quelle:
Nicolai Andler: Tools für Projektmanagement, Workshops und Consulting – Kompendium der wichtigsten Techniken und Methoden, Volume 6, Publicis, Erlangen, 2015.

Praxisnahe Fallstudien

Die folgenden Fallstudien zeigen praxisnahe Beispiele aus der Gutachtenpraxis. Sie verdeutlichen, wie ein IT-Sachverständiger typische technische und organisatorische Herausforderungen strukturiert analysiert, bewertet und nachvollziehbar dokumentiert.

Das gewachsene System – Analyse einer monolithischen Altanwendung

Ein mittelständisches Industrieunternehmen steht vor massiven Wartungsproblemen mit seiner zentralen Unternehmenssoftware. Das System ist über mehr als zehn Jahre gewachsen, technisch überholt und kaum noch erweiterbar. Der IT-Sachverständige wird beauftragt, den technologischen Zustand objektiv zu bewerten und eine belastbare Entscheidungsgrundlage für Management und Investoren zu schaffen.

Ausgangssituation

Die eingesetzte Unternehmenssoftware bildete den Kern aller administrativen und produktionsnahen Prozesse. Ursprünglich als Inhouse-Projekt gestartet, wurde sie im Laufe der Jahre von wechselnden Teams ohne durchgängige Architekturstrategie erweitert. Es existierten weder aktuelle technische Dokumentationen noch systematische Tests. Fehlerbehebungen führten häufig zu neuen Problemen, da Quellcode und Datenstrukturen stark miteinander verwoben waren. Fachabteilungen beklagten lange Reaktionszeiten und hohe Ausfallrisiken. Die IT-Abteilung war überlastet und konnte keine verlässlichen Aussagen zur Zukunftsfähigkeit des Systems mehr treffen.

Problemstellung

Das Management stand vor einer strategischen Entscheidung: Sollte das System refaktoriert, also technisch modernisiert werden, oder war eine vollständige Neuentwicklung wirtschaftlich sinnvoller? Zugleich sollte eine mögliche Migration in eine Cloud-Architektur geprüft werden. Interne Einschätzungen waren widersprüchlich, weshalb eine unabhängige sachverständige Analyse erforderlich wurde. Ziel war eine objektive Bewertung der technologischen Substanz, der Architekturqualität und der wirtschaftlichen Perspektive.

Vorgehen des IT-Sachverständigen

Der IT-Sachverständige führte eine strukturierte Untersuchung nach ingenieurmäßigen Prinzipien durch.

  • Technische Bestandsaufnahme: Erfassung der Systemarchitektur, verwendeten Technologien, Abhängigkeiten und Deployment-Prozesse.
  • Codeanalyse: Statische Auswertung von rund 600.000 Codezeilen hinsichtlich Komplexität, Redundanz und Testabdeckung.
  • Architektur-Review: Identifikation zentraler Engpässe, zirkulärer Abhängigkeiten und Verletzungen des Schichtenmodells.
  • Risikoanalyse: Bewertung technischer Schulden, Sicherheitslücken und Integrationsrisiken bei Drittsoftware.
  • Dokumentationsprüfung: Analyse der Entwicklungsprozesse, Versionshistorie und Build-Pipelines.
Alle Ergebnisse wurden nach anerkannten Bewertungsmaßstäben dokumentiert (z. B. [NORM_PLATZHALTER], Clean-Code-Prinzipien). Die Vorgehensweise war transparent, reproduzierbar und methodisch nachvollziehbar.

Analyseergebnisse

Die Untersuchung zeigte ein stark monolithisches, technologisch veraltetes System mit hoher Kopplung zwischen Geschäftslogik und Benutzeroberfläche. Über 40 % des Codes wiesen zyklische Abhängigkeiten auf. Nur etwa 8 % der Funktionen waren automatisiert getestet. Ein vollständiges Refactoring wäre zwar technisch möglich, hätte aber einen hohen personellen und zeitlichen Aufwand erfordert. Positiv bewertet wurden die Stabilität des Datenmodells und die klar definierten Geschäftsregeln, die für eine zukünftige Modularisierung genutzt werden konnten.

Erkenntnisse & Empfehlungen

Das Gutachten kam zu dem Schluss, dass eine schrittweise Modernisierung – beginnend mit der Modularisierung kritischer Kernkomponenten – wirtschaftlich sinnvoller war als eine komplette Neuentwicklung. Der Sachverständige empfahl:

  • Einführung einer serviceorientierten Architektur (Microservices-Ansatz)
  • Refactoring der Hauptmodule mit Fokus auf Entkopplung und Testbarkeit
  • Schrittweise Migration in eine containerbasierte Cloud-Umgebung
  • Aufbau einer automatisierten Test- und Deployment-Pipeline (CI/CD)
  • Begleitende Dokumentation und Code-Reviews zur Qualitätssicherung
Die Ergebnisse bildeten die Grundlage für die Entscheidung der Geschäftsführung, das Modernisierungsvorhaben in Phasen umzusetzen. Das Gutachten diente zudem als Referenzdokumentation für zukünftige Investitionsgespräche.

Reflexion

Diese Fallstudie verdeutlicht, wie sachverständige IT-Begutachtung hilft, technologische Komplexität in fundierte Entscheidungsgrundlagen zu übersetzen. Die Kombination aus technischer Analyse, methodischer Nachvollziehbarkeit und ökonomischer Bewertung ermöglicht es Unternehmen, Risiken zu reduzieren und technologische Weichen langfristig richtig zu stellen.

Refactoring unter Zeitdruck – Qualität sichern im Live-Betrieb

Ein internationaler Softwarehersteller stand unter enormem Druck: Ein sicherheitskritisches Modul seines Produktionssystems verursachte Instabilitäten im laufenden Betrieb. Ein Abschalten war ausgeschlossen – das System musste rund um die Uhr verfügbar bleiben. Der IT-Sachverständige wurde beauftragt, die Risiken des Refactorings zu bewerten, die technische Strategie zu validieren und die Qualitätssicherung methodisch zu begleiten.

Ausgangssituation

Das betroffene System steuerte in Echtzeit den Datenaustausch zwischen Kundenplattform, ERP-System und externen Partnern. Nach einer Reihe von Updates traten unerwartete Fehlverhalten auf: sporadische Abstürze, Dateninkonsistenzen und unklare Speicherlecks. Die Software lief auf einer verteilten Architektur mit über 20 Services, die stark voneinander abhingen. Ein Abschalten der Plattform war nicht möglich – jede Unterbrechung hätte direkte Auswirkungen auf den Geschäftsbetrieb gehabt. Die Entwickler standen unter erheblichem Druck, fehlerhafte Komponenten im laufenden System zu korrigieren.

Problemstellung

Das Entwicklungsteam verfügte weder über eine vollständige Testabdeckung noch über eine aktuelle Architekturübersicht. Änderungen wurden ad hoc umgesetzt, um den laufenden Betrieb zu sichern – mit der Folge, dass unvorhersehbare Seiteneffekte entstanden. Die Verantwortlichen waren sich bewusst, dass ein ungeprüftes Refactoring das Gesamtsystem gefährden konnte. Deshalb sollte ein externer IT-Sachverständiger eine unabhängige technische Bewertung durchführen und eine methodische Vorgehensweise empfehlen, die Stabilität und Sicherheit auch während des Refactorings gewährleistet.

Vorgehen des IT-Sachverständigen

Der IT-Sachverständige gliederte das Projekt in drei Phasen:

  • 1. Risikoanalyse: Untersuchung der Abhängigkeitsstruktur mittels statischer Codeanalyse und Dependency-Graphen. Identifikation kritischer Komponenten, die Sicherheits- oder Stabilitätsrisiken verursachen konnten.
  • 2. Refactoring-Strategie: Entwicklung eines kontrollierten Vorgehens nach dem Prinzip „Strangler Pattern“. Alte Module wurden schrittweise durch neue, getestete Services ersetzt, ohne das Gesamtsystem abzuschalten.
  • 3. Qualitätssicherung: Einführung von automatisierten Unit-, Integration- und Smoke-Tests, begleitet durch eine Testumgebung, die Live-Daten simulierte. Parallel erfolgte eine kontinuierliche Überwachung von Performance- und Logging-Metriken.
Alle Entscheidungen und Maßnahmen wurden dokumentiert, bewertet und auf technische Nachvollziehbarkeit überprüft. Der Sachverständige stellte sicher, dass sämtliche Eingriffe auf belastbaren Messwerten und nachvollziehbaren Prüfmethoden basierten.

Analyseergebnisse

Die Analyse zeigte, dass rund 15 % des Codes kritisch für die Systemstabilität war. Besonders riskant waren enge Kopplungen zwischen dem Datenzugriff und der Kommunikationsschicht. Zudem wurden in mehreren Modulen veraltete Bibliotheken mit Sicherheitslücken identifiziert. Durch gezielte Entkopplung und den Einsatz moderner Frameworks konnte die Stabilität signifikant erhöht werden. Parallel wurde die Build-Pipeline angepasst, um automatisierte Regressionstests in den Deployment-Prozess zu integrieren.

Erkenntnisse & Empfehlungen

Der Gutachtenbericht empfahl ein phasenorientiertes Refactoring mit kontinuierlicher Risikobewertung:

  • Priorisierung sicherheitskritischer Module und Überwachung über Metriken (z. B. Fehlerrate, Antwortzeit, Speicherverbrauch)
  • Etablierung eines stabilen Staging-Systems zur Vorabvalidierung von Änderungen
  • Aufbau einer automatisierten Testumgebung mit nightly builds
  • Einführung von Code-Reviews durch Senior-Entwickler zur Qualitätssicherung
  • Regelmäßige Fortschrittsberichte an das Management zur Dokumentation der technischen Risikoreduktion
Nach Umsetzung dieser Maßnahmen sank die Fehlerrate um mehr als 60 %, und die Stabilität des Systems konnte nachweislich gesteigert werden. Das Gutachten dokumentierte damit nicht nur den Ist-Zustand, sondern diente auch als Grundlage für die technische Governance künftiger Projekte.

Reflexion

Diese Fallstudie verdeutlicht, dass technische Qualitätssicherung auch unter hohem Zeitdruck möglich ist – vorausgesetzt, es erfolgt ein methodisch fundiertes Vorgehen. Der IT-Sachverständige fungiert hierbei als neutrale Instanz, die komplexe Risiken strukturiert analysiert und nachvollziehbare Entscheidungsgrundlagen schafft. In kritischen Projektsituationen trägt dies wesentlich zur Vermeidung von Folgeschäden und zur Sicherung des laufenden Geschäftsbetriebs bei.

Open-Source-Chaos – Lizenzkonflikte im Softwareprojekt

Ein Technologieunternehmen entwickelte eine Plattformlösung mit über 100 Open-Source-Bibliotheken. Im Zuge einer Kundenprüfung wurde die Lizenzkonformität hinterfragt. Der IT-Sachverständige wurde beauftragt, die gesamte Abhängigkeitsstruktur zu analysieren, die Lizenzsituation zu bewerten und ein belastbares Compliance-Konzept zu entwickeln.

Ausgangssituation

Das Unternehmen setzte in seiner Softwarelösung eine Vielzahl externer Open-Source-Komponenten ein – von Frontend-Frameworks über Datenbank-Treiber bis hin zu KI-Bibliotheken. Eine zentrale Lizenzverwaltung oder ein Open-Source-Managementsystem existierten nicht. Mit zunehmender Projektgröße verloren die Entwickler den Überblick über verwendete Versionen, Lizenzen und Abhängigkeiten. Bei einer Ausschreibung forderte ein Großkunde detaillierte Nachweise über Lizenzkonformität und eventuelle Copyleft-Verpflichtungen. Interne Teams konnten diese Nachweise nicht vollständig erbringen, was zu Projektverzögerungen und Reputationsrisiken führte.

Problemstellung

Die Geschäftsleitung erkannte, dass fehlende Transparenz über Lizenzen ein erhebliches rechtliches und wirtschaftliches Risiko darstellte. Es bestand die Gefahr, dass Lizenzverstöße gegen GPL-, AGPL- oder LGPL-Bestimmungen zu Offenlegungspflichten oder Schadensersatzforderungen führen könnten. Darüber hinaus drohte der Verlust von Vertrauenswürdigkeit bei Geschäftspartnern und Investoren. Der IT-Sachverständige sollte klären:

  • Welche Open-Source-Komponenten konkret eingesetzt wurden,
  • welche Lizenzbedingungen dafür galten,
  • ob bestehende Nutzung, Distribution oder Integration Lizenzverstöße verursachen konnte,
  • und wie ein nachhaltiges Compliance-System etabliert werden konnte.

Vorgehen des IT-Sachverständigen

Die Untersuchung folgte einem strukturierten, mehrstufigen Ansatz:

  • 1. Software-Inventarisierung: Automatisierte Erfassung sämtlicher Dritt- und Open-Source-Komponenten mittels Software Composition Analysis (SCA-Tools) und Abhängigkeits-Scanning (u. a. Dependency-Check, CycloneDX).
  • 2. Lizenzprüfung: Zuordnung der gefundenen Komponenten zu spezifischen Lizenztypen (z. B. MIT, Apache 2.0, GPL v3, AGPL v3, BSD) und Identifikation der daraus resultierenden Verpflichtungen.
  • 3. Risiko- und Konfliktanalyse: Bewertung der Kompatibilität der Lizenzen untereinander sowie mit den Unternehmensrichtlinien und dem Vertriebsmodell (z. B. SaaS-Betrieb, On-Premises-Distribution).
  • 4. Dokumentation und Nachvollziehbarkeit: Aufbau einer „Compliance-Matrix“, in der jede Komponente mit Herkunft, Lizenztext, Version und Nutzungsart hinterlegt wurde. Diese Matrix bildete die Basis für künftige Audits und Kundenanforderungen.
Der IT-Sachverständige dokumentierte sämtliche Prüfschritte, Methodik und Quellen, um die Nachvollziehbarkeit der Ergebnisse sicherzustellen und eine rechtssichere Argumentationsgrundlage zu schaffen.

Analyseergebnisse

Die Analyse ergab mehrere kritische Punkte:

  • 15 % der eingesetzten Bibliotheken standen unter Copyleft-Lizenzen (u. a. GPL v3, AGPL v3) ohne entsprechende Offenlegungspflichten erfüllt zu haben.
  • In mehreren Modulen waren unklare Lizenzketten vorhanden, da indirekte Abhängigkeiten (transitive Dependencies) nicht dokumentiert worden waren.
  • Einige Komponenten nutzten veraltete Lizenzen mit unklarer Rechteübertragung (z. B. BSD 4-Clause).
  • Einige Fremdmodule enthielten Lizenztexte, die in den Distributionspaketen unvollständig eingebunden waren.
Insgesamt bewertete der Sachverständige das Risiko als mittel-bis hoch, insbesondere im Hinblick auf Compliance-Audits internationaler Kunden. Die Analyseergebnisse wurden im Gutachtenbericht transparent dargelegt, inklusive Risiko-Priorisierung und Handlungsempfehlungen.

Erkenntnisse & Empfehlungen

Der IT-Sachverständige empfahl den Aufbau eines strukturierten Open-Source-Compliance-Managementsystems mit folgenden Kernmaßnahmen:

  • Einführung eines automatisierten Lizenz-Scans im Build-Prozess (CI/CD-Pipeline)
  • Benennung eines internen „Open-Source-Compliance-Beauftragten“
  • Pflege einer zentralen Komponenten-Datenbank (Software Bill of Materials – SBOM)
  • Verwendung ausschließlich lizenzkompatibler Bibliotheken bei künftigen Entwicklungen
  • Regelmäßige Compliance-Audits und Mitarbeiterschulungen zu Lizenzrecht und Open-Source-Policies
Nach Umsetzung der empfohlenen Maßnahmen konnte das Unternehmen die Lizenzrisiken deutlich reduzieren und bestand erfolgreich die Kundenprüfung. Zudem wurde das Gutachten als Nachweis gegenüber Investoren genutzt, dass die Software nun lizenzkonform und auditfähig war.

Reflexion

Diese Fallstudie zeigt exemplarisch, dass Lizenz- und Compliance-Themen integraler Bestandteil technischer Qualitätssicherung sind. Der IT-Sachverständige trägt hierbei zur rechtlichen Absicherung und Risikominimierung bei, indem er technische Fakten mit juristischen Anforderungen verbindet. Open-Source-Transparenz wird so nicht nur zur Compliance-Pflicht, sondern zu einem Wettbewerbsvorteil.

Beispiel für ein Gutachtenangebot

Ein typisches Gutachtenangebot zur Software- und Quellcode-Analyse kann folgende Leistungen umfassen:

  • Analyse von bis zu 50.000 Zeilen Quellcode (z. B. Java, C#, Python)
  • Bewertung der Softwarearchitektur, Codequalität und Dokumentation
  • Prüfung von Schnittstellen, Datenstrukturen und technischen Abhängigkeiten
  • Bericht mit Befund, Bewertung, Handlungsempfehlungen und Risikoanalyse

Der Leistungsumfang und die Kosten richten sich nach Projektgröße, Codebasis und gewünschtem Detailgrad. Nach Sichtung der Unterlagen erhalten Sie ein individuelles, unverbindliches Angebot.

Typischer Kostenrahmen:
ca. 1.200 € – 3.500 € netto
Abhängig von Systemkomplexität, Umfang der Codebasis und gewünschter Berichtstiefe.

Hinweis: Die Angaben dienen der Orientierung und stellen kein verbindliches Angebot dar.

IT-Sachverständiger Mathias Ellmann

Kontakt zu IT-Sachverständigen Mathias Ellmann

Benötigen Sie ein unabhängiges Software- oder Quellcode-Gutachten zur Bewertung von Architektur, Codequalität und technischer Dokumentation?

Kontakt aufnehmen

Häufige Fragen zum Softwaregutachten

Was beinhaltet ein Software- und Quellcode-Gutachten?

Das Gutachten umfasst die technische Bewertung der Softwarearchitektur, der Codequalität und der Dokumentation, um den Entwicklungsstand objektiv zu beurteilen.

Wann ist ein Software-Gutachten erforderlich?

Bei Softwaremängeln, Streitfällen oder zur Qualitätssicherung dient ein Gutachten als objektive Entscheidungsgrundlage über den technischen Zustand des Systems.

Welche Methoden werden bei der Quellcode-Analyse eingesetzt?

Es kommen statische Analysen, Architekturprüfungen und Softwaremetriken zum Einsatz. Diese ermöglichen eine reproduzierbare Bewertung auf technischer Grundlage.

Ist ein Software-Gutachten rechtlich verwertbar?

Das Gutachten dient der technischen Beweissicherung und außergerichtlichen Bewertung. Es ersetzt kein gerichtliches Gutachten, kann jedoch als fachlich fundierte Entscheidungsgrundlage herangezogen werden.