No-Code, Low-Code, Pro-Code

Low-Code-Plattformen – heute meistens cloudbasiert – breiten sich immer mehr aus und verheißen Kosteneinsparungen bei gleichzeitiger kürzerer Projektlaufzeit in der Softwareentwicklung. Es scheint so, als könnte mithilfe dieser Plattformen jeder, der ein bisschen Kenntnis im Bereich IT und Softwareentwicklung hat selbst zum Entwickler werden.  

Doch stimmt das in der Praxis? Wir beleuchten das Thema. 

No-Code und Low-Code: Eine Definition

Eine No-Code-Plattform ist eine Entwicklungsumgebung für Software, die es Entwicklern und Anwendern ermöglicht, Anwendungssoftware ohne herkömmliche Programmierung zu erstellen mit Hilfe grafischer Benutzeroberflächen. No-Code- und Low-Code-Plattformen sind eng verwandt und sollen die Entwicklung von Software und das Datenmanagement erleichtern und beschleunigen. (Quelle: Wikipedia)

Die Low-Code-Plattformen bieten meist ein One Button Deployment, also ein Deployment einer Anwendung auf Knopfdruck. Zudem sind die meisten Cloudbasiert, so dass es nicht nötig ist, Tools herunterzuladen. Laut einer Studie befassen sich 78% der befragten Unternehmen mit No-Code- und Low-Code-Plattformen. (Studie)

Pro-Code: Eine Definition

Im Gegensatz zu No-Code beziehungsweise Low-Code (also kein oder wenig Code) steht Pro-Code für professionellen Code, der von Entwicklern mit viel Knowhow verwendet wird und es ermöglicht, hochkomplexe Anwendungen umzusetzen. 

Citizen Developer

Im Zusammenhang mit Low-Code-Plattformen ist häufig vom sogenannten Citizen Developer die Rede, der im Gegensatz zum professionellen, ausgebildeten Developer steht. Gemeint ist damit Softwareentwicklung außerhalb der klassischen IT-Abteilung. Der Citizen Developer ist ein Anwender mit einem gewissen technischen Verständnis sowie Interesse und Grundkenntnisse im Bereich Softwareentwicklung. Er entwickelt also zum Beispiel mithilfe von Low-Code Anwendungen, ist aber eigentlich in einer anderen Rolle im Unternehmen tätig. 

Low-Code oder Pro-Code?

Vor dem Hintergrund des IT-Fachkräftemangels werden No-Code und Low-Code-Plattformen immer populärer. Es gibt eine Vielzahl an Plattformen für unterschiedliche Anwendungsgebiete und Schwerpunkte.  Die Anbieter versprechen Unternehmen Unterstützung bei der Digitalisierung mit kurzen Entwicklungszyklen unter Voraussetzung keiner bis geringer Programmierkenntnisse, um so der wachsenden Agilität im Business gerecht zu werden. 

Besonders für den Mittelstand, der häufig ohne große IT-Abteilung auskommen muss, sind diese Plattformen von Interesse. Mittelständische Unternehmen stehen vor der Herausforderung, die Anforderungen der Digitalisierung zu meistern ohne oftmals über entsprechende Fachkräfte und Budgets zu verfügen. Durch Low-Code-Plattformen sollen sie befähigt werden, die digitale Transformation zu vollziehen, denn die Plattformen fungieren als eine Art Baukasten, mithilfe derer Unternehmen auf ihre Bedürfnisse zugeschnittene Anwendungen entwickeln können. So soll eine Alternative geschaffen werden zur reinen Individualentwicklung oder unflexibler Standardsoftware. 

Durch die Senkung technischer Barrieren können die jeweiligen Fachabteilungen, die am besten wissen, welche Anwendung sie benötigen, in den Entwicklungsprozess integriert werden. In den meisten Unternehmen finden sich Mitarbeiter, die zumindest Grundkenntnisse in der Programmierung haben und als Citizen Developer fungieren können.  

Dennoch stößt ein Unternehmen bei der Verwendung solcher Plattformen früher oder später an seine Grenzen. Wenn überhaupt kein Entwicklungsknowhow vorhanden ist, kommt eigentlich nur die Verwendung von No-Code infrage, und damit sind kaum komplexe Anwendungen möglich. 

Je nach Anforderung an die Anwendung geht es auch bei Low-Code dann doch nicht ohne umfassendere Programmierkenntnisse. In der Praxis sind Geschäftsprozesse individuell und meist komplexer, wodurch weitere Kalkulationen und Programmierungen nötig werden. Dann ergibt es auf jeden Fall Sinn, auf klassische Pro-Code-Softwareentwickler zurückzugreifen. Denn die meisten Schwierigkeiten mit Low-Code ergeben sich erst im Nachgang bei der Nutzung der Anwendung. Macht der Code wirklich das, was er soll? Wie ist die Belastbarkeit und wie die Qualität? Und wie kann da überhaupt getestet werden? Diese Fragen verdeutlichen eines der Hauptprobleme von Low-Code: die Unmöglichkeit von Testing und Qualitätsmanagement. 

Man kann also durchaus sagen, dass ein Citizen Developer und die Low-Code-Plattformen Unternehmen entlasten können. Einen professionellen Entwickler der mit Pro-Code arbeitet ersetzen sie jedoch zumeist nicht. 

Was kann hier die Lösung sein? Mehr Pro-Developer in Low-Code! Low-Code-Plattformen können bei erfahrenen Entwicklern die Produktivität steigern und somit auch den Output an Anwendungen. Die Notwendigkeit auf den Code zurückzugreifen bleibt aber bestehen, um die Qualität der Anwendung zu prüfen und diese zu optimieren. Somit stößt das reine Low-Code Konzept an seine Grenzen, da es für Nicht-Entwickler unzureichend ist und die Erfahrung und Expertise erfahrener Entwickler zumeist doch benötigt wird. 

Dennoch kann Low-Code erfahrene Fullstack-Developer und Softwarearchitekten entlasten. Man kann also sagen: die Mischung macht’s! Im Idealfall unterstützen also gerade im Mittelstand externe erfahrene Entwickler das Low-Code Projekt im Unternehmen. 

Vorteile und Nachteile von Low-Code-Plattformen im Überblick

Vorteile:  

  • Entlastung von IT-Abteilungen 
  • Ermöglicht Entwicklung einfacherer Anwendungen trotz Fachkräftemangel 
  • Beseitigt technische Barrieren 

Nachteile: 

  • Ganz ohne Code bzw. Programmierkenntisse geht es meistens nicht 
  • Eher für den internen Gebrauch 
  • Kein bzw. Kaum Testing möglich 
  • Komplexere Anwendungen nur mit Low-Code eher nicht möglich 

Fazit

Digitalisierung ist kein Modewort, sondern eine Notwendigkeit. Unternehmen müssen ihre Geschäftsprozesse digitalisieren, um zukunfts- und wettbewerbsfähig zu sein. Die Entwicklung von individueller Software kann aber zeitaufwändig oder aufgrund von Fachkräftemangel schier unmöglich sein. Hier versprechen Low-Code-Plattformen Abhilfe. 

Für die Entwicklung weniger komplexerer Anwendungen für den internen Gebrauch können die Plattformen durchaus hilfreich sein. Auch bei nicht etablierten Unternehmensprozessens wie es bei neuen Themen meist der Fall ist, kann schnell für eine technische Unterstützung gesorgt werden. 

Doch sobald es um individuellere, komplexere Anwendungen und Szenarien geht, stoßen Citizen Developer und Low-Code an ihre Grenzen. Oft werden dann Excel Lösungen und/oder auch Office 365 (SharePoint online oder Power automate Anwendungen) genutzt. Dies sind immer Standard Lösungen die meist nicht optimal zum Unternehmen passen sondern Kompromisslösungen sind. Bei steigenden Anforderungen werden diese Lösungen oft sperrig und verlieren an Effizienz.  

Ein Fachabteilung kann sich sicherlich schnell behelfen mit diesen Lösungen, schwierig wird es allerdings dann, wenn die erzeugten Daten und Inhalte in Unternehmensapplikationen überführt werden müssen. Die Daten folgen keiner Unternehmensrichtline und müssen mühsam aufbereitet werden. Der ungünstigste Fall tritt ein, wenn der Mitarbeiter der Fachabteilung der die No- oder Low Code Anwendung erstellt hat, die Fachabteilung verlässt. Meistens existiert dann nur noch ein Datengrab oder eine lediglich spärlich genutzte Anwendung, die spätestens bei der nächsten neuen Anforderung nicht mehr funktioniert oder aufgegeben wird.    

Daher gilt: Low-Code und Pro-Code sollten sich nicht ausschließen! Im Idealfall berät und unterstützt ein erfahrener Softwareentwickler bereits bei den Anforderungen an das Projekt und begleitet die Umsetzung. So können die Vorteile von Low-Code voll ausgeschöpft werden. Eine Low Code Anwendung kann auch im zweiten Schritt ein einstieg in die Spezifikation in eine Pro Code Anwendung sein.