Einführung
Ein funktionierendes Change Management ist der Grundpfeiler für Weiterentwicklungen am bestehenden System. Dabei ist es wichtig, Neuerungen nicht nur produktiv zu setzen, sondern diese auch gewissenhaft zu prüfen. Eine Qualitätssicherung (QS) sollte daher mit dem Change Management immer Hand in Hand einhergehen. Dabei müssen sowohl die Auswirkung des Changes als auch die bereits bestehenden Anwendungen gründlich qualitätsgesichert werden. Nur so kann sichergestellt werden, dass der Change in einem Bereich nicht gleichzeitig zu einem Rückschritt in einen anderen führt.
Schließlich soll der Endkunde ein möglichst zuverlässiges Produkt erhalten und bestehende Produkte sollen nicht beschädigt werden. Um hier ein strukturiertes Vorgehen zu gewährleisten, wird im Folgenden ein exemplarisches Prozessvorgehen vorgestellt und aufgezeigt, welche Tool-Unterstützung seitens MicroStrategy besteht.
Change Management mit MicroStrategy
Die klassische dreistufige Systemumgebung mit Entwicklung, Test und Produktion gibt die Reihenfolge des Change Managements vor. Eine geordnete Migration sollte grundsätzlich von der Entwicklung über die Test- bis zur Produktionsumgebung erfolgen. Dabei erhöhen Einheitlichkeit und Automatisierung im Prozessvorgehen die Transparenz und Reproduzierbarkeit. Die Möglichkeit einer (optionalen) Rückabwicklung der durchgeführten Changes verringert das Risiko bei Produktivsetzungen und kann im Fall eines Problems Nerven sparen. MicroStrategy unterstützt das Vorgehen mit dem Object- und Integrity-Manager.
Object-Manager – Drag & Drop vs. Paketierung
Änderungen lassen sich innerhalb von MicroStrategy mithilfe des Objekt-Managers durchführen. Dabei können Änderungen an Objekten durch Drag & Drop oder durch die Erstellung von Paketen zwischen zwei Umgebungen verschoben werden. Die Möglichkeit, Objekte via Drag & Drop zu verschieben, ist intuitiv und schnell. Jedoch gefährdet dies einen einheitlichen, nachvollziehbaren und transparenten Change-Prozess. Nebenbei müssen bei dieser Art der Migration Quelle- und Zielumgebungen aktiv sein und werden für die Migration gesperrt. Dies ist nicht immer möglich.
Eine elegantere Möglichkeit wird mit der Erstellung von sogenannten Objekt-Manager Paketen erreicht. Bei diesem Vorgehen werden zu migrierende Objekte innerhalb eines Pakets gebündelt. Diese Pakete speichern den aktuellen Stand der Objekte und lassen sich zu einem späteren Zeitpunkt auf der jeweiligen Umgebung einspielen. Weiterhin kann so sichergestellt werden, dass Pakete, die auf der Produktionsumgebung eingespielt werden, zuvor genauso auf der Testumgebung eingespielt wurden. Bei dieser Art der Migration muss insbesondere sichergestellt werden, dass Objekte nicht in multiplen Paketen beinhaltet sind. Sollte dies der Fall sein, muss situativ vorgegangen und geprüft werden, in welcher Reihenfolge Pakete eingespielt werden.
Integrity-Manager – Testtypen
Integraler Bestandteil des Change Managements sollte die Qualitätssicherung sein. Zum Testen von MicroStrategy Objekten wie Reports, Dokumenten und Dossiers und der darin enthalten Objekte eignet sich der Integrity-Manager. Dieser kann auf Daten und SQL Differenzen prüfen und bietet vier Testtypen:
Projekt vs. Projekt
Vergleicht zwei Reports unterschiedlicher Projekte miteinander. Die Projekte müssen zum Testzeitpunkt aktiv sein.
Baseline vs. Projekt
Vergleicht einen Report eines Projektes gegen eine zuvor erstellte Baseline. Eignet sich um festzustellen, welche Veränderungen ein neu eingespielter Change verursacht.
Baseline vs. Baseline
Vergleicht zwei zuvor erstellte Baselines gegeneinander. Projekte müssten zum Zeitpunkt des Tests nicht aktiv sein. Kann bei Performance-Tests nützlich sein.
Einzelnes Projekt (Baseline)
Erstellt eine Baseline die später in obigen Testtypen verwendet werden kann. Dabei wird eine vordefinierte Liste von Reports, Dokumenten oder Dossiers getestet. So könnten z. B. Differenzen, nach einem Upgrade auf eine neue MicroStrategy Version oder Änderungen der VLDB Einstellung erkannt werden.
Im Nachfolgenden wird ein Prozess vorgestellt, der das Change Management mithilfe von MicroStrategy Paketen durchführt. Zur Qualitätssicherung wird der MicroStrategy Integrity-Manager verwendet.
Prozess mit MicroStrategy
Der Ablauf des vorgestellten Change Management Prozesses erfolgt sequenziell in zwölf Schritten. Diese Schritte sind in der nachfolgenden Abbildung und der daran anschliessenden Tabelle aufgeführt. Eine strukturierte Migration wird durch die Nutzung folgender Tools erreicht:
- MicroStrategy Developer (Entwicklung Objekte),
- MicroStrategy Object-Manager (Migration Pakete),
- MicroStrategy Integrity-Manager (QS Entwickler) und
- MicroStrategy Web (QS Kunde).
Schritt | Beschreibung |
0 | Entwicklung neuer Objekte in der MicroStrategy-Enwitcklungsumgebung |
1 | Durchführung von Entwicklertests in der MicroStrategy-Entwicklungsumgebung |
2 | Erstellung eines Paketes in der Microstrategy-Entwicklungsumgebung |
3 | Erstellung einer Baseline für Integrationstests in der MicroStrategy-Testumgebung |
4 | Migration des Paketes in die MicroStrategy-Testumgebung |
5 | Durchführung eines Integrationstests in der MicroStrategy-Testumgebung |
6 | Erstellung einer Baseline, die den zustand derMicroStrategy-Testumgebung nach Migration des Paketes widerspiegelt |
7 | Durchführung der Vorabnahme in der MicroStrategy-Testumgebung |
8 | Erstellung einer Baseline für die technische Abnahme in der MicroStrategy-Testumgebung (analog 3. Schritt) |
9 | Migration des Paketes in die MicroStrategy-Produktionsumgebung (analog 4. Schritt) |
10 | Durchführung der technischen Abnahme in der MicroStrategy-Produktionsumgebung (analog 5. Schritt) |
11 | Erstellung einer Baseline, die den Zustand der MicroStrategy-Produktionsumgebung nach Migration des Paketes widerspiegelt (analog 6. Schritt) |
12 | Durchführung eder fachlichen Abnahme in der MicroStrategy-Produktionsumgebung (analog 7. Schritt) |
0 – Entwicklung neuer Objekte in der MicroStrategy-Entwicklungsumgebung
Die Entwicklung neuer bzw. veränderter Objekte erfolgt im MicroStrategy-Developer. Der Entwickler erstellt alle Objekte zunächst nach den Entwicklungskonventionen. Diese können beispielsweise konkrete Namenskonventionen, ACL-Sicherheitseinstellungen oder Pfadangaben für die Objekte vorgeben.
Nach Abschluss der Entwicklungsarbeiten werden Shortcuts zu allen neuen oder geänderten Objekten im Paketfolder erstellt. Dafür kann die MicroStrategy Ordnerstruktur wie im Screenshot zu sehen erweitert werden.
Die erstellten Shortcuts in den Paketfoldern werden im 3. Schritt für die Erstellung des MicroStrategy Pakets genutzt.
1 – Durchführung von Entwicklertests in der MicroStrategy-Entwicklungsumgebung
Der Entwickler prüft, ob alle Objekte gemäss Entwicklungsrichtlinien entwickelt wurden.
Darüber hinaus erfolgt die Prüfung der Paketobjekte durch die Erstellung von Unit-Tests. Dies kann z. B. durch Reports erfolgen, die Bestandteil des Pakets werden. Die Reports beinhalten alle neuen Attribute und Metriken des Pakets. So kann die Lauffähigkeit der neuen Objekte geprüft werden.
2 – Erstellung eines Paketes in der MicroStrategy-Entwicklungsumgebung
Mit dem MiroStrategy Object-Manager wird ein Paket erzeugt, das alle im 1. Schritt spezifizierten Objekte enthält. Dabei werden die Shortcuts im Paketfolder genutzt. So ist jederzeit Reproduzierbarkeit und Transparenz gewährleistet. Das Paket sollte an einem zentralen Ort, z. B. einem Netzwerklaufwerk gesichert werden.
3 – Erstellung einer Baselines für Integrationstests in der MicroStrategy-Testumgebung
Vor dem Einspielen des neue Pakets auf der Testumgebung, wird dort eine Baseline erstellt. Somit hält man den Stand vor dem Einspielen des Pakets fest. Die Erstellung der Baseline erfolgt mit dem Integrity-Manager. Dort wird der Testtyp «Einzelnes Projekt (Baseline)» verwendet. Der Umfang des Test-Sets sollte zuvor definiert werden.
4 – Migration des Paketes in die MicroStrategy-Testumgebung
Zur Migration auf die Test-Umgebung wird der MicroStrategy Object-Manager genutzt. Bei der Migration empfiehlt sich, ein sogenanntes Undo-Paket zu erzeugen. Dies kann genutzt werden, um den Ursprungszustand wieder herstellen. Durch Einspielen des Undo-Pakets erhält man den Zustand vor der Migration des Pakets.
5 – Durchführung eines Integrationstests in der Microstrategy-Testumgebung
Nach erfolgreichem Einspielen des Pakets erfolgt eine Kontrolle der neuen Objekte. Dazu werden sowohl der im 2. Schritt und 5. Schritt angelegte Unit-Test bzw. Baseline genutzt. Der Integrationstests auf der Testumgebung erfolgt durch automatisierte Prüfung des Einflusses der im Release enthaltenen Objekte. Hierzu stellt der im Paket enthaltene Unit-Test die Funktionsweise der neuen Objekte sicher. Mithilfe des Integrity-Managers wird die im 5. Schritt angelegten Baseline (vor Einspielen des Pakets) mit dem neuen Stand (nach Einspielen des Pakets) gegenüber gestellt. Dazu wird ein Regressionstest vom Typ Baseline vs. Projekt durchgeführt.
6 – Erstellung von Baseline, die den Zustand der MicroStrategy-Testumgebung nach Migration des Paketes wiederspiegelt
Oftmals bestehen neben der Qualitätssicherung im Rahmen des Change Managements weitere automatisierte Test. Diese können z. B. regelmäßige Performance-Tests oder monatliche Tests zur Sicherstellung der Datenqualität sein. Wird die in Schritt 3 angelegte Baseline anderorts verwendet, empfiehlt sich eine Aktualisierung der Baseline nach dem Einspielen des Pakets.
7 – Durchführung der Vorabnahme in der MicroStrategy-Testumgebung
Die Vorabnahme in der MicroStrategy-Testumgebung erfolgt durch manuelle Prüfung der im Paket enthaltenen Objekte in der MicroStrategy-Testumgebung. Geprüft werden die Funktionalität, die Übersetzungen, die ACL etc. Die Prüfung erfolgt durch die im Change Management festgelegte Person.
Schritte 8 – 12
Die Schritte 7 – 12 werden auf der Produktionsumgebung, analog der Schritt 3 – 7 durchgeführt.
Fazit
Im Blogeintrag wurde auf die unterschiedliche Tool-Unterstützung seitens MicroStrategy beim Change Management eingegangen. Insbesondere das Paketieren mit dem Object-Manager und die verschiedenen Testtypen des Integrity-Managers erweisen sich als wichtige Tools. Neben dem korrekten Einsatz der Tools ist ein abgestimmter Change Management Prozess essenziell. Ein vernünftiger aufgesetzter Prozess ist nicht trivial, doch wirkt sich nachhaltig auf die Qualität der produktiv gesetzten Änderungen aus.
Weiterhin empfiehlt sich die Verwendung von Standards bei Benennung und Speicherung der Objekte wie Paketdateien, Logs und Testdefinitionen. Die Nutzung von vordefinierten Templates erhöht die Einheitlichkeit und die Möglichkeit, Teilschritte wie das Testing zu automatisieren, führt zu Zeitersparnissen beim Change Management.
Saracus verfügt über langjährige Erfahrung im Change Management und unterstützt Kunden aus unterschiedlichsten Branchen bei MicroStrategy Change Management Prozess. Dank einer umfassenden Rollen- und Privilegienverwaltung in MicroStrategy können spezielle Kunden Sicherheitsbedürfnisse bei der Migration in der Regel berücksichtigt werden.