Warum eine Versionsnummer methodisch relevant ist
Software ist kein neutraler Behälter. Updates können Standardwerte, Rechenbibliotheken, Zufallszahlengeneratoren, Rundung, fehlende-Werte-Behandlung oder Exportformate verändern. Ein Ergebnis, das heute in einer Oberfläche erscheint, muss daher in einem späteren Release nicht bytegleich aussehen. Die Versionsangabe beweist noch keine Reproduzierbarkeit, schafft aber eine prüfbare Ausgangslage. Ohne sie bleibt unklar, ob eine Abweichung fachlich oder technisch verursacht wurde.
Das Ziel ist nicht, den Rechner vollständig zu archivieren. Dokumentiert werden die Komponenten, die den Analyseweg oder die Ausgabe beeinflussen können. Für eine reine Textkodierung kann das wesentlich weniger sein als für ein Modell mit mehreren Python-Paketen, nativen Bibliotheken und GPU-Unterstützung. Umfang und Risiko müssen zusammenpassen.
Der sinnvolle Mindestumfang
Beginne mit Programmname, vollständiger Versionskennung und Betriebssystem einschließlich Architektur. Ergänze verwendete Module, Plug-ins, Sprachpakete, Makros und externe Laufzeitumgebungen. Halte außerdem Sprache, Dezimaltrennzeichen, Zeitzone, Zeichenkodierung und andere regionale Einstellungen fest, wenn sie Import oder Ausgabe beeinflussen. Für die Eingabedaten gehören Dateiname, Prüfsumme oder eindeutige Version ins Analyseprotokoll; sensible Rohdaten selbst werden dadurch nicht öffentlich.
- Identität: Produkt, Edition, Version, Build und Bezugsquelle.
- Umgebung: Betriebssystem, Prozessorarchitektur und relevante Hardware.
- Abhängigkeiten: Pakete, Erweiterungen, Treiber und ihre Versionen.
- Konfiguration: von Standardwerten abweichende Optionen und Gebietsschema.
- Ausführung: Datum, Eingabeversion, Befehl oder Klickfolge sowie Ausgabe.
GUI-Analysen brauchen mehr als einen Screenshot
Bei SPSS, Excel, MAXQDA oder anderer Oberflächensoftware sollte das Protokoll den Pfad vom Import bis zum Export beschreiben. Ein Screenshot kann eine Einstellung belegen, ersetzt aber keine strukturierte Liste: Er ist schlecht durchsuchbar, kann Menüs abschneiden und verrät nicht immer, welche Aktion vorher erfolgt ist. Exportiere Syntax oder Protokolle, wenn das Programm dies unterstützt. Wenn nicht, nummeriere die entscheidenden Schritte und benenne Dialog, Option und ausgewählten Wert.
Dokumentiere besonders still wirkende Entscheidungen: aktive Filter, ausgeblendete Zeilen, Gewichtungen, Ausschlussregeln, Pivot-Aktualisierung, manuell umkodierte Werte und die Auswahl eines Tabellenblatts. Speichere eine unveränderte Eingabedatei getrennt von der Arbeitskopie. Damit bleibt erkennbar, welche Veränderung durch die Software und welche durch die Bearbeitung entstanden ist.
Code-Umgebungen einfrieren, ohne sie zu versteinern
Für R, Python und ähnliche Umgebungen sind Paketlisten hilfreicher als eine handgeschriebene Auswahl. Werkzeuge wie renv, requirements.txt, Lockfiles oder Container-Manifeste halten Abhängigkeiten in unterschiedlicher Genauigkeit fest. Eine solche Datei sollte zusammen mit Analysecode und einem Startbefehl versioniert werden. Notiere zusätzlich die Interpreter-Version und systemnahe Voraussetzungen, die nicht im Paketmanager erscheinen.
Eine eingefrorene Umgebung ist kein Ersatz für Wartung: Alte Komponenten können Sicherheitsprobleme haben oder auf neuer Hardware nicht mehr laufen. Bewahre deshalb die historische Spezifikation auf, teste aber eine aktualisierte Umgebung getrennt. Unterschiede gehören in ein Änderungsprotokoll. Für langfristige Nachnutzung sind offene Formate, dokumentierte Installationsschritte und ein archivierter Release oft belastbarer als der bloße Link auf einen veränderlichen Entwicklungszweig.
Die Wiederholungsprobe macht das Protokoll belastbar
Lass eine zweite Person oder dein zukünftiges Ich die Analyse anhand des Protokolls in einem neuen Ordner starten. Sie sollte die Daten finden, die Umgebung herstellen, den vorgesehenen Einstieg erkennen und die erwarteten Ausgaben erzeugen können. Notiere jeden fehlenden Schritt. Vergleiche nicht nur Endzahlen, sondern auch Fallzahlen, Warnungen, Zwischenobjekte und Ausschlusslisten. Bei stochastischen Verfahren sind erwartete Toleranzen und der verwendete Random Seed zu dokumentieren.
Wenn die exakte Altversion nicht mehr installierbar ist, bleibt die Dokumentation dennoch wertvoll: Sie erklärt die historische Entstehung und ermöglicht eine begründete Abweichungsanalyse. Kennzeichne dann, was rekonstruiert, emuliert oder mit neuer Version neu berechnet wurde. Eine reproduzierte Zahl und eine neu interpretierte Zahl sind unterschiedliche Nachweise.
Typische Fehler und eine praktikable Grenze
„Mit R ausgewertet“ ist zu grob; ein ungeprüfter Systemdump kann dagegen unnötig personenbezogene Pfade oder Zugangsinformationen enthalten. Prüfe exportierte Umgebungsdateien deshalb vor Veröffentlichung. Entferne Nutzernamen, private Serveradressen und Tokens, ohne fachlich relevante Versionen zu löschen. Bei geschützter Software darf die Dokumentation die Umgebung beschreiben, aber keine Lizenzdateien weitergeben.
Notiere auch die Plattform, wenn Bibliotheken betriebssystemspezifische Ergebnisse erzeugen. Diese Angabe hilft, Unterschiede gezielt zu untersuchen, ohne sie vorschnell der Datenanalyse zuzuschreiben.
