Software- und Quellcode-Gutachten

Technische Illustration zu Software- und Quellcode-Gutachten

Technische Bewertung von Softwarearchitektur, Quellcodequalitä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 nachvollziehbare Einschätzung des Aufbaus, der Struktur und der Entwicklung eines Systems.

Als unabhängiger IT-Sachverständiger analysiere ich bestehende Anwendungen hinsichtlich Architektur, Dokumentation, Codequalität, Wartbarkeit und technischer Risiken.

Analyse- und Bewertungsfelder

Methodisches Vorgehen

Die Beurteilung erfolgt anhand fachlich begründeter und nachvollziehbarer Kriterien. Abhängig vom Prüfauftrag können Softwaremetriken, statische Analysen, Code-Reviews und strukturierte Architekturprüfungen eingesetzt werden.

Die angewendeten Prüfverfahren richten sich nach der vorhandenen Codebasis, der Systemarchitektur, dem vereinbarten Untersuchungsumfang und den verfügbaren Unterlagen. Ein erfolgreicher Build, Test oder reproduzierter Funktionsnachweis belegt dabei nur den dokumentierten technischen Zustand unter den geprüften Bedingungen; daraus folgt nicht automatisch Abnahme, Freigabe, Vertragskonformität, rechtliche Zulässigkeit oder vollständige Eignung.

Prüflogik: vom technischen Problem zur begrenzten Sachverständigenaussage

Als übergeordneter Problemlösungsrahmen dient der iterative Zyklus aus Diagnose, Zielformulierung, Analyse und Entscheidungsfindung nach Nicolai Andler. Für die sachverständige Softwareprüfung wird dieser Rahmen technisch konkretisiert: Die allgemeine Entscheidungsfindung wird dabei nicht mit einer rechtlichen, wirtschaftlichen oder unternehmerischen Entscheidung gleichgesetzt.

Technische Prüfkette

Softwarezustand, Evidenz und Aussagegrenze systematisch verbinden

1 Diagnose Behauptetes Problem, relevanten Softwarestand, Systemgrenze und offene Widersprüche bestimmen.
2 Prüfziel Technische Frage, Soll- oder Referenzmaßstab, Kriterien und ausdrücklich ausgeschlossene Schlussfolgerungen festlegen.
3 Analyse Code-, Build-, Laufzeit-, Test- und Versionsnachweise untersuchen und Gegenhypothesen kontrolliert prüfen.
4 Synthese Befund, Interpretation, technische Bewertung, Unsicherheit und Aussagegrenzen getrennt dokumentieren.

Evidenzketten statt Einzelindikatoren

Eine belastbare technische Zuordnung entsteht regelmäßig erst durch die Verbindung mehrerer Nachweise. Ein Repositorystand kann vorhandenen Code belegen, ein Build-Artefakt die Erzeugbarkeit eines konkreten Stands, ein Laufzeitbefund beobachtetes Verhalten und ein Testprotokoll das Ergebnis unter dokumentierten Bedingungen. Widersprechen sich diese Ebenen, wird der Widerspruch selbst zum Untersuchungsgegenstand. Fehlende Artefakte werden nicht durch Annahmen ersetzt, sondern als Grenze der Aussage ausgewiesen.

Jede Bewertung erfolgt unabhängig und nachvollziehbar. Das Gutachten dokumentiert technische Befunde, Bewertungsgrundlagen und Grenzen der Untersuchung in einer Form, die auch für Projektverantwortliche, Fachabteilungen und juristische Beteiligte verständlich ist.

Typische Einsatzbereiche

Zielsetzung

Ziel eines Software- und Quellcode-Gutachtens ist es, technische Eigenschaften, Qualitätsprobleme und mögliche Risiken eines Softwaresystems nachvollziehbar zu untersuchen und fachlich einzuordnen.

Das Gutachten stellt technische Tatsachen, Bewertungen und Aussagegrenzen bereit, die verantwortliche Personen in technische, wirtschaftliche oder rechtlich geprägte Entscheidungen einbeziehen können. Es ersetzt weder die wirtschaftliche Entscheidung noch eine rechtliche Würdigung oder Rechtsberatung. Die konkrete Aussagekraft richtet sich nach Prüfauftrag, Systemstand, verfügbarer Codebasis und Qualität der bereitgestellten Unterlagen.

Weiterführendes Wissen: Welche technische Untersuchungsgrundlage bei Streit über individuell entwickelte Software erforderlich sein kann, erläutert der Beitrag Welche Unterlagen benötigt ein IT-Sachverständiger bei Streit über Individualsoftware?

Weitere technische Methodik: Der Beitrag Softwaremängel technisch untersuchen: Soll-Ist-Vergleich erläutert, wie dokumentierte Anforderungen, ein konkreter Softwarestand und nachvollziehbare Prüfkriterien gegenübergestellt werden können.

Versionsbezug im Gutachten: Der Beitrag Welche Softwareversion muss ein Sachverständiger untersuchen? erläutert die technische Zuordnung von Commit, Branch, Tag, Release, Build-Artefakt und Systemzustand.

Quellcode als Prüfgegenstand: Der Beitrag Quellcode als Untersuchungsgegenstand: Repository, Commit, Branch und Build erläutert die technische Dokumentation von Repository, Working Tree, Submodulen, Abhängigkeiten und Build-Nachweisen.

Fallstudie: Methodischer Ablauf eines Software- und Quellcode-Gutachtens

Eigenständige Anwendung einer an Nicolai Andlers Problemlösungsphasen angelehnten Arbeitslogik auf Softwareanalysen

Konstruiertes Prüfszenario: Diese Darstellung beschreibt kein reales Mandat und keine tatsächliche gerichtliche Beauftragung; sie enthält keine realen Ergebnisse.

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. Sachverständige Synthese – 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.
Methodische Anregung:
Nicolai Andler: Tools für Projektmanagement, Workshops und Consulting – Kompendium der wichtigsten Techniken und Methoden, 6. überarbeitete und erweiterte Auflage, Publicis, Erlangen, 2015, ISBN 978-3-89578-453-8. Die sachverständige Synthese und die Beispiele sind eigene fachliche Adaptionen. Quellen und Methodik.

Beispiel für ein Gutachtenangebot

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

  • Analyse einer vereinbarten Quellcodebasis, beispielsweise in Java, C#, Python oder JavaScript
  • Bewertung der Softwarearchitektur, Codequalität, Testbarkeit und Dokumentation
  • Prüfung von Schnittstellen, Datenstrukturen und technischen Abhängigkeiten
  • Analyse technischer Schulden, Wartbarkeitsrisiken und möglicher Qualitätsprobleme
  • Bericht mit Befunden, fachlichen Bewertungen, Aussagegrenzen und Handlungsempfehlungen

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

Orientierung nach Untersuchungstiefe:

  • Klar abgegrenzte technische Prüfung oder Stellungnahme: ca. 1.500 € bis 4.500 € netto
  • Umfangreichere technische Begutachtung: ca. 4.500 € bis 10.000 € netto
  • Komplexes IT-Gutachten mit umfangreicher technischer Untersuchung: ca. 10.000 € bis 20.000 € netto oder darüber

Maßgeblich sind insbesondere die konkrete Fragestellung, Projekt- und Systemgröße, Anzahl und Zustand der zu untersuchenden Artefakte, Qualität der verfügbaren Unterlagen sowie die erforderliche Untersuchungstiefe und Berichtsdokumentation.

Nach einer ersten Sichtung der Fragestellung und der verfügbaren Unterlagen kann ein individuelles und unverbindliches Angebot erstellt werden. Je nach Untersuchungsgegenstand kann insbesondere ein Festpreis oder eine andere geeignete Vergütungsstruktur vereinbart werden.

Hinweis: Die genannten Größenordnungen dienen ausschließlich der ersten Orientierung und stellen kein verbindliches Angebot dar. Der konkrete Aufwand kann im Einzelfall auch außerhalb dieser Bereiche liegen.

IT-Sachverständiger Mathias Ellmann

Kontakt zum 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.

Wofür kann ein Software-Gutachten eingesetzt werden?

Das Gutachten dokumentiert technische Befunde und kann der fachlichen Klärung sowie der Vorbereitung außergerichtlicher oder gerichtlicher Fragestellungen dienen. Ob und in welcher Form es in einem konkreten Verfahren berücksichtigt werden kann, ist eine rechtliche Frage und wird hier nicht bewertet.