Agil und Mainframe sind kein Widerspruch!

Sie galten lange als eine aussterbende Spezies: Mainframes. Inzwischen werden ihre Stärken in der Verarbeitung von Massendaten, ihre hohe Verfügbarkeit und Zuverlässigkeit für große Workloads wieder geschätzt. Gartner geht davon aus, dass 90 Prozent aller Geschäftsanwendungen, der Großteil davon auf IBM Mainframe, auch in den nächsten fünf Jahren und darüber hinaus ihre Dienste tun werden.

Wer ein über lange Jahre bewährtes Produkt nutzt, muss jedoch nicht wie anno dazumal arbeiten. Moderne Prinzipien wie die agile Software-Entwicklung ziehen auch in die Welt von IBM Z ein. Die Bereitstellung von neuen Geschäftsfunktionalitäten wird damit transparenter. Und: Der Mehrwert dieser Systeme für den produktiven Einsatz lässt sich so besser darstellen und messen.

Von der sogenannten „Waterfall“ auf eine agile Softwareentwicklung umzustellen, ist jedoch kein Selbstläufer. Um hier den richtigen Weg einzuschlagen, sollten sich Entwicklungsabteilungen diese fünf Kernbereiche vornehmen:

Integration von Prozessen und Tools

In der hochdynamischen Welt moderner, vielfach mobiler Anwendungen dominiert Eclipse als Entwicklungsumgebung. Sie bietet agilen Entwicklern in einer Oberfläche neben Werkzeugen zur Softwareentwicklung auch die Sicht auf Backlogs, Sprints und Defects. Was liegt näher, dieselbe Umgebung auch für die Mainframe-Entwicklung zu nutzen? Die Herausforderung dabei ist, dass Werkzeuge wie Jira, ServiceNow oder CA Agile Central in der Regel nicht mit den Werkzeugen für das SCM (Software Configuration Management) auf dem Mainframe integriert sind. Die Folge: Blindflug. Der Entwicklungsfortschritt eines Change Requests, für den Änderungen in den Systems of Engagement sowie den Systems of Record nötig sind, lässt sich so nicht nachvollziehen. Viele Organisationen lösen dieses Dilemma über ihre Manpower. Die Entwickler müssen beide Welten parallel pflegen. So werden tagein tagaus Referenzen hin und her kopiert. Aus der Erfahrung kann ich berichten: Hochqualifizierte Ressourcen sind hier oft Stunden mit Copy und Paste befasst. Dass dies nicht gerade produktiv ist, leuchtet ein. Und da aufgrund der manuellen Tätigkeit jeder seine eigene Vorgehensweise anwendet, führt das im besten Fall zu inkonsistenten Ergebnissen. Im schlimmsten Fall zu unzuverlässigen Resultaten. Verantwortliche für die Softwareentwicklung sollten daher nach einem Weg suchen, agile Tools mit den Werkzeugen für die Mainframe-Umgebung zu integrieren. So entlasten sie wertvolle Ressourcen und sorgen für konsistente Entwicklungspraktiken.

Testen und Qualitätssicherung

Neben den Tools spielen die angewendeten Praktiken und Abläufe eine erfolgsentscheidende Rolle. Beide gehen Hand in Hand. Das gilt für das Entwickeln genauso wie für das Testen. Zentrale Fragen für jedes Entwicklungsteam sind dabei:

– Wie können wir einzelne Komponenten besser testen?
– Wie lässt sich ein Test Driven und Test Data Driven Development etablieren, um damit den Entwicklern das Testen zum frühestmöglichen Zeitpunkt zu erlauben?
– Wie steigern wir die Automatisierung im Unit Testing sowie im Functional Testing?
– Wie stellen wir die richtige Balance zwischen automatisiertem und manuellem Testen sicher?
– Wie lassen sich Testdaten möglichst automatisiert bereitstellen?
– Wie stellt man Testkapazitäten schnell und einfach je nach Bedarf bereit?
– Wie können Security und Qualität im Code sichergestellt werden?

Das Set an Tools muss genau auf diese Fragen abgestimmt sein, um die richtigen Prozesse für agile Entwicklungsteams über alle Plattformen hinweg zu schaffen.

Continuous Integration & Deployment

Continuous Integration (CI) ist ein wesentlicher Bestandteil der Delivery Pipeline und der agilen Softwareentwicklung. Denn damit lassen sich Komponenten aus der Entwicklung zuverlässig und schnell bereitstellen. Es ist aber auch durch die häufig monolithische Architektur der traditionellen Mainframe-Anwendungen eine der großen Herausforderungen für Entwicklungsteams, die CI effizient einzuführen. Anstelle der klassischen Approval Points entscheidet heute ein Entwickler selbst, wann seine Funktionalität reif ist für die Continuous Deployment Pipeline, und damit zum Beispiel für den User Acceptance Test. Er übergibt seinen Code einem automatisierten Build- und Testprozess, aus dem er letztendlich die Freigabe erhält. Ähnlich integriert können und sollten die Prozesse für das Deployment von Anwendungen für den Mainframe ablaufen. Diese dürfen nicht mehr isoliert in einer dezentralen Welt stattfinden. Aufgrund zunehmender Abhängigkeiten müssen sie in einem plattformübergreifenden Gesamtablauf eingebunden sein. Das heißt konkret: Abläufe, die heute in ChangeMan ZMF oder in CA Endevor abgebildet sind, sind mit den nachfolgenden Schritten für das Deployment zu integrieren und effizient zu steuern.

Mainframe-Applikationen

Um eine neue Funktionalität abzubilden, sind in der Regel mehrere Komponenten mit umfassendem Code erforderlich. Auch Abhängigkeiten zu den bereits bestehenden Programmen und deren Softwarearchitektur gilt es zu berücksichtigen. Mit den Anpassungen im System of Record bietet sich unter Umständen auch die Gelegenheit zu einem zusätzlichen Modernisierungsschritt: Eventuell lässt sich die Funktion aus dem monolithischen Code herauslösen und eine neue, eigenständige Funktion etablieren. Diese dockt dann über eine API (Application Programming Interface) an die bestehenden Funktionen an. Dieser evolutionärer Ansatz bietet mehr Dynamik und Flexibilität. So lassen sich Optionen zur Optimierung für das Business schneller ausschöpfen, ohne gleich die gesamte Applikation in einem risikobehafteten Reengineering-Projekt umschreiben zu müssen. Ein offener Blick auf die bestehende Softwarearchitektur kann hier viel Potenzial zu Tage fördern.

Den Generationswechsel aktiv gestalten

Der Wert jahrzehntelanger Entwicklungsarbeit auf dem Mainframe ist nicht zu unterschätzen. Denn diese leistungsstarken, stabilen Anwendungen können und werden auch in Zukunft einen hohen Wertbeitrag leisten – wenn es gelingt, Prozesse, Tools und Geschwindigkeit ihrer Weiterentwicklung zu modernisieren. Hier ist das Topmanagement gefragt. Mit Wertschätzung und einem Ansatz kontinuierlicher Verbesserung marschiert auch die Generation 55+ auf dem Weg der digitalen Transformation gerne mit voran. Und kommt der Tag, an dem die langjährigen Experten in Ruhestand gehen, übergeben sie ein wohl geordnetes Erbe. Dass dies gelingt, ist zuallererst eine Frage der Leadership.

Unternehmen, die sich zukunftssicher aufstellen wollen, müssen also nicht nur ihre Mainframe-Applikationen anpassen. Genauso erfolgsentscheidend ist es, die Art und Weise, wie dies geschieht, zu modernisieren. Wer seine bewährten IT-Infrastrukturen mit agilen Methoden dynamisch weiterentwickelt, und dabei die Menschen engagiert mitnimmt, verbindet das Beste aus beiden Welten.

Share this post:
Tweet about this on TwitterShare on FacebookShare on LinkedInGoogle+

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.