Anwendungsentwicklung, als auch deren Modernisierung ist ein kontinuierlicher Prozess, der niemals endet und permanent gelebt werden muss.
Er fängt nicht bei der Datenbank an und endet im Frontend, sondern umfasst das gesamte Spektrum einer Anwendung, sowie deren gesamtem Lebenszyklus.
Viele Unternehmen, die IBM i mit klassischen RPG und/oder Cobol Programmen einsetzen, starten oft mit der Oberflächenmodernisierung, da dies jeder Anwender – und vor allem Entscheider – als erstes sieht.Idealerweise sollte dies die letzte Komponente sein, die man modernisiert, will man langfristig eine wartbare, flexible und offene Anwendung erhalten, die die Herausforderungen der Gegenwart und Zukunft optimal erfüllt.
Aber wann haben wir schon ideale Zustände…
Ich bin jetzt seit über 20 Jahren im Bereich Anwendungsmodernisierung auf den unterschiedlichsten Ebenen, mit den unterschiedlichsten Voraussetzungen und unterschiedlichsten Plattformen aktiv und kann daher aus Erfahrung berichten, dass es unglaublich wichtig ist, sich vor dem Beginn lieber 5 mal zu viel Gedanken zu machen, als einmal zu wenig, denn der Pfad, den wir für die Modernisierung einschlagen, kann irgendwann für das Überleben des Unternehmens entscheidend sein.
Deshalb auch die Überschrift, die so aber auch nicht ganz korrekt ist, denn „ewig“ besteht nichts (außer vielleicht die AS/400). Korrekt wäre daher „Drum prüfe, wer sich lange bindet“, denn vorweg muss ich jeden mit der bitteren Realität vertraut machen, dass sich jede moderne Technologie in einem stetigen Wandel befindet und was vor 5 Jahren noch modern war, ist heute „Old school“. Dabei spielt es keine Rolle mehr, ob man Desktop, mobile oder Web Oberflächen entwickelt. Alle Frameworks, Tools und Programmiersprachen entwickeln sich permanent weiter und das in einem mittlerweile unglaublichen Tempo.
Umso wichtiger ist es, dass man sich bei der Modernisierungsstrategie für Technologien, Tools und Frameworks entscheidet, die nicht nur jetzt auf dem aktuellen Stand der Technik sind, sondern auch gute Chancen haben, für einen längeren Zeitraum dort zu bleiben.
Wobei in der heutigen Zeit mit längerem Zeitraum i.d.R. von ca. 5 bis max. 10 Jahren gesprochen wird. Alles andere wäre unseriös. Die sog. LTS (Long Term Support) Zyklen der verschiedenen Frameworks und Entwicklungsmöglichkeiten sind teilweise wesentlich kürzer und umfassen meist nur 1-2 Jahre, bis man auf eine neuere Version wechseln muss, will man weiterhin support dafür erhalten und den braucht man im geschäftlichen Umfeld, denn allein das Thema Sicherheit erfordert das.
Aus dem Grund führe ich mit meinen Kunden i.d.R. eine gründliche Analyse durch, was aktuell im Unternehmen an Anwendungen, Tools, Plattformen, Datenbanken, aber auch Entwickler Know How und künftigen Entwicklern vorhanden und geplant ist.
Immer mehr Firmen setzen z.B. Cloud basierte Lösungen ein und sei dies „nur“ in einzelnen Fachabteilungen, weil man dort „mal schnell“ eine Lösung für ein bestimmtes Thema gebraucht hat, was man nicht selbst entwickeln kann. Auch solche Themen müssen entsprechend berücksichtigt werden und die Strategie sollte offen für diese Entwicklungen sein, selbst wenn man bisher noch nicht davon betroffen war.
Leider (oder Gott sei Dank – je nach Blickwinkel) komme ich immer wieder zu Firmen, die sich irgendwann für eine Richtung der Modernisierung entschieden haben und sich dabei entweder nicht richtig oder von den falschen Leuten haben beraten lassen und nun in einer Sackgasse gelandet sind, aus der sie irgendwie wieder heraus müssen.
Sei dies der Pfad zu Visual Basic 6 (VB6) oder Visual Age for RPG in der Vergangenheit. Auch hier war irgendwann recht klar, dass diese Technologien keine langfristige Zukunft mehr haben werden und dennoch haben noch Anfang der 2000er Firmen begonnen damit zu „modernisieren“.
Zu Ihrer Beruhigung – das betrifft nicht nur Unternehmen, die IBM i einsetzen und deren Anwendungen modernisieren. Das betrifft alle!
Vor ein paar Monaten kam ich z.B. zu einem Unternehmen, welches vor knapp 3 Jahren angefangen hat seine alten VB6 Programme in Richtung Visual Basic .NET auf Basis von Windows Forms zu modernisieren.
Nachdem man auf dieser Basis bereits mehr als 60 Programme modernisiert hatte, stellte man fest, dass diese Oberflächentechnologie weder Responsive ist noch sich in irgendeiner Form (zumindest nicht mit vertretbarem und vernünftigen Aufwand) auf mobile Geräte, wie Smartphones oder Tablets oder gar in den Browser übertragen lässt.
Das man für jedes halbwegs moderne Feature sowieso schon kostenpflichtige Fremdkomponenten verwenden musste, hatte man zu der Zeit bereits zähneknirschend akzeptiert.
Ein „toller“ .NET Trainer, hatte das Unternehmen dahingehend beraten und einige Projekte und Schulungen mit dem Kunden durchgeführt.
Dumm nur, dass dieser „tolle“ Trainer scheinbar nur ein cleverer Verkäufer war, der es versäumt hat seine eigenen Kenntnisse in den letzten 12 Jahren aufzufrischen, denn die Windows Forms Technologie wurde bereits vor Jahren von Microsoft in den sog. Maintenance Mode versetzt, was bedeutet, sie wird lediglich am Leben erhalten aber schon lange nicht mehr weiterentwickelt.
WinForms wurde bereits 2006 durch die Windows Presentation Foundation (WPF) und diese später durch das Modern UI auf Basis der Universal Windows Plattform ersetzt.
Da dieser Trainer jedoch keine „Lust“ hatte, seine eigenen Kenntnisse dahingehend zu erweitern und bisher immer wieder Kunden gefunden hat, die seinen Ratschlägen folgen, empfiehlt er natürlich auch heute noch diesen Weg, denn WinForms funktioniert doch einwandfrei unter Windows 10…. (übrigens läuft RPG II auch noch unter IBM i 7.3!!!).
Das man damit aber keine vernünftige Trennung der View vom Code realisieren, keine plattformübergreifenden Anwendungen entwickeln kann, die sich an die jeweilige Displaygröße anpassen und bei jeder Kleinigkeit, die man einigermaßen „modern“ umsetzen möchte, auf kostenpflichtige Fremdkomponenten angewiesen ist, hat er mal eben vergessen zu erwähnen – evtl. weiß er das selbst noch nicht einmal.
Von den technischen „Feinheiten“ wie den Einsatz von modernen Programmiermustern wie Model View ViewModel, Testdriven Development, etc. einmal ganz zu schweigen.
Jetzt muss der IT Leiter seinem Vorstand erklären, warum das Modernisierungsprojekt, welches eigentlich im vollen Gange sein sollte, bereits wieder migriert werden muss – zumindest in Teilen. Zunächst müssen ca. 5 Anwendungen umgestellt werden, die dringend auch auf mobilen Geräten laufen sollen. Der Rest folgt dann irgendwann.
Hochgeploppt ist die ganze Geschichte, weil man einen neuen Entwickler eingestellt hat, der sich mit dem .NET Framework in seiner aktuellen Form gut auskennt und die ganze Geschichte mit einem „Ach Du Sch…..“ kommentiert hat, was beinahe zu seiner Entlassung geführt hätte…. Nur so nebenbei.
Schade, dass dieser Kunde mich vor 3 Jahren nicht parallel angesprochen hat, denn wir standen zu der Zeit bereits in Kontakt. Da aber einer der Entwickler den „tollen“ Trainer kannte, schaute man sich bei einer so wichtigen und richtungsweisenden Entscheidung für das gesamte Unternehmen, nicht weiter um oder holte sich mal eine 2te Meinung ein….
Dies zeigt aber sehr deutlich ein weiteres Problem vieler Unternehmen auf:
Die Geschäftsleitung kümmert sich um die IT Strategie selten so, wie sie es 2018 muss.
Baut ein Unternehmen z.B. eine neue Lager- oder Fabrikationshalle, dann wird die Geschäftsleitung meist bis in die Details eingebunden und es werden zig verschiedene Experten ins Haus geholt, um die optimale Planung und Umsetzung zu realisieren, denn dabei handelt es sich schließlich um eine strategische Investition für das Unternehmen.
Was bitte ist eine Modernisierungsstrategie der Anwendungen?
Schauen Sie sich die Probleme an, die Haribo derzeit mit der Auslieferung seiner Waren hat. Durch die Umstellung auf SAP wird Haribo dieses Jahr wahrscheinlich 25% weniger Umsatz erzielen.
https://www.wiwo.de/unternehmen/it/haribo-lidl-deutsche-post-und-co-die-lange-liste-schwieriger-und-gefloppter-sap-projekte/23771296.html
So etwas kann andere Firmen die Existenz kosten und hat es auch schon, wie ich selbst erleben musste.
Genauso kann die Modernisierung in die falsche Richtung zu erheblichen Problemen führen – vor allem in einer Zeit, in der die Anforderungen stetig zunehmen und immer schneller umgesetzt werden müssen.
In der Unternehmen immer schneller und flexibler auf die Wünsche ihrer Kunden eingehen müssen.
Hierzu bedarf es Softwareentwickler, die mit aktuellen Technologien, Tools und Kenntnissen effektiv diese Herausforderungen meistern.
Deshalb empfehle ich jedem sich rechtzeitig zu informieren und nach Möglichkeit mit Beratern zu sprechen, die einen Überblick über die verschiedenen Möglichkeiten haben und nicht nur einen Weg kennen und diesen logischerweise dann auch empfehlen.
Sie sind an einer Zusammenarbeit, Schulung oder Beratung in diesem Bereich interessiert?
Kein Problem.
Schreiben Sie mir einfach.
Ich freue mich auf Ihre Mitteilung unter
Email: mal@mlitters.com
oder rufen Sie mich einfach an.