Warum wir ein eigenes Programm geschrieben haben
Wann vorhandene Software genügt und wann Eigenentwicklung sinnvoll ist: Entscheidungskriterien und die Grenzen unseres Duplikat-Scanners mit getrennten Aufräumschritten.
Eine Eigenentwicklung lohnt sich, wenn eine klar beschriebene Anforderung mit vorhandener Software und deren Einstellungen nicht ausreichend erfüllt wird und der Nutzen auch Entwicklung, Prüfung und laufende Pflege rechtfertigt. Ob das zutrifft, lässt sich an einem kleinen, überprüfbaren Ablauf besser entscheiden als an einer langen Wunschliste.
Ein Beispiel aus unserer eigenen Entwicklung ist der Duplikat-Scanner mit Aufräum-Funktionen. In gewachsenen Datenbeständen liegen Verträge, Sicherungskopien und Projektordner mehrfach. Die Frage ist dabei nicht nur, welche Dateien den gleichen Inhalt haben. Entscheidend ist, welche Kopien der Betrieb weiterhin braucht.
Gleicher Inhalt heisst nicht überflüssig
Ein Vertrag kann bewusst im laufenden Projektordner und im Archiv liegen. Beide Kopien können inhaltlich identisch sein und trotzdem eine Aufgabe erfüllen. Ein technischer Treffer ist deshalb zunächst ein Vorschlag zur Prüfung, keine Löschfreigabe.
Das ist keine grundsätzliche Schwäche von Standardsoftware. Beispielsweise beschreibt dupeGuru eine Prüfung und Auswahl der Ergebnisse vor dem Löschen. Zusätzlich lassen sich Referenzordner vor Löschaktionen schützen. Solche Einstellungen gehören in einen Vergleich, bevor man selbst entwickelt.
Unser eigenes Werkzeug macht den von uns gewählten Ablauf ausdrücklich sichtbar: Scannen, Kontrollliste, Quarantäne und Endlöschung. Diese Reihenfolge ist eine eigene Gestaltungsentscheidung. Sie beweist nicht, dass kein anderes Programm die Anforderung erfüllen könnte.
Vier Schritte mit unterschiedlichen Folgen
- Scannen: Das Programm liest die ausgewählten Bestände und schreibt einen Bericht. Nach einer Vorauswahl über Dateigrösse und einen Teilinhalt werden verbleibende Kandidaten vollständig mit SHA-256 gehasht. Der Scan löscht oder verschiebt keine Quelldateien.
- Kontrollliste: Ein Mensch prüft, welche Kopie erhalten bleiben soll und welche zum Aufräumen freigegeben werden kann. Inhalt, Ablagezweck und benötigte Referenzen gehören zu dieser Entscheidung.
- Quarantäne: Freigegebene Kandidaten werden zunächst verschoben. Vorher prüft das Werkzeug Grösse und Hash von Quelle und Referenz erneut. Wenn die Voraussetzungen nicht passen, wird der Kandidat übersprungen und der Grund protokolliert.
- Endlöschung: Sie ist ein eigener Schritt nach einer Schutzfrist und einer weiteren Referenzprüfung. Erst das endgültige Entfernen kann Speicher freigeben. Die Quarantäne auf derselben Platte tut das noch nicht.
Auch ein lesender Scan ist nicht risikofrei: Er beansprucht Datenträger und Netzwerk, legt Berichte mit Dateipfaden an und kann bei Cloud-Dateien das Nachladen auslösen. Microsoft beschreibt solche automatischen Downloads durch Apps. Die Pfadauswahl, Berechtigungen und Ablage der Berichte müssen zum Betrieb passen. Eine lesbare Kopie, eine Sicherung und ein tatsächlich geprüfter Wiederherstellungsweg sind unterschiedliche Dinge.
Was der Bericht nicht beweist
Das Ergebnis bezieht sich auf die gelesenen Dateien im gewählten Umfang. Mindestgrösse, ausgeschlossene Ordner und Lesefehler begrenzen die Suche. Ein leerer Bericht belegt deshalb nicht, dass der gesamte Betrieb frei von Duplikaten ist. Ändert sich eine Datei während oder nach der Analyse, kann ein alter Treffer unbrauchbar werden.
Auch der rechnerisch freigebbare Speicher ist nur eine Obergrenze unter Annahmen. Wenn mehrere Kopien benötigt werden, sinkt der mögliche Gewinn. Hardlinks können bereits auf dieselben gespeicherten Daten zeigen; ihre sichtbaren Dateigrössen dürfen nicht einfach als zusätzliche Speicherbelegung addiert werden.
Wann genügt vorhandene Software?
Wenn eine Standardlösung den benötigten Ablauf mit verständlichen Einstellungen, passenden Rechten und überprüfbaren Ergebnissen abbildet, spricht viel dafür, sie zu verwenden. Auch eine Anpassung oder Schnittstelle kann reichen. Eine fehlende Komfortfunktion allein rechtfertigt noch kein eigenes Programm.
Vor einer Eigenentwicklung prüfen wir deshalb fünf Fragen:
- Welche konkrete Lücke bleibt? An einem echten Vorgang zeigen, was die vorhandene Lösung und ihre Einstellungen nicht leisten.
- Wie gross ist der Nutzen? Häufigkeit, Zeitbedarf und Fehlerfolgen erfassen. Bei einer einmaligen Aufgabe kann auch ein hoher Nutzen den Aufwand rechtfertigen.
- Was kostet der gesamte Betrieb? Entwicklung, Tests, Dokumentation, Updates, Schulung und spätere Anpassungen berücksichtigen.
- Wer übernimmt die Verantwortung? Betrieb, Zugänge, Fehlerbehandlung und Wartung brauchen einen klaren Besitzer. Ein kleines Werkzeug ist nicht automatisch wartungsfrei.
- Wie wird Erfolg geprüft? Einen begrenzten Testfall, akzeptable Ergebnisse und einen Rückweg festlegen, bevor echte Daten verändert werden.
Den wirtschaftlichen Rechenweg erläutert der Artikel zur Wirtschaftlichkeit. Wie vorhandene Programme durch Schnittstellen zusammenarbeiten können, beschreibt der Beitrag zur Wahl und Verbindung von Software.
Erst prüfen, dann eingreifen
Der Cleaner ist ein Beispiel unserer eigenen Entwicklung, dargestellt bei den Projekten. Die hier erläuterten Funktionen sind kein gemessener Nutzen für einen Kunden und keine Zusage einer risikofreien Bereinigung.
Für einen betrieblichen Einsatz würden wir zunächst einen begrenzten Bestand prüfen: bewusst benötigte Doppelkopien, geänderte Dateien, fehlende Referenzen und Lesefehler. Dazu gehört, den Rückweg aus der Quarantäne tatsächlich zu prüfen. Erst danach lässt sich entscheiden, ob der Ablauf für den vorgesehenen Einsatz genügt.
Haben Sie einen wiederkehrenden Vorgang, den Ihre vorhandene Software nicht ausreichend unterstützt? Im Prozessgespräch klären wir zuerst die Anforderung und den Nutzen. Daraus ergibt sich, ob Einstellungen, eine Verbindung bestehender Systeme oder eine Eigenentwicklung sinnvoll sind.