Datenmigration/ Datenimport
Ich habe den Titel dieses Beitrags ganz bewusst um den Datenimport erweitert. Anstatt von Datenimport hätte ich auch von Datenschnittstelle sprechen können. Im Beitrag werden folgende Themen angesprochen:
- Unterschied Migration zu Import
- Methoden der Datenerfassung
- Schnittstellen
- Notwendige Informationen für die Datenmigration
- Möglicher zeitlicher Ablauf
- Rollen
- Fazit
——————————————————————————————————–
Was ist der Unterschied zwischen Migration und Import?
Die Datenmigration ist für mich eine einmalige Maßnahme, welche meist stufenweise, in mehreren Iterationsschritten hin zur finalen Datenübernahme aus Altsystemen, erfolgt.
Der Datenimport ist eine dauerhafte, meist regelmäßige Übernahme von Daten aus Fremdsystemen in eine „zentrale“ Anwendung.
Warum werden Migration und Import zusammen in diesem Beitrag beschrieben?
Während der Softwareeinführung werden meist Routinen entwickelt, die es dem Anwender erleichtern sollen, die vorhandenen Daten aus den Altsystemen einfach und sicher zu übertragen. Wünschenswert wäre es natürlich, wenn die Daten automatisiert per Knopfdruck zum gewünschten Stichtag übertragen werden könnten. Manchmal ist das möglich, doch vielfach wird es ein Traum bleiben.
Ein Traum auch deshalb, weil der Anwender oftmals nicht über die Fähigkeiten verfügt, die Daten in geeigneter Weise direkt im Altsystem aufzubereiten. Hier hilft dann in den meisten Fällen MS-Excel als Bindeglied und „nutzerfreundliches“ Aufbereitungstool zwischen Altsystemen und neuer Lösung. Der Softwareanbieter stellt dem Anwender Templates zu Verfügung, welche dieser mit den Altdaten befüllen kann, so dass anschließend ein Upload der Informationen in das neue System möglich ist. Diesen Umstand kann der Anwender später im laufenden Betrieb eventuell nutzen, um ergänzende Daten aus anderen Anwendungen gezielt in das neue System einzuspielen. Hier wären wir dann beim permanenten Import.
Welche Methoden der Datenerfassung werden primär unterschieden?
Ich unterscheide bei der Erfassung folgende Methoden:
- manuelle Erfassung
Was denkst Du gerade – vorsintflutlich? Auf keinen Fall, den diese Methode kann sich als wichtiges Instrument für das Training herausstellen. Durch die manuelle Erfassung der ihm bekannten Daten in der neuen Umgebung, lernt der Nutzer meiner Beobachtung nach unheimlich viel über das neue System kennen. Bei der Entscheidung über eine manuelle Erfassung, sind natürlich die Menge der einzugebenden Daten und die Form in der die Daten derzeit vorliegen, wichtige Kriterien. Liegt alles in Papierform vor, dann braucht man sich wahrscheinlich wenig Gedanken über die Methode machen. Abgewogen werden sollte auch, der für die anderen Methoden erforderliche zeitliche und it-technische Aufwand. Dabei bitte nicht vergessen, wie viel Aufwand die Fachabteilung in die Übertragung des Know- hows stecken muss.
- semi-manuelle Erfassung/ manueller Upload
Was soll das denn sein? Oftmals ist die erstmalige Übertragung von Daten in ein System sehr zeitaufwendig und umständlich. Daher bietet man dem Anwender an, die Daten zunächst in ein vordefiniertes Excel-Blatt einzutragen, welches man später über eine im Idealfall vorhandene oder aber zu entwickelnde Schnittstelle hochlädt.
Die Erfassung ist dadurch einfacher. Da aber die Businesslogik aus dem System fehlt, müssen manchmal Wege beschritten werden, die dem Standarduser nicht immer einleuchten. Daher muss immer eine Schulung erfolgen und ausreichend Support zur Verfügung gestellt werden. Kann man die Standardschnittstelle benutzen, dann kann diese Methode die wirtschaftlichste sein.
- semi-automatischer Upload/
Halb-automatisch also, dass hört sich gut an und klingt nach wesentlich mehr Komfort. Die Methode setzt auf der vorherigen Methode auf, unterstützt aber den Anwender beim Hochladen der Daten. Über eine sogenannte Triggerfunktion durchsucht das System vordefinierte Verzeichnisse nach neuen Inhalten. Wird eine neue Datei mit einem vordefinierten Namen gefunden, wird deren Inhalt über eine vordefinierte Schnittstelle in das System hochgeladen. Man könnte so beispielsweise bestimmte Aktienkurse einmal täglich ins System hochladen. Diese Methode eignet sich eher für Uploads im bereits laufenden Betrieb.
- vollautomatischer Upload
Diese Methode setzt volle Kenntnis über die künftig notwendigen Daten und deren genaue Ablage voraus. Eine automatische Funktion wird dann in zeitlichen Abständen oder bei Auslösung eines Events (z.B. Änderung der Daten, bestimmter Termin), den Upload der Daten vornehmen, ohne dass es eines manuellen Anstoßes bedarf. Auch diese Methode ist eher im laufenden Betrieb geeignet. Durch die genaue Definition der Daten und ihrer Ablage bietet der vollautomatische Upload gute Chancen des Datenabgleichs zwischen Systemen. Denkbar wäre ein Austausch zwischen getrennt geführten Buchhaltungs- und Transaktionssystemen. Eventuell könnten auch spezielle Datenbanken für das Meldewesen gefüttert werden.
Welche Methode ist nun die Beste? Dies ist von Fall zu Fall zu entscheiden. Überlege insbesondere auch, ob Du nicht mehrere Methoden für die Migration einsetzt. Für immer wiederkehrende Importe könntest Du eine Schnittstelle entwickeln lassen, während Du vielleicht für die einmalige Übertragung die manuelle Methode wählst. Leider sind die studentischen Hilfskräfte nicht mehr so zahlreich vorhanden, als früher.
Eine weitere Methode könnte die Synchronisation von Daten zwischen mehreren Systemen sein. Wenn die Synchronisation gut läuft, sicherlich eine angenehme Sache. Leider streiken Systeme aber auch gerne mal und dann gibt es richtig Arbeit. Mit Rollback-Lösungen und permanenten Datensicherungen kann man versuchen, einiges zu retten bzw. Zeit zu sparen. Ohne Fachleute wirst Du aber nicht weit kommen.
Sind wir bei der Synchronisation von Daten, dann sind wir eigentlich auch schon beim Datenexport. Welcher allerdings in diesem Beitrag nicht besprochen werden soll.
Datenschnittstelle
Die Datenschnittstelle ist immer wieder ein Aufreger bei den Anwendern. Weniger it-affine Anwender haben meist nicht das Gefühl dafür, was hinter solchen Funktion alles stecken kann. Die Kunst ist es letztendlich ja auch, etwas komplexes einfach handhabbar zu machen. Es gibt eine ganze Reihe von Fehlerquellen, die eine gute Schnittstellenprogrammierung abfangen sollte. Wenn ich von Fehlerquellen spreche, meine ich Betriebs-, Bedien- und Datenfehler. Je stärker Vorgänge automatisiert werden können, um so eher hat man es auch mit einer größeren Masse an Daten zu tun. Aufgetretene Fehler rückgängig zu machen, ist damit wesentlich schwieriger, als bei einer simplen Eingabe in Datenfelder. Hat man die Schnittstelle fertig, kommt schnell der Ruf nach einer Workflow Unterstützung.
Welche Informationen sind für die Migration/ Import nötig?
In der folgenden Tabelle habe ich für jede Methode der Datenerfassung eine Spalte angelegt. Die Zeilen in der ersten Spalte beschreiben die Informationen. in der Matrix kannst Du erkennen, welche Informationen bei welcher Methode mindestens vorliegen sein sollten.
manuelle Erfassung | semi-manuelle Erfassung | semi-automatischer Upload | automatischer Upload | |
---|---|---|---|---|
Beschreibung aller Datentypen | 0 | X | X | X |
Beschreibung der Datenquelle | X | X | X | X |
Beschreibung der Dateninhalte | X | X | X | X |
Format/ Struktur des Importfiles | 0 | X | X | 0 |
Nutzungsfrequenz | 0 | 0 | X | X |
Beschreibung Triggerfunktionalität | 0 | 0 | X | X |
Zugangsrechte und -kontrolle | 0 | 0 | X | X |
Alarm/ Termin/ Wiedervorlage | 0 | 0 | 0 | X |
Workflow | 0 | 0 | 0 | X |
Die Tabelle sagt zwar aus, welche Informationen benötigt werden, auf den Zeitpunkt geht sie jedoch nicht näher ein.
Wann ist der richtige Zeitpunkt, um mit der Datenmigration zu beginnen?
Du kannst nie zu früh beginnen! Allerdings solltest Du Dich an den gemeinsam mit dem Projektmanager vereinbarten Ablaufplan halten, um gegebenenfalls doppelte Arbeiten zu vermeiden.
Die Datenmigration zieht sich eigentlich vom ersten Moment der Entscheidung über den Kauf einer neuen Lösung, bis zur Inbetriebnahme und Abnahme der Anwendung hin. Bezieht man den permanenten Import mit ein, dann geht sie weit über das Ende des Projektes: Softwareeinführung hinaus.
„Erster Moment der Entscheidung“ – hältst Du diesen Zeitpunkt für zu früh? Ich nicht, denn eigentlich in allen Projekten, die ich bisher betreut habe, war das Thema Datenqualität eines der größten Mankos der Vergangenheit. Ein neues System wird eingeführt. Die meisten Deiner Kollegen sind sicherlich/ hoffentlich in froher Erwartung auf das Neue.
Welche Schritte beinhaltet die Datenmigration?
Ich kann diese Frage hier natürlich nur ganz allgemein beantworten. Für eine gelungene Datenmigration ist eine enge Zusammenarbeit des Projektteams mit dem Fachbereich erforderlich.
Vorprüfung
Als Verantwortlicher solltest Du die Gunst der Stunde nutzen und die Kollegen sensibilisieren, die Daten auf ihre Qualität hin zu prüfen. Die Datenqualität kann von jedem einzelnen oder von einem speziellen Team geprüft werden. Prüft die Fachabteilung, dann kann man auf das höhere inhaltliche Know-how zurückgreifen, prüft die IT, dann nutzt man das höhere systemische Know-how. Eine Kombination aus beidem kann die Stärken aus beiden Welten nutzen. Überleg Dir bitte das genaue Vorgehen und fertige Checklisten an, die Du den Mitwirkenden aushändigst. Ein Punkt einer Qualitätsprüfungen könnten z.B. der Check auf Dubletten sein. Erhöhe die Motivation der Kollegen durch die Anpreisung der neuen Möglichkeiten des einzuführenden Softwaretools.
Datenquellenanalyse
Auch die Vorabprüfung auf sämtliche Datenquellen von in- und externen Stellen ist eine sehr nützliche Vorarbeit. Erfasse, welche Lizenzen vorliegen, wer welche Daten wie oft nutzt und welche Möglichkeiten der externe Datendienstleister für Datenimporte sonst noch anbietet. Dies sind nur einige Punkte, die vorab untersucht werden sollen. Ändere aber bitte jetzt noch nichts an den bestehenden Verträgen, bevor dies mit dem Projektmanager des Anbieters der neuen Softwarelösung nicht abgeklärt ist. Änderungen sollten im Blue Print definiert werden.
Datenaufbereitung
Ein neues Softwaretool wird eingeführt. Dieses Tool wird die Daten mit Sicherheit in einer anderen Form verarbeiten, als bisher in Deiner Organisation geschehen. Ich hab es vielfach erlebt, dass Kunden bereits vor Ende der Analysephase des Softwareeinführung die Daten für die finale Übernahme aufbereiten wollten. Sorry, aber das macht nun wirklich keinen Sinn!
Zunächst muss doch erstmal festgelegt werden, welche Daten verarbeitet werden sollen. Ist dies geklärt, dann kann man sich Gedanken über die Aufbereitung machen. Nehmen wir an, Du arbeitest mit Excel-Templates für die Übertragung, dann sollte der Softwareanbieter Dir, sobald die definierten Felder im System bereitstehen, ein Template übergeben. Aus Erfahrung weiß ich, dass diese Templates sehr abstrakt sein können. Bei der Eingabe im laufenden Betrieb nimmt Dir die Software mit ihrer eingebauten Businesslogik nämlich vielfach ganz unbemerkt einige Schritte ab. Du wirst Dir wenig Gedanken über die Verlinkung von Personen zu Unternehmen machen müssen. Über Auswahlfelder oder Suchmasken wird Dir die Zuordnung hier wesentlich erleichtert. In Excel-Templates müssen solche Verknüpfungen manuell gesetzt werden. Dies erfordert dann die exakte Eingabe von Schlüsselfeldern, damit das System später eine eindeutige Zuordnung durchführen kann. Solche Vorgänge unterliegen daher auch einer fest vordefinierten Reihenfolge. Man kann schließlich nur auf Dinge verweisen, die auch vorhanden sind.
Ergo, eine frühzeitige Schulung und ein Ansprechpartner im Support werden zwingend notwendig sein.
Jetzt, wo Du geschult bist und die Datenstruktur verstanden hast, könntest Du Dich ans Werk machen. Aber ist das wirklich sinnvoll? Nun ja, leider sind Daten nicht immer statisch, sie verändern sich im Laufe der Zeit. Du solltest Dir daher eine Strategie und einen Zeitplan zurecht legen, wann und wie Du welche Daten aus den bestehenden Systemen aufbereitest.
Übernahmestrategie und Vorbereitung
Ich würde Dir empfehlen einen Probelauf mit allen Dir übersandten Templates durchzuführen, so dass Du sicher sein kannst, dass Du die Logik des Systems auch verstanden hast. In diesem Fall hast Du dann schon getestet, wie Du die Daten am besten aus den Altsystemen heraus bekommst. Gegebenenfalls sind auch Umrechnungsroutinen erforderlich. Damit wäre der qualitative Teil des Tests der Datenübernahme abgeschlossen. Dieser kann durchaus in mehreren Iterationsstufen erfolgen.
Wichtig ist jetzt noch die Performanceanalyse. Es gilt zu prüfen, wie lange die Datenübernahme aus den Altsystemen dauert, wie lange Du für die Aufbereitung benötigst und wie viel Zeit der Upload in das neue System in Anspruch nimmt.
Diese Erkenntnisse kannst Du in Deine Migrationsstrategie einfließen lassen. Sicherlich kann Dir der Softwareanbieter auch Tipps geben. Es ist aber nicht gesagt, dass er gerade mit Deinen Altsystemen spezielle Erfahrungen sammeln konnte.
Finale Migration
Die finale Übernahme der Daten erfolgt nach dem vorher erarbeiteten und abgestimmten Strategiepapier. Leider ist dies sehr oft nur an Wochenenden erforderlich. Hoffentlich hast Du nicht vergessen, den Tag entsprechend vorzubereiten. Ich Stand bei einem Kunden auch schon mal vor verschlossenen Türen, weil das Alarmsystem am Wochenende niemanden rein lassen wollte.
Ist die Übertragung erfolgreich verlaufen, sollten zügig vordefinierte Tests erfolgen. Inwiefern danach Altsysteme und das neue System parallel gefahren werden, ist immer eine Einzelfallentscheidung.
Wer wird für die Datenmigration benötigt?
Die Resourcenplanung für die Softwareeinführung wird im Projektplan festgelegt. Der nach der Analysephase abzunehmende Blue Print konkretisiert die Planung noch weiter.
Viele Anbieter vermeiden die Verantwortlichkeit für die Daten. Dies ist insofern verständlich, da sie überhaupt nicht einschätzen können, ob die vorhandene Basis auch frei von Fehlern ist. Außerdem wird kaum ein Anbieter in der Lage sein ausreichend Know-how vorzuhalten, um Daten aus allen am Markt vorhandenen Systemen in seine angebotene Lösung zu migrieren. Der Migrationsprozess wird daher meist unterstützt, aber nicht aktiv durchgeführt.
Aus diesem Grund kann es notwendig werden, sofern nicht im eigenen Haus vorhanden, externe Fachpartner mit dem Export von Daten aus den vorhandenen Systemen zu beauftragen. Diese Fachpartner wären dann mit der spezifischen Aufgabe, Teil des Projektteams. Ich habe Projekte begleitet, wo aus einem SAP-System Daten migriert werden mussten. Dies geht nur mit Spezialisten, die die „geheimen“ Eigenschaften von SAP verstehen.
Fazit
Eine gelungene Datenmigration hat viel, mit guter Vorbereitung und Umsetzungsstrategie zu tun. Wichtig ist es ein gesundes Mittelmaß, zwischen technisch Machbaren und kaufmännisch Sinnvollem zu finden. Automatisch ist nicht immer gut, da teuer in der Anschaffung und oftmals sehr fehleranfällig.
Individuell angepasste Schnittstellen kosten nicht nur einmalig Geld, sondern verschlingen über die Jahre eine Menge Geld für Wartung und Anpassung.
Da die Migration ein wichtiger Teil des Gesamtprojektes ist, solltest Du Dich vor Kauf der Software eingehend über das Thema Migration und Schnittstelle informieren. Lass Dich nicht mit bloßen Angaben über die Formate abspeisen, sondern ganz konkret zeigen, wie es geht und wie flexibel die Schnittstelle ist. Gute Schnittstellen sparen auf Dauer viel Geld und Zeit.