asd
- Advertisement -spot_img
HomeDigitalisierungParadigmenwechsel Low-Code

Paradigmenwechsel Low-Code

- Advertisement -spot_img

Autor: Karsten Noack

Low-Code gilt als eine der disruptivsten Technologien unserer Zeit. Analysten sagen voraus, dass Low-Code die klassische Individualentwicklung schon in wenigen Jahren nahezu vollständig ersetzen wird und die Anwendungsentwicklung wie kaum eine andere technische Neuerung auf den Kopf stellen wird. Was ist dran an diesen Voraussagen? Dieser Artikel soll die Transformationskraft von Low-Code beleuchten und sich der Frage widmen: Leitet Low-Code einen Paradigmenwechsel ein?

Von High-Code zu Low-Code: Der “Urknall” der Low-Code-Technologie

Die Idee, Software ohne oder fast ohne Programmcode zu schreiben, kam schon in den Neunziger Jahren auf, zunächst im Rahmen der damals als sehr aussichtsreich angesehenen, aber letztlich nicht erfolgreichen Bemühungen um ein Computer Aided Sofware Engineering (CASE). Das Berliner Unternehmen “Scopeland” (Anm. d. Red.: der Autor ist Gründer dieses Unternehmens) gab im Jahr 1998 die weltweit erste voll funktionsfähige Low-Code Plattform bekannt. Der „Urknall“ der Low-Code-Entwicklung passierte im Jahr 2014 – ausgelöst durch eine griffige Begriffsdefinition von John Rymer, Analyst bei Forrester® Research. Er prägte den Begriff „Low-Code“ und löste damit eine Welle an Transformationen aus:

In den Folgejahren etablierten sich diverse Anbieter in den USA, deren unterschiedliche Konzepte und Arbeiten unter John Rymers Sammelbegriff „Low-Code“ fielen. Rymer gelang es, das Potenzial der Entwicklung mit visuellen Applikationsdesign-Werkzeugen aufzuzeigen und dank einer intuitiv gut fassbaren Bezeichnung schlagartig bekannt zu machen. Schon kurze Zeit später schossen Low-Code-Startups wie Pilze aus dem Boden.

Viele große Softwarehersteller merkten zudem, dass das eine oder andere ihrer Produkte auch halbwegs gut in diese Schublade passen würde, nannten es ebenfalls „Low-Code“ und halfen dabei, dieser Entwicklung noch mehr Schub zu verleihen. Inzwischen bescheinigen Gartner® und etliche andere US-Analysten, dass Low-Code die klassische Individualentwicklung binnen weniger Jahre nahezu vollständig ersetzen wird.

Was genau ist Low-Code?

Low-Code steht für eine völlig neue Herangehensweise in der Softwareentwicklung. Es geht nicht nur darum, die Erstellung von Programmcode zu verbessern oder zu vereinfachen. Der Grundgedanke von Low-Code ist, überhaupt keinen individuellen Programmcode mehr zu schreiben bzw. wenn überhaupt, nur mit sehr geringem Aufwand.

Dabei legt sich „Low-Code“ nicht darauf fest, auf welche Art und Weise dies erreicht wird. Tatsächlich ist das heutige Angebot an Low-Code-Plattformen sehr breit gefächert. Es gibt datenbank- und prozessbezogene Low-Code-Technologien, ebenso wie interpretierende und codegenerierende Systeme. Die einen bauen Software per Drag & Drop zusammen, während andere mehr auf deklarative Ausdrücke und Regeln (Business Rules) setzen.

Schließlich laufen sowohl die Tools als auch die damit erstellten Anwendungen entweder in einer bestimmten Cloud oder sie werden on-premise in klassischen Rechenzentren installiert. Die Ausprägung der einzelnen Angebote richtet sich dabei nach der Zielgruppe, die sie bedienen.

Eine salomonische Lösung für das Problem der Endlichkeit

Der häufigste Kritikpunkt an der Low-Code-Idee: Es sei zwar überzeugend, wie schnell man ca. 98 % der benötigten Funktionalität zusammenklicken kann, aber an den verbleibenden 2 % würde der Ansatz letztlich scheitern: Es ist nicht zu vermeiden, dass es fast immer einige Anforderungen gibt, die mit rein visuellen oder deklarativen Methoden nicht erfüllbar sind.

Wenn es hingegen gelingt, diese Anforderungen zu kapseln und dafür kleine Programmbausteine, Scripts oder Makros in die Low-Code-Anwendung einzubetten, dann ist das kein Show-Stopper mehr, sondern ein regulärer, planbarer Teil des Projekts. Die Einbindung solcher Bausteine in die Low-Code Plattform erfolgt so, dass man die Anwendung jederzeit verändern kann, ohne das händisch Programmierte zu verlieren. Dies gilt insbesondere dann, wenn Scripte keine eigenen Daten- oder Objektemodelle benötigen und sich mit grundlegenden Programmierkenntnissen schreiben lassen.

Low Code adressiert ganz unterschiedliche Zielgruppen und nicht nur den “klassischen” Programmierer

Wie ist das bei No-Code?

Die meisten sogenannten „No-Code“-Plattformen erheben übrigens nicht den Anspruch, auch noch die letzten 2 % visuell oder deklarativ umsetzen zu können. No-Code-Plattformen verstehen sich als eine besondere Ausprägung von Low-Code-Plattformen, die sich auf solche, meist einfachere Anwendungsfälle konzentrieren, bei denen die damit nicht abgedeckte Funktionalität verzichtbar ist.

Die enorme Vielfalt der Low-Code-Plattformen

Der Markt der Low-Code-Plattformen ist vielfältig. Jede Low-Code-Plattform setzt auf eine vorgefertigte Funktionalität. Da die Anforderungen an Software enorm vielfältig sind, kann kein Hersteller dieser Welt alle Aspekte abdecken. Deshalb lässt es sich nicht vermeiden, dass sich verschiedene Low-Code-Plattformen an bestimmten Arten von Anwendungsfällen oder Zielmärkten ausrichten. Beispielsweise bevorzugen Low-Code-Produkte, die sich auf den Public Sector, Banken oder Versicherungen konzentrieren, häufig codegenerierende und für heterogene IT-Infrastrukturen ausgelegte Architekturen, die in den kundeneigenen Rechenzentren installiert werden. Wer seinen Hauptmarkt im Mittelstand sieht, wird hingegen eher dazu neigen, alles serverfrei aus der Cloud heraus anzubieten.

Bei größeren Wirtschaftsunternehmen und Verwaltungen muss hingegen entschieden werden, welche Art von Anwendungsfällen vorrangig adressiert und ob daten- oder prozessorientierte Lösungsansätze verwendet werden sollen. Ebenso stellt sich die Frage, ob wirklich alle Funktionen mit Low-Code abgedeckt werden müssen: Viele Low-Code-Plattformen beschränken sich ganz bewusst auf (rein interaktive) Kernbereiche der Anwendungsentwicklung, um mit schlanken Ansätzen und leichter Erlernbarkeit zu punkten.

Andere hingegen setzen darauf, auch für große und anspruchsvolle Projekte alles mit Low-Code umzusetzen, angefangen von intelligenter, toolgestützter Datenmodellierung, über automatische Prozesse und automatisierte Performanceoptimierung bis hin zur Generierung komplexer Output-Dokumente wie Fördermittelbescheide oder Projektstatusberichte. Wie bei anderen Tools auch, bilden sich hier Teilmärkte für einerseits günstigere Mainstream-Tools und andererseits umfassendere High-End-Toolsets heraus. Die digitale Transformation findet in Unternehmen und Verwaltungen auf unterschiedlichen Ebenen und in verschiedenen Zusammenhängen statt. Für verschiedene Aufgaben können auch mehrere Low-Code- und No-Code-Plattformen gleichzeitig Einsatz finden.

Es gibt vielfältige Low-Code-Plattformen für unterschiedliche Zwecke

Eine für alle?

Die eine, für alle Aufgabenstellungen ideale Low-Code-Plattform, gibt es nicht. Die Beschaffung von Low-Code-Plattformen bzw. deren Nutzung in der Cloud, kommt mit spezifischen Fachaufgaben und aus den Fachbereichen selbst heraus. Die Ausschreibungen dazu sollten keine Grundsatzentscheidung sein und nicht allein der IT-Abteilung überlassen werden. Dies mag für einige überraschend klingen, denn schließlich galt es immer, die Toolpalette zu reduzieren und zu konsolidieren.

Das ist aber kein Widerspruch: Denn selbst wenn alle Anwendungen eines Unternehmens auf Basis einiger Low-Code-Plattformen laufen, dann ist das immer noch deutlich konsolidierter als mit 50 oder mehr Individualprogrammierungen zu arbeiten – selbst wenn diese alle die gleiche Programmiersprache nutzen. Low-Code konsolidiert auf einer anderen Ebene. Hierbei sollte man sich immer wieder klarmachen, dass es nichts Proprietäreres gibt als individuellen Programmcode. Diesen zu minimieren, dabei hilft Low-Code.

Low-Code Developer: Ein neuer Beruf?

Das Aufkommen von Low-Code wird von dem Missverständnis begleitet, Low-Code sei etwas für „Citizen Developer“, also für Fachanwender, die sich für den Eigenbedarf ihre Software einfach mal schnell selbst „zusammenklicken“. Das hingegen war nie der vordergründige Sinn und Zweck von Low-Code. Low-Code adressiert die digitale Transformation als solche, in voller Breite und quer über alle Bereiche hinweg. Laut John Rymer betrifft Low-Code die Gesamtheit der Anwendungsentwicklung, mit Ausnahme eines schmalen Segments extrem komplexer und extrem sicherheitskritischer Spezialanwendungen.

US-Analysten wie Gartner, Forrester und IDC sagen voraus, dass Low-Code in Zukunft immer verbreiteter werden und geschriebenen Code allmählich ablösen wird. Folglich steht heute nicht mehr die Frage, ob das eine oder andere Entwicklungsvorhaben vielleicht auch mit Low-Code umsetzbar sei, sondern andersrum:

Low-Code wird für unternehmensspezifische Anwendungssoftware die erste Wahl sein, und es braucht schon eine gute Begründung, warum im Ausnahmefall mal das eine oder andere Projekt nicht mit Low-Code umsetzbar sei.

So können Teams sich in der Low-Code Entwicklung organisieren

Wo braucht es dann noch Programmierung?

Programmierung wird auch weiterhin erforderlich sein, etwa in der Entwicklung von Softwareprodukten, für sehr exotische Aufgabenstellungen, für Firmware aller Art und vieles auf Systemebene, aber eben kaum noch im Bereich der Anwendungsentwicklung. Die Anwendungsentwicklung wird zukünftig immer mehr in die Hände der Low-Code Developer fallen: Das sind ebenso professionelle Softwareentwickler, nur mit anderen Werkzeugen. Sie organisieren sich in Low-Code Developer Teams, die wahlweise in den Fachbereichen, in der IT oder irgendwo dazwischen angesiedelt werden können.

In der Praxis findet man bereits heute alle drei Konstellationen. Professionelle Low-Code Developer rekrutieren sich aus ehemaligen Citizen Developern und Anwendersystem-Betreuern, aus Business Developern wie beispielsweise Wirtschafts-, Bio- oder Geoinformatikern, Quereinsteiger:innen und „richtigen“ Informatikern, die die weitaus höhere Produktivität und den direkten Kontakt zu den Anwender:innen zu schätzen wissen.

Typisch für Low-Code Developer ist eine ausgeprägte Kunden- bzw. Anwenderorientiertheit. Der ideale Low-Code Developer ist alles in einem: Requirements Engineer, Usability und User Experience (UUX) Experte, Front- und Backend-Entwickler, DevOps-Verantwortlicher, Qualitäts- und Projektmanager. Die Offenheit und das Breitenwissen des Universalisten schlagen die Tiefen-Expertise des Codierers. Aufgrund der breiteren Aufstellung der Low-Code-Entwickler können auch die Teams kleiner sein.

Das wird sich durch Low-Code verändern

Was wird sich also durch Low-Code ändern? Alle bisher üblichen Entwicklerrollen werden neu definiert werden müssen. Auch das Ausbildungsprofil zukünftiger Softwareentwickler ist zu überdenken, weil ein Großteil von ihnen künftig als Low-Code Developer tätig sein wird, mit einem ganz anderen Anforderungsprofil. Der Beruf der Softwareentwickler:innen nähert sich in gewisser Weise dem der Ingenieur:innen an. Softwarekünstler sind nicht mehr gefragt, sondern Pragmatiker: Leute, die sich gut in die betrieblichen Prozesse, Organisationsstrukturen und in die Befindlichkeiten der Anwender hineindenken können.

Sie sollten zwar grundlegende IT-Prinzipien gut verstehen, müssen aber nicht mehr zwingend auf einem hohen Level programmieren können. Es hilft, Scripts und Makros auch schnell selbst schreiben zu können; wichtiger sind aber kommunikative Fähigkeiten, Projektmanagement- und UUX-Expertise Auch die Anforderungsaufnahme vereinfacht sich. Mockups könnten zukünftig gleich durch erste Entwürfe in der richtigen Software ersetzt werden. Indem Software durch Low-Code schrittweise und evolutionär verbessert werden kann, braucht es zudem vielleicht bald keine vorgeschalteten Prototypen mehr.

Manche sagen auch, dass es dank Low-Code kein SCRUM mehr braucht. Der strenge Sprint-Rhythmus von SCRUM dient dazu, die Entwicklerstränge zu synchronisieren. Ist das noch relevant, wenn jedes Ticket in kürzester Zeit erledigt werden kann? Auch hierzu liefert die Low-CodeBewegung neue Antworten, etwa mit speziell auf Low-Code ausgerichteten Vorgehensmodellen, wie z. B. dem „Phasenagilen Vorgehensmodell“, welches die Vorteile von klassischer, stringenter Projektsteuerung mit denen der agilen Softwareentwicklung in Einklang bringt. Neu ist auch die Überlegung, die Prinzipien des „Design Thinkings“ auf alle Projektphasen auszuweiten. Auf diese Weise werden die späteren Anwender besser in den gesamten Entwicklungsprozess eingebunden, was letztlich zu besseren Entwicklungsergebnissen und zu einem geringeren Dokumentations- und Schulungsbedarf führt.

Entwicklerdokumentation ist bei Low-Code-Anwendungen ohnehin weitgehend obsolet, weil die Konfiguration der Software ja im Wesentlichen selbstbeschreibend ist. Low-Code-Anwendungen dokumentieren sich selbst. Auch die Qualitätssicherung kann sich vereinfachen, weil man bei der fast ausschließlichen Verwendung vorgefertigter Funktionalitäten von weniger Systemfehlern ausgehen kann. Und selbst Logikfehler können beim interaktiven Vorgehen im Projekt schneller bemerkt und sofort behoben werden.

Auch die Frage „BUY-OR-BUILD“ Stellt sich neu

Lange hatten IT-Strategien das Ziel, Individualsoftware wo immer möglich durch Standardsoftware zu ersetzen, aus nachvollziehbaren Gründen. Denn Individualprogrammierung bringt einige Herausforderungen mit sich: Angefangen von den Schwierigkeiten bei der Anforderungsdefinition und der Besetzung der wichtigsten Rollen im Entwicklungsprozess, über schwer kalkulierbare Projektlaufzeiten bis hin zur Verfügbarkeit der jeweiligen Programmierer:innen für spätere Anpassungen.

All das sind Herausforderungen, mit denen der Low-CodeAnsatz weitaus besser umgehen kann als ein klassischer Programmieransatz. Aufgrund wesentlich geringerer Projektkosten und kürzerer Projektlaufzeiten lohnt es sich, eine maßgeschneiderte Low-Code-Lösung selbst zu bauen oder von einem Dienstleister bauen zu lassen, anstatt sich in eine nur mäßig gut passende „Standardlösung“ hineinzuzwingen.

Individuelle Lösungen helfen den Unternehmen dabei, sich im Markt zu differenzieren und schneller auf Änderungen im Marktumfeld zu reagieren. Deshalb läutet die Umstellung auf Low-Code-Technologien gerade auch eine Trendumkehr ein. Dank Low-Code ist maßgeschneiderte Anwendungssoftware wieder attraktiv, wenn nicht sogar die bevorzugte Wahl.

Artikel teilen
Redaktion
Redaktion
Die SQ-Magazin Redaktion ist Ihr Ansprechpartner für alle Fragen, Anregungen und Ideen rund um das SQ-Magazin. Kontaktieren Sie uns gern unter redaktion@sq-magazin.de Wir freuen uns auf Ihre Nachricht!
- Advertisement -Certified DevOps Portfolio
Neueste Artikel
Weitere interessante Artikel
- Advertisement -spot_img
[js-disqus]