Wer soll das alles programmieren? Diese Frage werden sich CIOs überall auf der Welt stellen, angesichts der Projektfülle, die allein der KI-Boom erzeugt. Fast neun von zehn CIOs in Deutschland werden 2024 mehr für KI-Anwendungen ausgeben, so eine Studie. Wer seine Fachbereiche nicht auf den Sankt-Nimmerleins-Tag vertrösten möchte, wird sich alternative Strategien überlegen müssen. Einige setzen verstärkt auf Low-Code- und No-Code-Plattformen. Wir zeigen, was der Ansatz bewirkt.
Low Code/No Code (LCNC) entpuppt sich als nützlicher Beschleuniger in der Softwareentwicklung. LCNC-Plattformen ermöglichen die Entwicklung von Softwareanwendungen mit Hilfe von Drag-and-Drop Funktionen. Die Vision: IT entwickelt für User von Usern.
Der Drag-and-Drop-Ansatz ist nicht neu. So genannte GUI-Builder zum Entwerfen grafischer Benutzeroberflächen sowie andere Modellierungswerkzeuge ermöglichen seit Langem eine grafische Eingabe. Die Tools erzeugen mehr oder weniger gut lesbaren Quellcode, der von einem Softwareentwickler ergänzt, weiterentwickelt und mit herkömmlichen Entwicklertools optimiert werden muss. Das bedeutet aber: Know-how in der verwendeten Programmiersprache wie Java, C# oder C++ ist essenziell.
LCNC geht jedoch einen Schritt weiter. Der generierte Quellcode wird von der Plattform verwaltet. Der Benutzer interagiert hauptsächlich mit einer grafischen Benutzeroberfläche, um die Geschäftslogik zu definieren (z.B. Prozesse und Abfragen bei Kreditprozessen oder Kontoeröffnungen) zu erstellen, Datenmodelle (z.B. wie eine Datenbank aufgebaut sein soll) und Benutzeroberflächen zu entwerfen. Änderungen am Quellcode erfolgen indirekt durch Aktionen, die in der LCNC-Umgebung ausgeführt werden, und nicht durch direkte Bearbeitung des Codes.
Screenshots einer LCNC-Plattform
LCNC nutzt Standardkomponenten somit auf einem höheren Abstraktionslevel und erleichtert so die Arbeit auf diesen Plattformen für Nicht-ITler.
Endlich voll auf das Kerngeschäft fokussieren? Nicht ganz!
Dank der LCNC-Plattformen benötigen Unternehmen oder öffentliche Verwaltungen für die Softwareentwicklung weniger technisches Know-how in ihrer Organisation. Das ist auch gut so, denn das ist rar gesät und damit teuer. Personen ohne tiefgreifende Entwicklerkenntnisse können Softwarekomponenten entwickeln. Man spricht von Citizen-Developern oder der Demokratisierung der IT-Entwicklung.
Der reine Programmieraufwand verringert sich also, der Aufwand für die Business-Analyse und die Konzeption bleibt allerdings gleich. Dadurch kommt es zur Verschiebung der benötigten Qualifikationen in der Softwareentwicklung. Den meisten Unternehmen, abgesehen von IT-Anbietern, kommt das entgegen. Ihre Kernkompetenzen sind ihr Fachwissen und ihre Geschäftsprozesse und nicht die Softwareentwicklung.
LCNC ist allerdings kein Totalabschied von den IT-Abteilungen. Prinzipien der Softwareentwicklung gelten auch für LCNC. Auf Expertenwissen kann daher nicht völlig verzichtet werden. Auch durch die Anbindung der LCNC-Plattformen an Legacy-Systeme sowie deren Wartung bleibt das Know-how von Softwareentwicklern und -architekten relevant.
Bei umfangreichen Projekten ist es entscheidend, dass eine Person oder ein Team den Überblick behält. Für DevOps-Prozesse, die Entwicklung und Betrieb vereinen, ist es unerlässlich, klare Richtlinien zu etablieren und deren Einhaltung zu gewährleisten. Zudem muss sichergestellt sein, dass bestehende Systemkomponenten korrekt eingesetzt werden. IT-Spezialisten bleiben somit gefragt.
Deep Dive: die Turbolader der LCNC-Softwareentwicklung
Die Anwendungsentwicklung in LCNC-Umgebungen wird durch diverse Ursachen beschleunigt. Hier ein kleiner technischer Blick unter die LCNC-Entwicklungs-Motorhaube:
Rapid Development durch Standardkomponenten und grafische Eingabe
Bei Entwicklungen mit den Programmiersprachen Java oder C# können Entwicklerinnen und Entwickler aus einer Vielzahl von Bibliotheken unterschiedliche Komponenten auswählen, z.B. Steuerungselemente einer grafischen Benutzeroberfläche (GUI-Controls). Diese Komponenten können sie konfigurieren, deren Verhalten überschreiben und selbst erstellte Grafiken einbinden.
Diese Freiheitsgrade führen jedoch zu einer aufwendigen Programmierung und werden insbesondere in Business-Anwendungen nicht benötigt. Citizen-Developer, die auf LCNC-Plattformen arbeiten, können dagegen die Standardkomponenten über eine grafische Benutzeroberfläche auswählen, positionieren und konfigurieren. Das beschleunigt die Entwicklung.
Geringerer Aufwand für IT-Infrastruktur und DevOps
Bei herkömmlichen Softwareprojekten muss der DevOps-Engineer Prozesse für Entwickeln, Quellcodesicherung, Deployen und Testen definieren sowie entsprechende Tools und Umgebungen aufsetzen. Bei LCNC-Plattformen in der Cloud-Variante entfällt dieser Aufwand. Sie bieten relevante Umgebungen (Entwicklung, Test, Produktion) out of the box. Der Quellcode wird im so genannten Cloud Repository verwaltet. Für User Stories muss kein separates Ticketmanagement aufgesetzt werden.
Geringerer Aufwand für Softwarearchitektur
LCNC-Anwendungen basieren auf dem gängigen Schichtenmodell: Präsentation, Businesslogik, Datenzugriff. Mit LCNC lassen sich aber auch Services umsetzten, die anderen Anwendungen Zugriff auf die Businesslogik oder Daten ermöglichen (z.B. Controlling). Entscheidungen und Auswahlprozesse für GUI-Frameworks oder OR-Mapper entfallen. LCNC-Plattformen bringen diese bereits mit.
Sauberer Quellcode durch LCNC
In der Praxis wird oft unter Zeitdruck entwickelt. Da muss schnell noch zum nächsten Release ein Feature eingebaut oder ein Bug behoben werden. Oft ist die bestehende Quellcodestruktur nicht optimal. Da die Zeit drängt, wird auf das Refactoring, die Strukturverbesserung von Quellcode, verzichtet. So entstehen „technische Schulden“ die in einer ruhigeren Zeit getilgt werden sollen. Leider kommt diese aber meistens nicht. So wird der Code über die Zeit immer schlechter. Die Folge: Code-Wildwuchs. Eine andere Ursache für Wildwuchs sind Entwicklerinnen und Entwickler, die die komplexe Codestruktur nicht verstehen oder bewusst ignorieren, weil sie in ihrem eigenen Stil, nach ihrem eigenen Muster entwickeln wollen.
Auch bei LCNC ist man nicht ganz vor Code-Wildwuchs gefeit, die Gefahr ist aber wesentlich geringer. Bei LCNC wird kaum Programmcode als Text eingegeben. Von der vorgegebenen Softwarearchitektur kann nicht abgewichen werden. Coderichtlinien können sich auf Bezeichner beschränken, beispielsweise Parameter, Tabellen oder Funktionen. All diese Faktoren verbessern die Codequalität und reduzieren die Fehleranfälligkeit.
LCNC entspricht agilen Prinzipien
Der Wert lauffähiger Software wird im Agilen Manifest zu Recht höher eingestuft als eine umfassende Dokumentation. Diese entsteht bei LCNC fast nebenbei – dadurch, dass die Programmierung über eine grafische Eingabe erfolgt. Die Programmierung ist somit bereits die Dokumentation. Die Benutzeroberfläche entwirft der Citizen-Developer mit Hilfe der LCNC-Plattform und generiert dabei einen GUI-Prototyp. Die Geschäftslogik und das Datenbankmodell erfolgen durch Modellierung in einer grafischen Notation, die meistens eine ausreichende Dokumentation darstellt.
Beim Erstellen des GUI-Prototyps werden – ähnlich wie bei einem Zeichenprogramm die Shapes – die Benutzerelemente (z.B. Buttons, Listboxen, Eingabefelder) auf die Anwendungsoberfläche gezogen und konfiguriert. Das Modellieren der Geschäftslogik und des Datenbankmodells erfolgt auf ähnliche Weise, wobei jedoch andere grafische Elemente und Konfigurationsparameter zum Einsatz kommen.
Der agile Softwareentwicklungsprozess kann nur funktionieren, wenn die Entwickler regelmäßig Rückmeldung vom Fachexperten (Product Owner) erhalten. In der LCNC-Entwicklung kommt der Citizen-Developer aus dem Fachbereich und verfügt bereits über das Fachwissen. Die Doppelrolle eliminiert das Risiko von Stille-Post-Effekten und Kommunikationsfehlern zwischen Entwicklerteam und Fachabteilung.
Dezentralisierte Schatten-IT und fragmentierte Insellösungen vermeiden
Um kleinere Probleme zu lösen, werden abteilungs- oder team-spezifische Softwarelösungen mit Skripten und Makros entwickelt, ohne dass diese in die übergreifende IT-Strategie oder das Wissensmanagement des Unternehmens integriert sind. Über eine einheitliche LCNC-Plattform können Teams für ihre Probleme leichter Softwarelösungen erstellen und teilen.
Fazit: LCNC fördert Business IT Alignment und führt zu Wettbewerbsvorteilen
Low-Code/No-Code-Plattformen erleichtern und beschleunigen die Entwicklung von Software, indem sie grafische Eingabe und Standardkomponenten nutzen. Durch LCNC rücken Fachseite und IT noch enger zusammen. Das ist etwas, was Unternehmen und öffentliche Verwaltungen dringend benötigen, um kunden- und bürgernahe digitale Services anzubieten.
LCNC ermöglicht die Beteiligung von Citizen-Developern und fördert die agilen Prinzipien. Software und IT-Dienste können schneller eingeführt werden, wodurch sich Unternehmen Wettbewerbsvorteile verschaffen.
Die Einführung einer einheitlichen LCNC-Plattform erleichtert zudem die Vermeidung dezentralisierter Schatten-IT und fragmentierter Insellösungen. Teams können ihre Softwarelösungen teilen und in die übergreifende IT-Strategie zu integrieren. Die Wiederverwendbarkeit von einmal erdachten und entwickelten Lösungen steigt signifikant.
Wer sich über LCNC und die gängigen Plattformen wie Appian austauschen möchte oder ein Sparring zum Thema benötigt, sprecht uns gerne an – am besten über unser Kontaktformular.