Höhere Geschwindigkeit und Effizienz ohne Qualitätseinbußen

Moderne Mainframe-Entwicklung mit COBOL

| Autor / Redakteur: Steve Kansa * / Stephan Augsten

Um den Leistungsanforderungen der Kunden zu entsprechen, müssen Unternehmen die Qualität, Geschwindigkeit und Effizienz der Mainframe-Entwicklung steigern.
Um den Leistungsanforderungen der Kunden zu entsprechen, müssen Unternehmen die Qualität, Geschwindigkeit und Effizienz der Mainframe-Entwicklung steigern. (© Gorodenkoff - stock.adobe.com)

Bei der Entwicklung von COBOL-Anwendungen für den Mainframe lag der Fokus bislang maßgeblich auf der Qualität. Wie aber lässt sich in DevOps-Zeiten mehr Agilität bei gleichbleibender Qualität gewährleisten?

Im Vergleich zu Geschwindigkeit und Effizienz war Qualität schon immer der wichtigste Aspekt bei der Entwicklung von Mainframe-Anwendungen. Dies liegt vorwiegend am klassischen Wasserfall-Prinzip, das großen Wert auf die Erfüllung anspruchsvoller Anforderungen legt. Erreicht wird das mit Hilfe von Planung und sorgfältigen manuellen Prozessen, um möglichst fehlerfreie Produkte zu gewährleisten.

Diese Betonung von Qualität bei der Mainframe-Entwicklung hat sich für viele große Unternehmen hervorragend bewährt – und ist für sie nach wie vor ein wesentliches Fundament in der Entwicklung mit COBOL. Aus diesem Grund sind 72 Prozent der von Kunden genutzten Anwendungen in diesen Unternehmen vollständig oder sehr stark von der Mainframe-Verarbeitung abhängig. Dies ergab eine Umfrage unter Mainframe-Anwendern.

Ein ausschließlicher Fokus auf die Qualität der Mainframe-Entwicklung könnte heute jedoch leicht zum Fluch für große Unternehmen werden. Denn sie möchten ihre Agilität erhöhen, um gegen den Wettbewerbsdruck schneller, Cloud-basierter Start-ups zu bestehen. Da die Entwicklung und Bereitstellung von Mainframe-basierten digitalen Diensten (z.B. mobile und webbasierte Anwendungen) immer stärker beschleunigt werden soll, behindert eine fehlende Steigerung von Geschwindigkeit und Effizienz bei der Mainframe-Entwicklung die kundenorientierte Innovation.

Mainframe-Teams müssen daher ihre Kultur, Prozesse und Tools verändern. Nur so können sie sicherstellen, dass sie weiterhin eine hohe Qualität des COBOL Code liefern und gleichzeitig neue Anforderungen an Entwicklungsgeschwindigkeit und -effizienz – das oberste Ziel von DevOps – erfüllen. Damit unterstützen sie effektiv die Entwicklung leistungsfähiger Frontend-Anwendungen und erfüllen aktuelle Kundenerwartungen an die Angebote des Unternehmens. Dies lässt sich folgendermaßen erreichen.

Automatische Unit-Tests einführen

Bei Unit-Tests überprüfen Entwickler unabhängig voneinander die kleinsten prüfbaren Teile einer Anwendung auf ihre einwandfreie Funktion. So lassen sich Fehler frühzeitig entdecken. Entwickler können dann verhindern, dass diese Fehler weiter im Lebenszyklus der Softwareentwicklung mitgeschleppt werden, wobei sie immer schwieriger und teurer zu beheben sind.

Auf dem Mainframe ist dies jedoch kein einfacher Prozess. Er wird in der Regel manuell, wenn überhaupt, durchgeführt. Mainframe-Code wie COBOL bildet aber eine wesentliche Grundlage für moderne Anwendungen. Und genau an dieser Stelle gilt es bereits, Fehler von vornherein auszuschließen.

Wenn ein Fehler dazu führt, dass die COBOL-basierte Transaktionskomponente einer Anwendung abstürzt, wird nämlich die gesamte Anwendung in Mitleidenschaft gezogen. Dazu gehört zum Beispiel das mobile Front-End, das Kunden für einen Service nutzen. Entsprechend verschlechtert sich dessen Performance und die Nutzer werden unzufrieden. Daher sind unbedingt Unit-Tests durchzuführen, um dieses Risiko zu reduzieren.

Entwickler müssen aber auch in der Lage sein, automatisch Tests auszulösen. Damit lassen sich etwa Qualitätstrends im Mainframe-Code identifizieren, Testergebnisse gemeinsam nutzen, wiederholbare Tests erstellen und Testrichtlinien durchsetzen. Zudem verhindern sie damit, dass manuelle Unit-Tests die Entwicklung verlangsamen. Mit automatischen Unit-Tests können Entwickler neben höherer Geschwindigkeit und Effizienz auch die nötige Qualität sicherstellen.

Mainframe Code Coverage gewährleisten

Eine weitere Möglichkeit, die Qualität der Mainframe-Entwicklung bei gleichzeitiger Steigerung von Geschwindigkeit und Effizienz zu gewährleisten, besteht in der Integration des Mainframes in die bestehenden Prozesse zur Code Coverage. Dieser Automatisierungsschritt sollte nach Abschluss eines Unit-Tests in die DevOps-Pipeline aufgenommen werden.

Die dadurch ermittelten Metriken sind unerlässlich bei der Prüfung, ob Codezeilen ausgeführt werden und wie viel von einer Anwendung getestet wurde. Ohne sie lässt sich kaum feststellen, wie viele Tests durchgeführt werden und wie sich dies auf die Codequalität in Mainframe-Sprachen wie COBOL auswirkt.

Wie bei Unit-Tests haben Mainframe-Teams oft Probleme mit der Code Coverage. Denn bislang haben sie meist nur sporadisch festgehalten, wann Code getestet wurde. Noch dünner wird die Datenlage meist beim Nachweis, wie viel und welche Teile des Codes getestet wurden. Die automatische Erfassung von Metriken zur Mainframe Code Coverage durch ein modernes Testwerkzeug hilft Entwicklern, Bereiche von nicht abgedecktem Code zu identifizieren. Diese sollten dann möglichst schnell und sorgfältig geprüft werden.

Die Verbesserung von Geschwindigkeit und Effizienz bei der Erfassung von Code-Coverage-Metriken auf dem Mainframe ist entscheidend für die erfolgreiche Bereitstellung digitaler Innovationen für Kunden, da dies oft Änderungen am Code auf Front- und Backend-Systemen erfordert. Daher ist plattformübergreifendes Codequalitätsmanagement äußerst wichtig und bringt ein höheres Maß an Vertrauen und Qualität in End-to-End-Testprozesse.

Key-Performance-Indikatoren nutzen

Die bereits genannte Studie ergab auch, dass die meisten der befragten Entscheidungsträger die Qualität der Mainframe-Entwicklung immer noch für eine höhere Priorität halten als Geschwindigkeit und Effizienz. Dies ist bedenklich. Denn es zeigt die klassische Wasserfall-Mentalität der Mainframe-Entwicklung. Dabei sind weiterhin höhere Geschwindigkeit und Effizienz dem langen, langsamen Prozess der Planung und Erstellung möglichst fehlerfreier Anwendungen untergeordnet.

Diese Denkweise „Qualität auf Kosten von Geschwindigkeit und Effizienz“ muss sich aber in eine Haltung verändern, die gleichzeitig schrittweise Verbesserungen in Bezug auf Qualität, Geschwindigkeit und Effizienz umfasst. Das wird nur durch die Verwendung von Key-Performance-Indikatoren (KPIs) erreicht. Sie dienen zur Messung der richtigen Kennzahlen (z.B. Verhältnis von entgangenen zu entdeckten Fehlern, durchschnittliche Zeit bis zu deren Erkennung, durchschnittliche Zeit bis zu deren Behebung). So lässt sich eine Steigerung oder Verringerung der Gesamtproduktivität belegen.

Es ist schwierig und zeitaufwendig, diese Daten ohne ein geeignetes Werkzeug oder einen Dienst zu erfassen. Diese nutzen oft maschinelles Lernen und Analytik, um Zusammenhänge zwischen dem Verhalten von Mainframe-Entwicklern und den Ergebnissen aufzudecken. Mit einer solchen KI-basierten Software können Manager intelligente, datenbasierte Entscheidungen treffen. Dadurch treiben sie die kontinuierliche Verbesserung der Qualität, Geschwindigkeit und Effizienz der Mainframe-Entwicklung voran und erhöhen gleichzeitig das Vertrauen und die Effektivität des Teams.

Fazit

Unternehmen können nur so agil, digital disruptiv und wettbewerbsfähig sein, wie es ihr schwächstes Glied erlaubt. Wenn sie nicht gleichzeitig die Qualität, Geschwindigkeit und Effizienz der Mainframe-Entwicklung steigern, können DevOps-Teams nur schwer digitale Innovationen so umsetzen, dass sie den Leistungsanforderungen der Kunden entsprechen.

Steve Kansa
Steve Kansa (Bild: 2014 Kristina Sikora / KMS Photography)

Der zuverlässige, verfügbare, sichere und moderne Mainframe kann derzeit für viele Unternehmen den Engpass bilden. Daher muss er tiefer in die plattformübergreifende DevOps-Toolkette integriert werden. Dies erfordert die Einführung automatischer Unit-Tests, Code Coverage und KPIs für jede Mainframe-bezogene Sprache.

* Steve Kansa ist Produktmanager bei Compuware. Er verfügt über umfangreiche Erfahrung in der agilen Anwendungsentwicklung in einer Vielzahl von Technologien und Branchen. Mit Hilfe der Topaz-Produkte von Compuware konzentriert er sich darauf, moderne DevOps-Funktionen für Mainframe-Technologien zu ermöglichen.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45631711 / Agile Entwicklung)