Stell dir den Horror vor: Gerade ist die Migration produktiv abgeschlossen, da taucht in den Daten ein stiller Fehler auf. Weil Kundenadressen in unterschiedlichen Logiken erfasst wurden, erhalten tausende Kunden fälschlicherweise Umzugsbriefe und -emails. Schlimmer noch: Der Fehler reproduziert sich in diesem Moment unwiderruflich in die Umsysteme. Der Schaden ist angerichtet.
Zugegeben, nicht jede von Hand gescriptete Migration muss in diesem Albtraum enden, aber das Risiko ist doch erheblich. Besonders, wenn die Daten komplexe fachliche Zusammenhänge abbilden, viele Sonderkonstellationen enthalten oder in grossen Mengen vorkommen. Im Finanz- und Versicherungssektor ist dies rasch der Fall. Ausserdem können Unterschiede in den Logiken und Zuordnungen zwischen Quell- und Zielsystem die Legacy-Ablösung erheblich erschweren.
Wir führen seit 37 Jahren Migrationen von hochkomplexen Daten durch und setzen nur ganz selten auf eigenentwickelte Scripts. Hier sind die Gründe weshalb:
Lösung trübt die Analyse
Ob selbstgeschriebene Python- oder SQL-Scripts oder Migrationstool: Jede Migration beginnt mit einer Datenanalyse. Darum können wir uns bei der Datenanalyse ganz auf den Inhalt konzentrieren. Wer die Scripts selbst schreibt, behält die Frage nach der Machbarkeit und dem Lösungsweg ständig im Hinterkopf. Erste Vorstellungen von Lösungswegen können einen Bias produzieren, bei dem Probleme relativiert oder nicht mehr als solche wahrgenommen werden. Ein Lösungsweg setzt sich unbewusst im Kopf fest, von dem das Team nur noch schwer abrückt.
Wer handgescriptet arbeitet, beginnt mit einem strukturlosen weissen Blatt. Die Mechanik einer toolgestützten Migration verlangt, dass wir uns systematisch mit den Dateninhalten, Abhängigkeiten, fachlichen Regeln und Zielstrukturen auseinandersetzen. So werden blinde Flecken in der Datenqualität aufgedeckt, die sonst gerne übersehen werden. Das führt zu Folgefehlern oder verhindert gar eine Datenmigration. Bei Eigenentwicklungen ist die Datenanalyse Teil des Codes. Wertelisten der Quell und Zielattribute müssen von Hand überall verteilt im Code gepflegt werden, was aufwändig und sperrig ist.
Im Fall von nag nxT leistet das Tool bei der Datenanalyse wertvolle Dienste: Es liefert Informationen, etwa zu Datenstrukturen, Dateninhalte, Relationsverhältnisse und fachliche Zusammenhänge. Handgescriptete Migrationen laufen Gefahr, die Daten nur selektiv und punktuell zu analysieren und nur auf bereits bekannte Probleme zu fokussieren.
Best Practice ist es, die Analysephase sauber von der Umsetzung zu trennen und rein fachlich anzugehen. Sie darf auf keinen Fall als Overhead wahrgenommen werden, sondern als fachliche Entscheidungsgrundlage. Datenqualitätsprobleme sollten nicht erst während der Umsetzung entdeckt werden.





