Wir sind schon effizient
Low Code Development ist gerade in aller Munde. Glaubt man den Aussagen der Hersteller, dann sind diese Tools die unausweichliche Antwort der IT auf den stetig steigenden Bedarf an Software in den Unternehmen. Sie zielen auf technisch interessierte Anwender in den Fachabteilungen und können die Zusammenarbeit mit den Softwareentwicklern verbessern. Das Hauptziel ist eine Verkürzung der Time-to-Market. Werden Entwickler nun überflüssig und müssen wir uns um unseren Job sorgen machen? Und wie ist eigentlich das Verhältnis zum Rapid Application Development?
In der Softwareentwicklung werden schon immer umfassend Werkzeuge verwendet, um den Prozess zur Entwicklung von neuen Applikationen zu beschleunigen. Es gilt das bestmögliche Maß an Toolunterstützung für die jeweilige Aufgabe einzusetzen. Weder ein so genanntes „Overtooling“, noch ein zu minimalistischer Werkzeugeinsatz sind zielführend mit Blick auf eine hohe Effizienz des Entwicklungszyklus. Bei einen zu geringen Werkzeugeinsatz werden zu viele Aufgaben manuell erledigt, obwohl es dafür ausgereifte und passende Tools gibt, welche die Arbeit vereinfachen und beschleunigen. Man würde Potenziale der Wirtschaftlichkeit und damit Geld und Zeit verschwenden.
RAD vs. Low Code
Das typische Werkzeug der Softwareentwicklung ist die integrierte Entwicklungsumgebung (IDE). Rapid Application Development (RAD) steht für schnelle Anwendungsentwicklung. Das zugrundeliegende Konzept ist das so genannte prototypische Vorgehensmodell. Es dient dazu Softwareentwicklung im Vergleich zu klassischen Vorgehensmodellen flexibler zu gestalten und sich an ändernde Anforderungen zügig anpassen zu können. Rapid Application Development Werkzeuge weisen üblicherweise die Gemeinsamkeit auf, dass man mit ihnen die Benutzeroberfläche mit Hilfe eines Designers per Drag & Drop und über die Anpassung von Eigenschaften erstellen kann. Ebenso stehen auch nicht visuelle Komponenten zur Verfügung. Beispielsweise, um mit einer Datenbank aus der Applikation zu interagieren oder um einen Dateidialog aufzurufen. Über Extensions, Plugins oder externe Bibliotheken kann i.d.R. das Angebot der Komponenten meist vielfältig erweitert werden.
Das Ziel von RAD Tools ist es dabei den Entwickler von Routineaufgaben der Softwareentwicklung zu entlasten. Damit wird die Effizienz des Entwicklungsprozesses erheblich gesteigert. Beim Einsatz dieser Art von Werkzeugen behält der Entwickler jedoch jederzeit die vollständige Kontrolle über den Quellcode. Die meisten der heute eingesetzten integrierten Entwicklungsumgebungen sind schon seit vielen Jahren auf dem Markt, werden stetig weiterentwickelt und stellen damit gewissermaßen auch einen Investitionsschutz dar. Software, welche auf dieser Basis produziert wurde, kann i.d.R. auch noch Jahre später in einer neuen Version des RAD Tools bearbeitet und weiterentwickelt werden.
In eine andere Richtung geht der Trend, dass man die Entwicklung von Business-Anwendungen ein Stück zu den Fachabteilungen verschieben möchte. Die Entwicklungskapazitäten sind knapp und der Bedarf an Softwarelösungen in Unternehmen steigt kontinuierlich. Technikbegeisterte und versierte Anwender (Citizen Developer) sind ggf. in der Lage ein Teil der Entwicklungsaufgaben zu übernehmen. Dazu werden ihnen hochintegrierte Tools an die Hand gegeben, welche ihnen das weitgehende Erstellen von Softwarelösungen erlauben. Diese Tools werden als Low Code- bzw. im Sonderfall auch als No Code-Plattformen bezeichnet. Low steht für möglichst wenig Code bei der Erstellung von Software. Typischerweise werden sie für Anwendungen aus den Bereichen Vertrieb, Marketing oder Produktionsplanung eingesetzt. Sie setzen auf der Ebene der Funktionen einer Software (Use Cases) an. Hier gibt es ein großes Potenzial zur Standardisierung, wie die formularbasierte Datenerfassung, das Erstellen der Benutzeroberfläche, die Umsetzung des Workflows und die Anbindung an die bestehende Unternehmens IT. No Code-Systeme versprechen sogar eine Softwarebereitstellung ohne Codierung. Das kann nach dem heutigen Stand der Technik jedoch nur für sehr begrenzte Aufgabenbereiche funktionieren. Der Markt der Low Code Plattformen zeichnet sich durch eine hohe Heterogenität aus. Die angebotenen Werkzeuge unterscheiden sich durch Ansatz, Funktionsumfang, Zielgruppe und Preis.
Ist Low Code das neue RAD?
RAD Studio (Delphi, C++-Builder) ist ein hoch integriertes Werkzeug, um den Entwickler bestmöglich bei den umfangreichen Aufgaben der Anwendungsentwicklung zu unterstützen. Es können Applikationen für alle gängigen Desktop-, Server- und mobilen Betriebssysteme damit erstellt werden. Eine umfassende Palette an Tools, Assistenten und ein grafischer Designer befreien uns von „lästigen“ Routineaufgaben. Im Bedarfsfall kann man die Auswahl an Komponenten jederzeit durch Eigenentwicklung oder den Einsatz von Komponenten von Drittanbietern erweitern. Bei der Implementierung der Logik der Software arbeitet man mit einer höheren Programmiersprache, wie zum Beispiel Delphi. Moderne Sprachkonzepte unterstützen dabei den Vorgang der Codierung und erlauben das Formulieren von Quelltext, welcher stets nah an der Problemstellung ist. Die Anbindung von Datenbanken erfolgt wahlweise durch Komponenten, welche die unterschiedlichen Schnittstellen der Datenbankanbieter kapseln und für eine einfache und einheitliche Vorgehensweise aus der Sichtweise des Entwicklers sorgen. Auch hier kann man direkt in den Code bei Bedarf eingreifen und damit besondere Anforderungen umsetzen. RAD Tools schränken den Entwickler nicht ein, was das Deployment der Software, also die Bereitstellung anbelangt. Je nach Zielsystem kann ein Deployment über ein klassisches Installationsprogramm, als Package über einen Store oder in Form eines Containers angezeigt sein. Die Kontrolle bleibt in allen wichtigen Belangen beim Entwickler.
Low Code Tools haben das Ziel die Softwareentwicklung noch weiter zu standardisieren und die Tools nicht nur für Entwickler, sondern auch für Fachanwender einsetzbar zu machen. Um dieses Ziel zu erreichen, müssen sie den Prozess der Entwicklung stärker vorgeben und an vielen Stellen Vorgaben treffen. Dadurch wird die Entwicklung ggf. beschleunigt, aber die Auswahl der Optionen und die individuelle Anpassbarkeit wird eingeschränkt. Man ist in allen Belangen an die vorgegeben Optionen des Herstellers des Low Code Tools gebunden. Da der Quellcode jedoch durch die Low Code Plattform vollautomatisch generiert wurde, ist er für einen Programmierer oft schwerer verständlich. Um die Vorteile einer Low Code Plattform auszuschöpfen, muss es gelingen einen Großteil der Anforderungen an die zu erstellende Software auch mit diesem Werkzeug zu realisieren. Gelingt dieses nicht, dann „verspielt“ man den möglichen zeitlichen Vorteil der Verwendung dieser Tools schnell wieder. Es gilt individuell abzuwägen.
Low Code ist nicht das neue RAD.
Beide Ansätze haben Ihre Berechtigung. Mit integrierten Entwicklungsumgebungen wie RAD Studio kann man sehr effizient moderne Business Applikationen erstellen. Die größten Vorteile bestehen darin, dass man jederzeit die vollständige Kontrolle über den Quellcode behält, auch komplexere Anforderungen umsetzen kann und die Applikationen über den gesamten Lifecycle gewartet werden können. Das Deployment ist flexibel und nicht eingeschränkt. Auch der Job des Softwareentwicklers wird nicht überflüssig. Low Code Tools können nicht alle Anforderungen an moderne Software in Unternehmen abdecken. Eine individuelle Entwicklung wird weiter ein wichtiger Bestandteil der IT bleiben.
Hinweis: Mehr zum Thema im kostenlosen Whitepaper „RAD vs Low Code“. Laden – Lesen – Wissen.