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
- Architektur- und Designbewertung hinsichtlich Modularität, Kopplung und Skalierbarkeit
- Bewertung von Codequalität und Wartbarkeit hinsichtlich Lesbarkeit, Testbarkeit, Struktur und Dokumentation
- Analyse von Softwaremetriken und Qualitätskennzahlen, beispielsweise Komplexität, Testabdeckung und Redundanzen
- Identifikation technischer Schulden und Bewertung daraus entstehender Risiken
- Analyse von Versionshistorien, Build-Prozessen und Continuous-Integration-Systemen
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.
Softwarezustand, Evidenz und Aussagegrenze systematisch verbinden
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
- Analyse von Softwareprojekten bei Streitfällen, Qualitätsmängeln oder ungeklärten technischen Problemen
- Bewertung von Software im Rahmen von Projektabnahmen, Audits oder technischen Prüfungen
- Begutachtung von Fremdcode im Rahmen von Due-Diligence-Prüfungen
- Technische Qualitätssicherung und Prozessanalyse in der Softwareentwicklung
- Einschätzung von Wartbarkeit, Erweiterbarkeit und bestehendem Modernisierungsbedarf
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
- Codequalität (z. B. Redundanzen, Lesbarkeit, Stilkonformität)
- Build-Prozesse (Automatisierung, Stabilität, Portierbarkeit)
- Dokumentation (Vollständigkeit, Verständlichkeit, Aktualität)
2. Zielformulierung – Prüfkriterien und Bewertungsziele festlegen
- Lesbarkeit und Klarheit des Codes
- Wartbarkeit und Änderbarkeit
- Testbarkeit und Testabdeckung
- Regel- und Normkonformität (z. B. Clean Code, ISO-Normen)
3. Analyse – Technische Untersuchung und Nachvollziehbarkeit
- Statische Codeanalysen (Linting, Style Checks, Sicherheitsprüfungen)
- Architektur-Reviews (Layering, Modularität, Kopplung)
- Metriken-Auswertung (z. B. Komplexität, Abhängigkeitstiefe)
4. Sachverständige Synthese – Bewertung und Handlungsempfehlungen
- 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.
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.
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 aufnehmenHä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.