"Es ist uns gelungen eigene Geschäftsanwendungen für wichtige Unternehmensprozesse zu gestalten. Die entwickelten Low-Code-Apps laufen zuverlässiger, schneller und Hand in Hand mit den physischen Abläufen. Unsere Mitarbeiter haben weniger Aufwand und unsere Kunden profitieren von einer engen Einbeziehung in die Abläufe unserer Abteilungen. Die Prozessverantwortlichen haben direkt am Entwicklungsprozess mitgewirkt und konnten ihr Fachwissen in der Anwendung verankern."
Projektleiter unseres Kunden Tweet
Klingt gut, aber glauben Sie, dass Sie ein Softwareprojekt jemals mit diesen Worten bewerten werden?
Falls nicht, ist das verständlich. Klassische Softwareprojekte sind häufig komplex und langwierig und stellen damit KMUs und Handwerksbetriebe vor große Herausforderungen. In diesen Unternehmen sind typischerweise keine ausgewachsene Entwicklungsabteilungen vorhanden und im Normalfall ist die Notwendigkeit IT-Know-How intern aufzubauen nicht vorhanden. Schwierigkeiten in Softwareprojekten entstehen hierdurch bedingt sowohl bei Systemeinführungen als auch bei Individualprojekten. Bereits bei der Erarbeitung und Kommunikation von Zielen und Anforderungen kommt es vor, dass Prozessverantwortliche, Berater und Programmierer unterschiedliche Sprachen sprechen. Diese Unwägbarkeiten ziehen sich dann bis zur oft trotzdem erfolgreichen, Einführung der Lösung, machen den Weg dorthin aber teuer und aufwendig.
Low-Code-Plattformen versprechen Abhilfe für diese Problematik zu schaffen, indem sie die Entwicklung von Softwarelösungen stark vereinfachen. Eine zentrale Rolle haben hierbei visuelle Entwicklungsumgebungen inne, in denen der Anwender vorgefertigte Komponenten zu eigenen Lösungen verknüpft und bei Bedarf fehlende Funktionen über programmierte Bausteine ergänzt.
Problemlöser Low-Code
Der Low-Code Ansatz löst die folgenden Probleme klassischer Entwicklung:
- Entwicklungskosten: Die Entwicklungskosten können durch Low-Code Anwendungen um bis zu 70% reduziert werden. Diese Zahl stammt zwar aus einer Studie eines Low-Code Anbieters, aber dennoch wurde auch in unseren Kundenprojekten bestätigt, dass sich Projekte deutlich günstiger umsetzen lassen.
- Entwicklungszeit: Ein Kostenfaktor, aber auch ein weiteres wichtiges Bewertungskriterium hinsichtlich der Umsetzbarkeit von Projekten ist die Entwicklungszeit, die durch Low-Code-Plattformen deutlich reduziert werden kann. Diese Zeitverkürzung ermöglicht es Ideen schnell in Prototypen umzusetzen, die für die weitere Beurteilung des Vorhabens hilfreich sind und den Mehrwert verifizieren. Dies ist auch bei der Durchführung von internen oder externen Beratungsprojekten der Fall, in denen Ideen innerhalb von Stunden bis wenigen Tagen präsentiert werden können. Auch der Zeitbedarf für die Umsetzung der operativ einsetzbaren Lösung kann im Vergleich zu klassischen Projekten deutlich reduziert werden.
- Integration der eigenen Lösungen: Besonders in KMUs und im Handwerk sind eigene kleine Lösungen, z.B. auf der Basis von Excel, in Form von Papierlisten und durch Email-Regeln entstanden. Die Vielzahl dieser dezentralen Helferlein führt jedoch zu einem komplexen Gebilde innerhalb des Unternehmens und damit zu unklaren Zuständigkeiten, die einerseits schwer zu verstehen und andererseits langfristig schwer zu verwalten sind. Low-Code-Apps bieten die Möglichkeit auch diese kleinen Lösungen effektiv zu digitalisieren und strukturiert zu verknüpfen. So entstehen beispielsweise klare Informations-, Dokumentations- und Freigabeprozesse und Apps für Management, Produktion oder Service. Somit können sich die Mitarbeiter auf ihre wesentlichen Aufgaben konzentrieren und Verwaltungs- und Abstimmungsaufwand entfällt.
- Integration von Bestandssystemen: Offene Schnittstellen und Konnektoren erlauben die Anbindung von einer Vielzahl an Services, Datenquellen und Bestandssystemen an die Low-Code Lösung (z.B. ERP, CMS, LVS, MES, …). Auf Basis der vorhandenen Daten und Informationsflüsse kann so nützliche Erweiterungen zur Optimierung von Geschäftsprozessen geschaffen werden.
- Standard Bausteine: Viele Probleme werden im Rahmen der Softwareentwicklung immer und immer wieder neu gelöst. Warum das Rad neu erfinden? Low-Code-Plattformen stellen viele der benötigten Bausteine bereit, die frei miteinander kombiniert werden können. Gleichzeitig sind die Lösungen plattformübergreifend als Webanwendung, auf dem Tablet und dem Smartphone einsetzbar, sodass auch hier Entwicklungsaufwand entfällt.
- Interne Key-User: Die visuelle Programmierumgebung ist im Vergleich zur klassischen Entwicklung deutlich einfacher zu erlernen, sodass interne Key-User ausgebildet werden können. Diese verfügen einerseits über ein hohes Prozessverständnis und andererseits können diese Nutzer neue Ideen in der Low-Code-Umgebung entwickeln oder konfigurieren, ohne ein externes Unternehmen beauftragen zu müssen. Auch bei der Entwicklung der Lösung durch externe Auftragnehmer ist es sinnvoll die internen Prozessverantwortlichen eng am Entwicklungsprozess zu beteiligen, um dessen Expertise zu nutzen. Die Geschwindigkeit der Entwicklung ermöglicht zudem engmaschige Abstimmungstermine parallel zur Entwicklung, in denen Projektfortschritte abgestimmt und die Planung angepasst wird.
Die Anbieter der Low-Code-Plattformen entwickeln das Portfolio der Low-Code-Komponenten ständig weiter, sodass eine Reihe an Erweiterungen besteht, die in den Apps genutzt werden können. Diese sollen an dieser Stelle nur kurz genannt werden, in Zukunft werde ich mich in diesem Blog im Detail mit dem ein oder anderen Thema auseinandersetzen:
- Künstliche Intelligenz, vor allem im Bereich der Bildauswertung.
- Augmented Reality, insbesondere für mobile Apps.
- (Automatische und intelligente) Chat Bots
- Portale zur Kommunikation von Informationen aus dem Unternehmen heraus
- Tests, zur Prüfung der Geschäftslogik und Funktionsweise der Lösung
- UI-Flows zur Automatisierung von Prozessen
Probleme von Low-Code-Plattformen
Zuvor wurde eine Vielzahl an Vorteilen von Low-Code Plattformen beschrieben, es gibt jedoch auch Punkte, die vor der Entscheidung für ein solche Lösung bedacht werden sollten:
- Schatten-IT und verstreute Applikationen: Wenn eine Vielzahl an Prozessverantwortliche dazu befähigt wird eigene Lösungen zu entwickeln, kann dies grundsätzlich „im Stillen“ geschehen. Hieraus ergeben sich ähnliche Probleme, wie heute bei der Entwicklung eigene Lösungen, z.B. auf der Basis von Excel. Es sollte deshalb darauf geachtet werden, dass Entwicklungen kommuniziert und abgestimmt werden, sodass ein transparenter Prozess entsteht. Gemeinsam sollte entschieden werden, welche Entwicklungen vorangetrieben werden und wie unterschiedliche Vorhaben aufeinander abgestimmt werden.
- Unübersichtliche Preismodelle: Die Preismodelle der Anbieter sind zum Großteil sehr unübersichtlich und bei einigen Anbietern sind die Lizenzkosten für das Basissystem sehr hoch. Dies erschwert aus unserer Sicht den Einstieg vor allem für KMUs und Handwerksunternehmen, da die Plattform vor allem zu Beginn getestet und auf Anwendbarkeit im Unternehmen geprüft werden muss.
- Schulungsaufwand: Auch Low-Code Programmierung muss gelernt sein. Auch wenn die Hürden für das Erlernen der Programmierumgebung wesentlich geringer sind als bei klassischen Programmiersprachen, muss trotzdem Zeit für die Fortbildung in diesem Bereich investiert werden. „Low“ bedeutet zudem, dass an wenigen Stellen die Ergänzung der Anwendung mit individueller Programmierung sinnvoll ist.
- Interne Applikationen: Einige der verfügbaren Plattformen sind hauptsächlich für die Entwicklung interner Applikationen geeignet, die nur im Unternehmen genutzt werden können und auf die Kunden und Lieferanten keinen Zugriff haben können. In diesem Bereich gibt es jedoch einige Bestrebungen die es erlauben würden, die Systeme nach außen zu öffnen.
- Proprietäre Systeme: Der Wechsel zwischen zwei Low-Code-Plattformen ist nicht ohne größeren Aufwand möglich, da die Umgebungen auf unterschiedlichen Technologien basieren. Unternehmen sollten deshalb, wie bei jeder Softwareanschaffung, die entstehenden Lock-In Effekte bewerten.
Geeignete Prozesse identifizieren
Standardprozesse im Unternehmen sollten mit Standardlösungen abgedeckt werden, die über offene Schnittstellen verfügen. Für individuelle Kernprozesse hingegen sollten Lösungen entwickelt werden, welche die Fähigkeiten des Unternehmens bestmöglich unterstützen und die mit der Veränderung der Kernprozesse mitwachsen und flexibel angepasst werden können. Folgende Abbildung ordnet eine Auswahl von Aufgaben im Unternehmen grob ein:
Im Bereich der individuellen Kernprozesse lohnt es sich zu prüfen, ob die individuelle Softwarelösung auf Basis einer Low-Code Plattform im Vergleich zur klassischen Individualentwicklung eine sinnvolle Option ist.
Acht typische Anwendungsfelder
- Checklisten, Prüfungen, Dokumentation
- Verwaltung von Assets
- MES-Funktionen in der Produktion
- Datenzugriff und Dashboards auf operativer und auf Management Ebene
- Informationsbereitstellung (intern und gegenüber dem Kunden)
- Individuelle Berechnungen und Entscheidungshilfen im Prozess
- Ersatz für Tabellenkalkulationstools
- Freigabeprozesse
Low-Code Plattformen
Es gibt eine Vielzahl an Plattformen, die Low-Code Lösungen anbieten. Die Abbildung des Magic Quadrant von Gartner gibt hierzu einen umfangreichen Überblick.
Insbesondere die Anbieter aus dem „Leader“-Quadranten bieten erfolgsversprechende Plattformen an, wobei sich diese in Funktionsweise, Funktionsumfang und Preismodell deutlich voneinander unterscheiden. Auf den Webseiten der Unternehmen finden Sie eine Vielzahl an Anwendungsfällen, von denen Sie sich inspirieren lassen können. Einen unserer Anwendungsfälle zur individuellen Betriebsdatenerfassung in der Produktion finden Sie hier.
SWMS hat bereits Erfahrungen mit den Lösungen von Microsoft (Power Plattform) und Siemens (Mendix) sammeln können.
Fazit
Low Code-Plattformen und die daraus entstehenden Lösungen können dazu beitragen Geschäftsprozesse und individuelle Kernprozesse in KMUs und Handwerksunternehmen zu bestmöglich zu unterstützen und bieten eine Möglichkeit im Unternehmen vorhandene Daten zu nutzen und neue Angebote für interne und externe Kunden zu schaffen.
Trotz der Einfachheit und Geschwindigkeit, mit der Ihre Lösungen entwickelt werden können. Lassen Sie wichtige Entwicklungsbausteine abseits der reinen Programmierarbeit, wie die Anforderungsanalyse, eine Bewertung des Lösungsansatzes, einen Vergleich der verfügbaren Technologien sowie Schulungs- und Abstimmungstermine nicht außer Acht. Auch das Design und die Interaktion des Nutzers mit der Lösung sollten im Projekt bedacht werden. Gerade diese Bausteine sind für eine erfolgreiche Projektumsetzung entscheidend, da sie zur Schaffung einer nachhaltigen Systemarchitektur beitragen, die zu Ihrem Anwendungsfall passt. Spätere Anpassungen und Erweiterungen werden so ermöglicht.
Zusammenfassend ein Graphic Recording von einem Vortrag, in dem wir uns auf der Veranstaltung „Praxisforum Digitalisierung“ 2020 in Oldenburg mit dem Thema Low Code mit Microsoft Power Apps beschäftigt haben. An dieser Stelle vielen Dank an Paula Föhr für die tolle Visualisierung:
Haben Sie schon eine Idee, wie Sie Low-Code Lösungen in Ihrem Unternehmen einsetzen können? Wir freuen uns über Ihr Feedback und Ihre Erfahrungen. Sprechen Sie uns mit Ihren Ideen an, wir geben Ihnen gerne unverbindlich eine Einschätzung zur Umsetzbarkeit, zu Anforderungen und den notwendigen Schritten für Ihr Vorhaben. Sie erreichen Joshua Coordes über [email protected].