Softwaremängel technisch untersuchen: Soll-Ist-Vergleich

Wie dokumentierte Anforderungen, ein eindeutig bestimmter Softwarestand und nachvollziehbare Prüfkriterien zu einem belastbaren technischen Befund führen.

Stand: 18.09.2026 Quellen geprüft: 18.09.2026 Autor: Mathias Ellmann Status: veröffentlicht

Software & Quellcode

Wird beanstandet, dass eine Software nicht die erwarteten Funktionen oder Qualitätsmerkmale besitzt, beginnt eine technische Untersuchung nicht mit der Aussage, es liege ein „Mangel“ vor. Zunächst muss nachvollziehbar bestimmt werden, welches technische Soll gelten soll, welcher konkrete Softwarestand untersucht wird und anhand welcher Kriterien beide Zustände verglichen werden.

Kurzantwort

Ein technischer Soll-Ist-Vergleich besteht aus vier voneinander zu trennenden Schritten: dokumentiertes Soll bestimmen, relevanten Ist-Zustand eindeutig festlegen, prüfbare Kriterien ableiten und beobachtete Abweichungen reproduzierbar dokumentieren.

Das technische Ergebnis lautet daher beispielsweise, dass eine definierte Funktion in einem bestimmten Softwarestand fehlt oder ein festgelegtes Prüfkriterium unter dokumentierten Bedingungen nicht erfüllt wird. Ob daraus rechtlich ein Mangel oder eine bestimmte Rechtsfolge folgt, ist davon zu trennen.

1. Was wird technisch überhaupt verglichen?

Ein Soll-Ist-Vergleich setzt zwei hinreichend bestimmte Zustände voraus. Das Soll beschreibt die technischen Funktionen, Eigenschaften oder Qualitätsmerkmale, die als Prüfmaßstab verwendet werden. Das Ist beschreibt die tatsächlich untersuchte Software einschließlich ihres Versions- und Umgebungsbezugs.

Ohne diese Zuordnung besteht das Risiko, Anforderungen aus einem Zeitpunkt mit einer Softwarefassung aus einem anderen Zeitpunkt zu vergleichen. Eine solche Vermischung kann die Aussagekraft der Untersuchung erheblich einschränken.

2. Wie wird der technische Soll-Zustand bestimmt?

Der technische Soll-Zustand kann sich aus mehreren dokumentierten Quellen ergeben. Abhängig vom Projekt kommen beispielsweise in Betracht:

Für die technische Untersuchung ist zu dokumentieren, welche dieser Unterlagen als Prüfgrundlage verwendet werden und auf welchen Versions- oder Zeitstand sie sich beziehen.

Abgrenzung: Widersprechen sich mehrere Dokumente, kann ein technisches Gutachten diese Widersprüche feststellen und ihre Auswirkungen auf die Prüfbarkeit beschreiben. Welche Vertragsunterlage rechtlich Vorrang hat, ist keine technische Feststellung.

3. Anforderungen müssen in prüfbare Kriterien überführt werden

Dokumentierte Anforderungen sind nicht immer unmittelbar als Testkriterium verwendbar. Aussagen wie „die Anwendung soll schnell sein“ oder „die Bedienung soll intuitiv sein“ benötigen für einen reproduzierbaren technischen Vergleich zunächst einen konkretisierten Prüfmaßstab.

Ein Prüfkriterium sollte erkennen lassen, welcher Ausgangszustand vorausgesetzt wird, welche Aktion oder Messung erfolgt und welches Ergebnis als erwarteter Zustand dokumentiert ist.

Anforderung
Welche technische Eigenschaft ist dokumentiert?
Prüfgegenstand
Für welchen Softwarestand gilt die Untersuchung?
Prüfbedingung
Welche Umgebung, Eingabedaten und Konfiguration werden verwendet?
Prüfhandlung
Welche Funktion wird ausgeführt oder welche Eigenschaft wird gemessen?
Erwartetes Ergebnis
Welches Ergebnis entspricht dem dokumentierten Soll?
Beobachtetes Ergebnis
Was tritt beim konkreten Ist-Zustand tatsächlich auf?

4. Der Ist-Zustand muss eindeutig bestimmt werden

Die Aussage „die Software funktioniert nicht“ bezeichnet noch keinen reproduzierbaren Untersuchungsgegenstand. Festzuhalten ist vielmehr, welche konkrete Softwarefassung geprüft wurde.

Bei versionsverwalteter Software können dafür beispielsweise relevant sein:

Die offizielle Git-Dokumentation beschreibt Revisionsparameter unter anderem als Möglichkeit, konkrete Commit-Objekte eindeutig zu bezeichnen. Ein solcher Bezug kann deshalb ein Bestandteil der technischen Identifikation des Prüfgegenstands sein.

5. Durchführung des Soll-Ist-Vergleichs

Die eigentliche Untersuchung sollte so dokumentiert werden, dass ein fachkundiger Dritter nachvollziehen kann, wie der Befund entstanden ist.

Dazu gehören insbesondere:

6. Funktionale und qualitative Abweichungen

Nicht jede technische Beanstandung betrifft eine vollständig fehlende Funktion. Ein Soll-Ist-Vergleich kann sich auch auf Qualitätsmerkmale einer Software beziehen, beispielsweise Zuverlässigkeit, Performance, Sicherheit oder Wartbarkeit.

ISO/IEC 25010:2023 stellt hierfür ein Produktqualitätsmodell bereit. Die dort beschriebenen Qualitätsmerkmale können als fachlicher Bezugsrahmen dienen, wenn Anforderungen, Testziele, Qualitätskriterien oder Akzeptanzkriterien systematisch strukturiert werden sollen.

Die bloße Nennung eines Qualitätsmerkmals ersetzt jedoch kein konkretes Prüfkriterium für den Einzelfall. Es muss weiterhin festgelegt werden, welche Eigenschaft mit welcher Methode untersucht wird.

7. Wie wird eine technische Abweichung formuliert?

Ein belastbarer Befund sollte den Vergleich möglichst konkret beschreiben. Statt einer pauschalen Aussage wie „die Software ist mangelhaft“ kann beispielsweise festgehalten werden, dass ein definiertes Akzeptanzkriterium in einem konkret bezeichneten Release unter dokumentierten Testbedingungen nicht erfüllt wurde.

Dadurch bleibt erkennbar, was unmittelbar beobachtet wurde und welcher Teil bereits fachliche Interpretation ist.

8. Widersprüchliche oder unvollständige Soll-Unterlagen

In realen Projekten ist der dokumentierte Soll-Zustand nicht immer widerspruchsfrei. Ein Pflichtenheft kann beispielsweise von späteren Change Requests, Tickets oder Abnahmeunterlagen abweichen.

In diesem Fall sollte die technische Untersuchung die unterschiedlichen Fassungen transparent gegenüberstellen, ihren jeweiligen Zeitbezug dokumentieren und deutlich machen, welche Variante für welchen Prüfschritt verwendet wurde.

Kann kein hinreichend bestimmter technischer Soll-Zustand rekonstruiert werden, begrenzt dies die Reichweite des möglichen Gutachtenergebnisses.

9. Was bedeutet ein fehlender ursprünglicher Softwarestand?

Auch der Ist-Zustand kann unvollständig dokumentiert sein. Fehlt beispielsweise der tatsächlich ausgelieferte oder abgenommene Softwarestand, darf eine spätere Fassung nicht ohne Weiteres als identischer Untersuchungsgegenstand behandelt werden.

In solchen Fällen ist zu dokumentieren, welche Rekonstruktion technisch möglich ist, welche Annahmen erforderlich sind und welche Aussagen wegen fehlender Artefakte gerade nicht getroffen werden können.

10. Befund, Interpretation und rechtliche Würdigung

Der technische Befund hält fest, welche Übereinstimmung oder Abweichung zwischen dem verwendeten Soll-Kriterium und dem untersuchten Ist-Zustand festgestellt wurde.

Die fachliche Interpretation kann anschließend erläutern, welche technische Bedeutung die Abweichung besitzt, welche Systembestandteile betroffen sind und welche Aussagegrenzen bestehen.

Rechtliche Grenze: Die technische Feststellung einer Abweichung ist nicht gleichbedeutend mit der rechtlichen Feststellung eines Mangels. Ob eine Abweichung eine vertragliche Pflichtverletzung oder eine bestimmte Rechtsfolge begründet, ist von der technischen Untersuchung zu trennen.

Konstruiertes Beispiel

Für eine Individualsoftware ist in einem freigegebenen Anforderungsdokument beschrieben, dass ein Export bestimmte Datensätze in einem definierten Format erzeugen soll. Zusätzlich liegt ein gekennzeichnetes Release mit zugehörigem Git-Commit vor.

Für die Untersuchung wird zunächst dokumentiert, welche Anforderungsfassung für den relevanten Zeitpunkt verwendet wird. Anschließend werden Eingabedaten, Systemumgebung und erwartetes Exportformat festgelegt und der Test am bezeichneten Release ausgeführt.

Ergibt der Test ein abweichendes Dateiformat, kann dieser Unterschied als technischer Befund dokumentiert werden. Die rechtliche Bedeutung dieses Befunds ist davon getrennt zu beurteilen.

Das Beispiel ist vollständig konstruiert und stellt kein reales Mandat und keine gerichtliche Beauftragung dar.

Quellen und fachliche Grundlage

  • Normative Primärquelle ISO/IEC/IEEE 29148:2018: Systems and software engineering – Life cycle processes – Requirements engineering. Offizielle ISO-Produktseite . Geprüft am 18.09.2026.
  • Normative Primärquelle ISO/IEC 25010:2023: Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Product quality model. Offizielle ISO-Produktseite . Geprüft am 18.09.2026.
  • Technische Primärquelle Git-Projekt: gitrevisions – offizielle Dokumentation . Geprüft am 18.09.2026.
  • Eigene Fachliteratur Mathias Ellmann: Von Code zu Lösungen im Software Engineering mit Java . Fachlicher Hintergrund zu Anforderungen, Implementierung, Qualität und Fehleranalyse.
  • Eigene fachliche Einordnung Die konkrete Untersuchungsstruktur des Soll-Ist-Vergleichs ist eine methodische sachverständige Einordnung. Der tatsächliche Prüfmaßstab wird aus der jeweiligen technischen Fragestellung und der dokumentierten Untersuchungsgrundlage abgeleitet.

Weiterführende Beiträge

Welche Unterlagen für die Bestimmung von Soll- und Ist-Zustand benötigt werden können, erläutert der Beitrag Welche Unterlagen benötigt ein IT-Sachverständiger bei Streit über Individualsoftware?

Wie der für einen Soll-Ist-Vergleich relevante Softwarestand technisch bestimmt und dokumentiert werden kann, erläutert der Beitrag Welche Softwareversion muss ein Sachverständiger untersuchen? .

Wenn der untersuchte Ist-Zustand aus einem Repository oder Quellcodebestand abgeleitet wird, erläutert der Beitrag Quellcode als Untersuchungsgegenstand: Repository, Commit, Branch und Build die technische Dokumentation von Repository-Zustand und Build-Bezug.

Der allgemeine Quellen- und Dokumentationsstandard des Wissensbereichs ist unter Quellen und Methodik beschrieben.

IT-Sachverständiger Mathias Ellmann

Software- und Quellcode-Gutachten

Wenn dokumentierte Anforderungen mit einem konkreten Softwarestand verglichen werden sollen, können zunächst Untersuchungsgegenstand, Soll-Grundlage und Prüfkriterien eingegrenzt werden.

Software-Gutachten ansehen