Suchen

Scrum für Großrechner Mainframe-Entwicklung wird agil

| Autor / Redakteur: Wolfgang Drespling * / Ulrike Ostler

Auch auf dem Mainframe müssen Entwickler ihre Applikationen immer schneller und in kürzeren Zyklen bereitstellen. Agile Entwicklungsmethoden wie das Scrum-Framework bieten sich daher auch für den Mainframe an.

Firmen zum Thema

Die Methode der agilen Software-Entwicklung im Schema.
Die Methode der agilen Software-Entwicklung im Schema.
(Bild: Micro Focus)

Selbst jetzt, in Zeiten von Cloud Computing und zunehmender Mobilität, setzen große Unternehmen weiterhin auf Mainframes. Doch neue Technologien und Trends wie Big Data, Cloud Computing, mobile Applikationen oder Social Media fordern heute eine permanente Aktualisierung und Modernisierung von Mainframe-Anwendungen.

Die Einführung neuer Vertriebsmodelle und Produkte, veränderte gesetzliche Bestimmungen oder zusätzliche Anforderungen aus den Fachbereichen und von Kunden machen ebenfalls kürzere Update-Zyklen oder den beschleunigten Marktstart von Anwendungen erforderlich. Unternehmen müssen und wollen daher mehr aus den Mainframes herausholen und die dort installierten Anwendungen optimieren.

Daher setzen mittlerweile viele Firmen auch für den Mainframe agile Entwicklungsmethoden wie das iterative und inkrementelle Scrum-Framework ein. Es bietet eine höhere Flexibilität als traditionelle Vorgehensweisen wie das Wasserfall-Modell – und das ist gerade im Mainframe-Umfeld von Vorteil, in dem sich komplexe Programmierprozesse mit parallelen Entwicklungslinien finden.

Hier helfen dezentrale Entwicklungswerkzeuge die auf standardisierten Frameworks wie „Eclipse“ basieren. Zudem unterstützen sie agile Methoden und erlauben auch neuen Mitarbeitern ohne tieferes Mainframe-Know-how, entsprechende Anwendungen zu aktualisieren oder neu zu entwickeln. Damit können Unternehmen auch den künftig zu erwartenden Mangel an Mainframe-Spezialisten abfedern.

Scrumbled Wasserfall

Bisher nutzten Unternehmen für die Mainframe-Entwicklung meistens das traditionelle, lineare Wasserfall-Modell. Hier ist der Entwicklungsprozess in aufeinander aufbauenden Phasen mit vorher eindeutig definierten Zielen beziehungsweise Ergebnissen unterteilt.

Ist eine Phase abgeschlossen, folgt die nächste Phase entsprechend des vorher festgelegten Projektzyklus. Der Name „Wasserfall“ entspringt der grafischen Darstellung, in der die verschiedenen Phasen häufig als aufsteigende Kaskaden angeordnet sind. In der Praxis gibt es natürlich viele Varianten des reinen Modells mit sich überlappenden Phasen.

Da das Wasserfall-Modell eine sehr konkrete, längerfristige Planung erfordert, eignet es sich vor allem bei Software-Projekten, in denen sich die Anforderungen und Abläufe bereits im Vorfeld relativ präzise beschreiben lassen. Der Nachteil: Da die Phasen hintereinander ablaufen müssen und schon früh detailliert geplant werden müssen, ist dieses lineare Modell relativ unflexibel gegenüber Veränderungen und neuen Anforderungen.

Scrum hingegen setzt auf ein flexibles, iteratives Vorgehen mit sich überlappenden Entwicklungsschritten. Der Prozess ist dahingehend optimiert, dass sich die Anforderungen im Laufe des Software-Projekts verändern. Das Projekt kann daher auch dann beginnen, wenn die Anforderungen noch nicht vollständig bekannt sind. Die Teams arbeiten hier eigenverantwortlich und stehen in enger Verbindung mit dem Kunden. Auf diese Weise hat der Kunde jederzeit einen Überblick über den aktuellen Projekt-Status.

Die wichtigsten Bestandteile des Scrum-Prozesses im Überblick:

Product Backlog: Der Product Backlog sammelt die Eigenschaften, Funktionalitäten und Anforderungen des zu entwi-ckelnden Produkts aus Anwendersicht (User Stories). Dabei können Anforderungen entfernt, neu hinzugefügt und priorisiert werden. Die Anforderungen werden nach absteigender Priorität abgearbeitet.

Darstellung des Scrum-Prozesses
Darstellung des Scrum-Prozesses
(Bild: Micro Focus)

Sprint (Iteration): Der Sprint steht für einen festgelegten Zyklus/Zeitrahmen (Iteration), innerhalb dessen die geplanten User Stories implementiert, getestet und dokumentiert werden – schrittweise und iterativ. Am Ende eines jeden Sprints wird eine fertige (Software)-Funktionalität (Produkt-Inkrement) ausgeliefert.

Sprint Backlog: Der Sprint Backlog definiert den Arbeitsumfang für jeden einzelnen Sprint inklusive der aus dem Product Backlog ausgewählten Anforderungen. Außerdem stellen die Teams hier regelmäßig alle Aufgaben zusammen, die noch zu erledigen sind, um das Sprint-Ziel zu erreichen.

Auch Banken nutzen Scrum

Da es künftig zunehmend notwendig sein wird, neue Software schneller auf den Markt zu bringen oder Änderungen schnell und häufig umzusetzen, wird sich ein Scrum-basierter Entwicklungsansatz auch für Mainframe-Anwendungen durchsetzen. Einer der Vorreiter ist hier die weltweit agierende niederländische Holding ING Groep N.V., die Muttergesellschaft verschiedener Banken und Versicherungen wie der deutschen Tochter ING-Diba.

Bis 2011 setzten die meisten Abteilungen innerhalb der ING bei der Entwicklung von Mainframe-Anwendungen auf die Wasserfall-Methode. Da das Unternehmen aber diese Applikationen immer häufiger und in kürzerer Zeit anpassen musste, war eine moderne Entwicklungsmethode erforderlich.

Nach einer ausgiebigen Analyse entschloss sich ING, den agilen Scrum-Ansatz innerhalb jeder Abteilung mit einem oder zwei Scrum-Teams bei einem neuen Mainframe-Projekt zu testen. Binnen 18 Monaten arbeiteten etwa 1.700 Mitarbeiter erfolgreich mit Scrum. Die enge Zusammenarbeit mit den Geschäftspartnern vereinfachte dabei die Priorisierung, so dass die Funktionen, die den größten Mehrwert für ING brachten, schneller realisiert waren als mit der traditionellen Methode.

Entwickeln für den Mainframe leicht gemacht

Auch Entwicklungsplattformen wie „Enterprise Developer for zEnterprise“ (EDz) von Micro Focus beschleunigen die Entwicklung von Mainframe-Anwendungen, da Unternehmen die Applikationen damit auf modernen IDEs (Integrated Development Environment) wie Eclipse konzipieren und testen können.

Der EDz unterstützt mit einer Eclipse basierten IDE den Scrum-Ansatz perfekt und lässt dabei sowohl zentrale, hybride oder dezentrale Entwicklungsansätze zu. Die Plattform integriert die Mainframe-Umgebung direkt in die IDE. Da Entwickler damit nur selten auf den Mainframe zugreifen müssen, arbeiten sie schneller und kostengünstiger.

Plattformen wie der EDz vereinfachen die agile Entwicklung durch folgende Funktionen:

  • Unterstützung von Standard-Frameworks: Durch die Integration von Standard-Entwicklungs-Frameworks wie Eclip-se und Visual Studio reduziert sich die Lücke zwischen Mainframe-Cobol-Entwicklern und Entwicklern, die mit C# /.NET und JAVA und der JVM arbeiten.
  • Grafische Werkzeuge zur individuellen Anpassung: Der Entwickler kann die auf Eclipse basierende grafische Oberfläche seiner Entwicklungsplattform einfach anpassen und seine gewünschten Workflows und Tools integrieren.
  • Integration von Source Code und Software Configuration Management (SCM): Das Software Configuration Management treibt die Entwicklung und Veröffentlichung von Soft-ware-Updates im Unternehmen voran. Ein z/OS-Anwender kann im EDz seine vorhandenen Tools im SCM genauso in einer aktuellen IDE nutzen wie unter seiner gewohnten ISPF (Interactive System Productivity Facility)-Umgebung.

Der Autor Wolfgang Drespling ist Director Application Modernisation bei Micro Focus in Ismaning.
Der Autor Wolfgang Drespling ist Director Application Modernisation bei Micro Focus in Ismaning.
(Bild: Micro Focus)

Grundsätzlich geht es darum, die Java- oder C#-Welt mit den geschäftskritischen Funktionen des Mainframes zu verbinden. Das erhöht die Produktivität des Entwicklungsprozesses und verbessert die Wiederverwendbarkeit von Software. Damit können Unternehmen auch das Risiko von Neuentwicklungen eingrenzen.

* Wolfgang Drespling ist Director Application Modernisation bei Micro Focus in Ismaning.

(ID:44381555)