Wenn ich mit Kunden, Interessenten und Journalisten über hochproduktive Anwendungsentwicklung spreche, merke ich manchmal, dass bei ihnen Verwirrung über den Unterschied zwischen den Begriffen „Low-Code“ und „No-Code“ herrscht. Kein Wunder, denn im Bereich High Productivity Application Platform as a Service (aPaaS) gibt es viele konkurrierende Anbieter. Lassen Sie uns also die Sache klären und untersuchen, was mit jedem der beiden Begriffe wirklich gemeint ist, die Unterschiede aufzeigen und eruieren, welcher Plattformtyp für welche Arten von Projekten geeignet ist.
Auf den ersten Blick ähnlich…
Sowohl Low-Code- als auch No-Code-Entwicklungsplattformen bieten die Möglichkeit, Softwareanwendungen zu entwickeln, ohne dass Code geschrieben werden muss. Anstatt von einem Entwickler Kenntnisse in traditionellen Programmiersprachen zu verlangen, bieten beide einen visuellen Entwicklungsansatz für Rapid Application Development (RAD). Dieser visuelle Ansatz macht die App-Entwicklung mehr Menschen zugänglich, insbesondere technisch versierten Personen, die in der Business-Abteilung arbeiten. Mit Blick auf die Art der Anwendung wählen die Entwickler die benötigten funktionalen Komponenten aus einer On-Screen-Bibliothek aus und ziehen sie per Drag & Drop in einen visuellen Workflow.
Low-Code– und No-Code-Entwicklungsplattformen versprechen, professionellen und nicht-professionellen Entwicklern dabei zu helfen, Anwendungen effizienter zu erstellen und so die Produktivität zu steigern. Und beide reduzieren den Aufwand für den Aufbau von Umgebungen und die Wartung der Infrastruktur, da sie fast immer in einem Platform-as-a-Service-(PaaS)-Framework angeboten werden. Aber hier endet die Ähnlichkeit auch schon.
In der Praxis sehr unterschiedlich
Während sowohl Low-Code- als auch No-Code-Produkte das Prinzip der Abstraktion von Code teilen und die Vorteile der visuellen Modellierung nutzen, gibt es einen grundlegenden Unterschied bei Umfang und Art der Anwendungen, die über die beiden Ansätze erstellt werden können.
No-Code Entwicklungswerkzeuge können für Geschäftsanwender, die grundlegende funktionale Anwendungsfälle lösen wollen, von großem Nutzen sein. No-Code-Plattformen sind einfache Werkzeuge, die sich ideal für die Erstellung kleiner Anwendungen eignen, die von einer einzigen Abteilung genutzt werden können.
Aber das Problem der meisten No-Code-Tools ist, dass die Anwendungen, die Sie darauf erstellen können, oft nicht gut skalierbar und die Integrationsmöglichkeiten sehr begrenzt sind. Das liegt daran, dass No-Code-Plattformen Ihre umfangreiche Unternehmensarchitektur nicht berücksichtigen und dass die einzigen Integrationswerkzeuge, die Sie mit den meisten No-Code-Plattformen verwenden können, in der Regel proprietär sind und nur über begrenzte Fähigkeiten verfügen.
Während die Einfachheit und Starrheit, die in die reine No-Code-Entwicklung eingearbeitet wurden, auf Abteilungsebene funktionieren, stellt die Skalierung auf das ganze Unternehmen eine Herausforderung dar:
- Architektonische Aspekte: Es besteht das erhöhte Risiko einer monolithischen Anwendungsarchitektur, da die Entwickler keine Erfahrung mit Anwendungsarchitekturmustern haben. Die meisten No-Code-Plattformen erfordern die Bereitstellung in ihrer Public Cloud und bieten nicht die Flexibilität der Bereitstellung in einer privaten Cloud oder einer On-Premises-Infrastruktur.
- Erweiterbarkeit: Da sich No-Code Plattformen an Anwendungsfällen zur Steigerung der betrieblichen Effizienz orientieren, können sie nicht die Nutzererfahrung in den Mittelpunkt stellen und sich nicht mit Legacy-Systemen verbinden. Das Erstellen von nutzerdefinierten Integrationen für Drittanbieterlösungen oder selbst erstellte Systeme wird von den Herstellern nicht unterstützt.
- Governance: Aufgrund des eigenständigen Charakters von Anwendungen, die mit No-Code-Tools erstellt wurden, ist Data Governance eine gängige Herausforderung. Oft finden sich im gesamten Unternehmen unterschiedliche Versionen, sowie variierende/nicht verwaltete Datenstrukturen und Grade der Datenqualität wieder. (Denken Sie an Kundendatenmanagement und die DSGVO).
Low-Code-Plattformen hingegen sind in der Regel viel stärker mit den Anforderungen der Technologie-Governance Ihrer gesamten IT-Organisation synchronisiert. Sie bieten skalierbare Architekturen, die Möglichkeit, die Plattformfähigkeiten mit offenen APIs für die Wiederverwendbarkeit zu erweitern und mehr Flexibilität bei der Bereitstellung in der Cloud und vor Ort. Sie ermöglichen es Entwicklern, die Kontrolle über Anwendungstests, Qualitäts– und Leistungstools auszuüben und gleichzeitig die in No-Code-Lösungen üblichen hochproduktiven Techniken zu integrieren, um die Entwicklung mit visuellen Mitteln zu beschleunigen.
Low-Code-Plattformen unterstützen die Erstellung von viel anspruchsvolleren Anwendungen und können aufgrund ihrer universellen Einsatzmöglichkeiten mehr Anwendungsfälle bewältigen, einschließlich:
- Innovative Anwendungsfälle mit Technologien der nächsten Generation. Viele Low-Code-Plattformen verfügen nicht nur über eine sehr umfangreiche Komponentenbibliothek, die von Technologieführern entwickelt wurde. Sie ermöglichen es Ihnen auch auf Smart Services von Drittanbietern in der Cloud zurückzugreifen wie z.B. KI, Machine Learning, Blockchain, Sprach- und Gesichtserkennungsdienste sowie Tools, die über die Open-Source-Community verfügbar sind.
- Customer-Experience-Anwendungen für Mobilgeräte, die vorgefertigte Vorlagen für die Nutzeroberfläche nutzen, um die Nutzerfreundlichkeit und Akzeptanz zu optimieren und gleichzeitig die Konsistenz des Corporate Branding zu gewährleisten.
- Produktivitäts- und Betriebseffizienz-Apps, die sich über mehrere Abteilungen und Bereiche hinweg erstrecken.
- Modernisierung von Legacy-Systemen, die aktuelle Architekturen mit Microservices, komponentenbasierter Entwicklung mit Containern und kontinuierlichen Einsatzmöglichkeiten für bestehende geschäftskritische Anwendungen berücksichtigen.
Welches Tool ist das richtige für Ihr Unternehmen?
Die ständige Herausforderung bei der Entscheidung über den einzuschlagenden Weg besteht darin, dass No-Code-Entwicklungsplattformen als zu einfach empfunden werden, um komplexe Anwendungsfälle zu unterstützen und Low-Code-Entwicklungsplattformen als zu komplex für nicht-professionelle Entwickler betrachtet werden.
Um die Entscheidung noch schwieriger zu machen, wird eine implementierte No-Code-Lösung als Schatten-IT betrachtet. Aber was werden Sie tun, wenn Ihre Apps komplexer werden und über die Möglichkeiten Ihres Business Developers hinauswachsen? All die Effizienz und Kosteneinsparungen sind umsonst, wenn Ihre Optionen begrenzt sind. Sie haben es sich mit den Entwicklern verscherzt, also ist die Rettung ein externer Entwickler oder ein Berater.
Wenn Sie eine Low-Code-Lösung implementieren, kann es dazu führen, dass Ihre Entwickler schneller coden. Aber erhöht dies die Genauigkeit der gelieferten Lösung im Vergleich zu den Geschäftsanforderungen? Wird die Time-to-Value wirklich verkürzt, wenn Ihre Entwickler Lösungen überarbeiten und reparieren müssen, weil die Business-Abteilung außerhalb des Lebenszyklus der Anwendungsentwicklung bleibt? Welche Kosten bedeutet es für Unternehmen, Apps schneller nutzen zu können, diese aber nicht entsprechend ihrer Geschäftsanforderungen funktionieren?
Bei der Entscheidung für die richtige Plattform geht es eindeutig um mehr als nur die Technologie. Wie bei jeder Strategie zur Anwendungsentwicklung müssen Sie sich überlegen, wie Sie die Ergebnisse mit dem abstimmen, was die Nutzer tatsächlich wollen, brauchen und mit Begeisterung verwenden. Dies lässt sich erreichen, indem verschiedene qualifizierte IT-Entwickler mit relevanten Fachleuten aus den Geschäftsbereichen zusammenarbeiten, um die Kollaboration und die Bündelung von Fachwissen zu erleichtern. Nur durch eine enge Zusammenarbeit im Rahmen der Anwendungsentwicklung können größere und komplexere Anwendungen effizient und präzise erstellt und für das Geschäftsergebnis optimiert werden.
Wenn Sie eine Low-Code- oder No-Code-Lösung in Betracht ziehen, sollten Sie die folgenden Fragen in Ihre Überlegungen einbeziehen, um sicherzustellen, dass die Interessen von Business und IT erfüllt werden:
- Was leistet die Lösung, um die Kommunikation und Zusammenarbeit zwischen Business-Abteilung und IT zu fördern und zu erleichtern?
- Ist die Kollaboration integriert oder ergänzend zur Lösung?
- Wie unterstützt die Lösung Geschäfts- und professionelle Entwickler bei der Erstellung von Anwendungen?
- Sind spezialisierte Entwickler in der Lage, die Lösung zu verbessern, um Geschäfts- und Berufsentwicklern eine nutzerdefinierte Designsprache und einen nutzerdefinierten Code in einem wiederverwendbaren Format bereitzustellen?