In diesem Blog möchte ich mich auf Sie, den Softwareentwickler, konzentrieren, und auf die Entscheidende Rolle, die Sie bei der Einführung einer Low-Code-Entwicklungsstrategie spielenAber beginnen wir mit einigen Hintergrundinformationen:
In meiner Rolle als Chief Evangelist für Mendixspreche ich oft mit Software-Ingenieuren, die mit der Bewertung von Low-Code Plattformen. Viele sind sehr skeptisch, was die Vorteile von Low-Code angeht, und das zu Recht. Seien wir ehrlich: Es hat Jahre gedauert, das Handwerk eines qualifizierten Entwicklers zu perfektionieren, daher ist es keine Überraschung, wenn Softwareentwickler die Fähigkeit von Low-Code-Plattformen und insbesondere von visuellen Modellierungstools und Drag-and-Drop-Editoren anzweifeln, den Grad an Granularität und Flexibilität zu bieten, den sie für ihre Arbeit benötigen.
Doch die Nachfrage nach Low-Code-Entwicklungstools wächst rasant. Bis 15 soll der Markt voraussichtlich 2020 Milliarden US-Dollar überschreiten – und das aus gutem Grund. Die Demokratisierung von Technologien wie IoT, Big Data, maschinellem Lernen und KI führt zu einem größeren Bedarf an Apps und Softwareautomatisierung. Gartner schätzt, dass die geschäftliche Nachfrage nach App-Entwicklung bis 2021 mindestens fünfmal schneller wachsen wird als die Kapazität der IT, diese bereitzustellen.
Unternehmen müssen daher einen Weg finden, diese Lücke zu schließen, um wettbewerbsfähig zu bleiben. Daher setzen Unternehmens- und IT-Leiter zunehmend auf kollaborative Arbeitsweisen, beispielsweise agile Methoden wie SCRUM, XP und DSDM, gepaart mit DevOps und Continuous Integration/Continuous Deployment (CI/CD)-Pipelines, um die Grundlage für Geschwindigkeit und Agilität über den gesamten Entwicklungslebenszyklus hinweg zu legen.
Low-Code-Entwicklungsplattformen sind ein natürlicher nächster Schritt auf dem Weg zur Verwirklichung dieser Vision. Sie bieten viele der notwendigen Tools, um Entwicklungszyklen zu beschleunigen und schneller funktionierende Apps bereitzustellen. Und da Unternehmen weniger auf die Erstellung von Code angewiesen sind, können sie die Lücke schließen und gleichzeitig ihre Entwicklungskosten deutlich senken, um ihren Mitbewerbern einen Schritt voraus zu sein.
Es lässt sich nicht leugnen, dass Low-Code da ist, aber was bedeutet das für Softwareentwickler?
Um diese Frage zu beantworten, müssen wir ein paar Fakten klarstellen: Low-Code-Plattformen und insbesondere visuelle Modellierungstools sind nicht für Softwareentwickler konzipiert! Es hat keinen Sinn, sie mit Ihren Lieblingssprachen wie C#, Ruby oder Java zu vergleichen; das ist wie Äpfel mit Birnen vergleichen. Visuelle Modellierungstools verwenden Drag-and-Drop-Editoren, WYSIWYG-Seitendesigner und visuelle Abläufe zur Darstellung der Logik; sie abstrahieren vom zugrunde liegenden Code auf eine visuelle Ebene, die sowohl für Entwickler als auch für Geschäftsbenutzer gleichermaßen verständlich ist, und schaffen so eine gemeinsame Basis, auf der Ideen, Erfahrungen und Geschäftslogik für maximale Wirkung artikuliert werden können. Diese Tools bieten von Natur aus eine Abstraktionsebene, die die meisten Softwareentwickler als unflexibel empfinden. Sie lösen Probleme auf eine Art und Weise, die unnatürlich erscheint, und versuchen, die Art und Weise, wie Dinge erledigt werden, zu eng zu regeln.
Für eine neue Generation von Business-Entwicklern sind diese visuellen Modellierungstools jedoch absolut sinnvoll. Business-Entwickler sind technisch versierte Power-User von Technologie, die oft in Geschäftsbereichen tätig sind und bereits Softwarepakete und Tools zur Lösung geschäftlicher Probleme nutzen. Denken Sie an einen Business Analyst oder einen BI-Spezialisten; Low-Code-Plattformen ermöglichen es ihnen, Apps schnell und kostengünstig zu erstellen, ohne komplizierte Codiertechniken erlernen zu müssen, für die sie normalerweise nicht gerüstet sind. Dabei erheben diese Tools die persönliche Marke dieser Personen zum Heldenstatus, indem sie sie befähigen, die Software bereitzustellen, die das Unternehmen braucht, wenn es sie braucht.
Doch hier liegt die Kehrseite: Low-Code-Plattformen zielen nicht darauf ab, Softwareingenieure durch Businessentwickler zu ersetzen; ganz im Gegenteil.
Um schnell und in großem Maßstab unternehmensreife Anwendungen zu entwickeln, ist ein Kontinuum von Entwicklern erforderlich, ein funktionsübergreifendes Team, das am Entwicklungsprozess teilnehmen kann. Zu diesem Team gehören Sie als Softwareentwickler, und Sie tun, was Sie am besten können. Paradoxerweise ist das das Schreiben von großartigem Code!
Stellen Sie es sich so vor: Low-Code-Plattformen bieten eine kollaborative Umgebung für alle Teammitglieder mit unterschiedlichen Entwicklungsfähigkeiten, damit sie am Entwicklungsprozess teilnehmen und effektiv dazu beitragen können. Benutzererfahrung, Logik, Integrationen und komplette Apps können mit integriertem DevOps sofort in der Cloud erstellt und geteilt werden. Durch visuelle Modellierung können Bildschirme und Logik viel früher im Designprozess geteilt werden, wodurch wertvolles Feedback gewonnen wird, das die Entwicklung beschleunigt und die Genauigkeit erhöht. Diese unternehmensweite Zusammenarbeit ist der Schlüssel zur Schließung der App-Lücke, die ich zuvor erwähnt habe.
Aber was passiert, wenn die Plattform nicht die erforderliche Funktionalität bietet, wenn die geschäftlichen Anforderungen außerhalb der Fähigkeiten des Geschäftsentwicklers und des Umfangs und der Fähigkeiten der Plattform liegen? Werden Sie dann auf eine Mauer stoßen? Diese Frage ist ohne Zweifel die am häufigsten gestellte Frage von Softwareentwicklern.
Die Antwort lautet: Nein! Hier kommen Sie als Softwareentwickler ins Spiel. Nutzen Sie Ihre Programmierkenntnisse, um wiederverwendbare Code-Erweiterungen zu entwickeln. Durch die Nutzung client- und serverseitiger APIs können Entwickler neue Funktionen erstellen, verpacken und verteilen, wie z. B. Konnektoren zu externen Diensten wie maschinellem Lernen und KI, Integrationen in interne Aufzeichnungssysteme, native mobile Widgets und wiederverwendbare UI-Komponenten.
Sie sehen, Softwareentwickler erweitern die Reichweite anderer Entwickler im Team und ermöglichen ihnen, über die Grenzen der Kernplattform hinauszugehen und noch schneller noch bessere Lösungen zu entwickeln, indem sie die nativen Funktionen der Plattform selbst mit Code erweitern. Im Gegenzug übernehmen Geschäftsentwickler die Last, neue Seiten, Navigation und grundlegende Logik zu erstellen, wodurch eine symbiotische Beziehung entsteht, in der jeder Teilnehmer seine Fähigkeiten am effizientesten einsetzt. Softwareentwicklung ist ein Mannschaftssport und jeder, der schon einmal Sport getrieben oder großartige Sportmannschaften beobachtet hat, weiß, dass Teamarbeit für den Erfolg entscheidend ist.
Zusammenfassend lässt sich sagen, dass es gut ist, skeptisch zu sein, aber es ist ebenso wichtig zu erkennen, dass die Nutzung von Low-Code-Plattformen in den kommenden Monaten und Jahren dramatisch zunehmen wird, da Unternehmen versuchen, Software mit immer höherer Geschwindigkeit zu entwickeln, um der Nachfrage gerecht zu werden. Denken Sie daran: Es geht um Low-Code und nicht um No-Code!