Kundenerlebnis in Eigenregie Rapid Prototyping und Low-Code-Entwicklung
Rapid Prototyping erlaubt es, einen Software-Prototypen direkt mit Hilfe so genannter Low-Code-Plattformen zum produktionsreifen Endprodukt weiterentwickeln. Das Prinzip: Stets nah am Problem und in Zusammenarbeit mit dem Kunden.
Anbieter zum Thema

Das Erstellen von Software ist grundsätzlich mit der Entwicklung neuer physischer Produkte vergleichbar. Für den Kunden – den Nutzer einer Software – ist ein Produkt ein Werkzeug, um ein bestehendes Problem erstmalig oder in verbesserter Weise zu lösen. Ein interessanter Ansatz ist zum Beispiel das Design Thinking, das zur Entwicklung neuer Ideen beitragen soll.
Der Ansatz wurde von der Innovationsagentur IDEO entwickelt, stellt heutzutage aber mehr als nur einen kreativen Prozess dar. Design Thinking steht mittlerweile für eine ganz neue Art und Weise, den Menschen in Bezug zur Arbeit zu sehen. Es setzt auf interdisziplinäre Teams, Visualisierung und neuartige Ideenfindung. Der iterative Prozess des Design Thinkings besteht aus den folgenden Schritten:
- Problem verstehen: Klare Definition der Bedürfnisse und Herausforderungen des Projektes.
- Situation beobachten: Eine intensive Recherche und Feldbeobachtung.
- Sichtweise definieren: Die Beobachtungen werden auf den einzelnen Nutzer angewendet.
- Ideen finden: Als Kernelemente des Design Thinkings besteht dieser Schritt vor allem aus dem Brainstorming.
- Prototypen entwickeln: Hier werden die Ideen getestet und veranschaulicht. Die einfachsten Prototypen sind schon hilfreich.
- Produkt testen: Weitere Verbesserung des Konzepts bis zur Entstehung eines nutzerorientierten Produktes.
Das Erstellen der Prototypen ist damit ein Kernelement dieses innovativen Prozesses. Von Rapid Prototyping spricht man, wenn nach einer sehr kurzen Phase der Anforderungsanalyse bereits ein erster Entwurf zur Verfügung steht. Dieser dient zum Testen, Bewerten, Evaluieren und Erklären.
Das sehr zeitnahe Erstellen von Prototypen passt genau zu einem der wichtigsten Grundprinzipien des Design Thinking: „fail early and often“. Mit anderen Worten: Man sollte möglichst früh anfangen, die Lösung zu konkretisieren. Der Vorteil: Das Team bekommt regelmäßige Rückmeldung von „außen“ und somit können mögliche Schwächen frühzeitig beseitigt werden. Prototypen werden damit zum Kern des Innovationsprozesses.
Arten von Prototypen
Sinn und Zweck von Prototypen ist es, kritische Aspekte einer Software möglichst frühzeitig zu erkennen bzw. zu beseitigen. Denn bekanntermaßen gestaltet sich die Anforderungsdefinition für Software mitunter sehr schwierig und ist über weite Projektabschnitte unsicher und damit stetigen Veränderungen unterworfen.
Prototypen sind ein gutes Instrument, diese Unsicherheiten zu beseitigen. Die Anforderungen der Anwender und mögliche Realisierungsoptionen lassen sich damit frühzeitig abgleichen. Man unterscheidet zwischen evolutionären und experimentellen Prototypen. Bei den evolutionären Prototypen wird Funktionalität schrittweise auf- und ausgebaut.
Experimentelles Prototyping probiert verschiedene Optionen zur Umsetzung aus und vergleicht deren Ergebnisse miteinander. Differenziert man nach dem Anwendungszweck, so sind folgende Arten von Prototypen laut der Enzyklopädie für Wirtschaftsinformatik zu unterscheiden:
Demonstratoren: Es handelt sich lediglich um grobe Modelle, welche noch weit von der finalen Realisierung entfernt sind.
Labormuster: Diese Prototypen dienen meistens zur Untersuchung von technischen Fragestellungen.
Pilotsysteme: Diese Prototypen zeigen einen höheren Reifegrad, daran kann das System bereits realistisch getestet und bewertet werden.
Prototypen lassen sich zudem grundsätzlich nach zwei Mustern aufbauen. Zum einem gibt es vertikale Prototypen. Diese sind dazu geeignet, eine komplexe Funktionalität zu demonstrieren bzw. sie werden dem Anwender zur Überprüfung übergeben. Ausgewählte Aspekte werden im Ganzen gezeigt. Dieser Ansatz setzt voraus, dass ein Teil vom System über alle Schichten der Anwendung funktionsfähig erstellt wird.
Ein Beispiel: Ein Programm zur Verwaltung von Kundenaufträgen und Buchungen enthält als Teilsystem die Verwaltung der Kundendaten. Dem Kunden wird ein vertikaler Prototyp zum Testen übergeben, welcher alle Aspekte der Verwaltung, also zum Beispiel Daten erfassen, ändern, stornieren, löschen, enthält. Diese Funktionen sind bereits vollständig implementiert und können umfangreich getestet werden. Die anderen Funktionen des Softwaresystems sind dabei noch nicht vorhanden.
Demgegenüber stehen horizontale Prototypen. Diese sind zur Überprüfung der Funktionen einer Ebene geeignet. Typische horizontale Prototypen sind Muster der Benutzeroberfläche, so genannte User Interface (UI)-Prototypen. Den Nutzern wird ein UI-Entwurf übergeben, welcher alle wesentlichen Elemente des künftigen UI enthält. Daran können das Handling und das Design umfassend beurteilt und abgestimmt werden.
Der Prototyp ist jedoch „leer“, d.h. eine echte Funktion ist noch nicht hinterlegt. Klickt der Anwender beispielsweise auf den Button zum Anlegen eines neuen Kunden, wird das zugehörige Dialogfenster eingeblendet. Eine Datenerfassung ist möglich, jedoch ein Speichern der Daten im System erfolgt noch nicht.
Von der Idee bis zum fertigen Produkt ohne Systembrüche
Um Softwareprototypen zu erstellen, gibt es eine Reihe von spezialisierten Tools, zum Beispiel Balsamiq. Deren Einsatz ist jedoch auf diesen Vorgang beschränkt. Eine bessere Integration des gesamten Entwicklungsprozesses kann man ggf. mit Hilfe so genannter Low-Code-Plattformen erreichen. Sie zielen darauf ab, das Erstellen von Anwendungen so weit zu standardisieren und zu vereinfachen, dass der Umfang an Quellcode in einem hohen Maße reduziert wird.
Der Fokus der Low-Code-Plattformen sind spezialisierte Business Applikationen für die unterschiedlichsten Aufgaben und Fachbereiche. Typische Anwendungsfelder sind Lösungen für die Aufgaben des Marketings, des Vertriebs oder der datenbasierten Produktionsplanung. Um die Anwendungen in der heute oft gebotenen kurzen Zeitspanne bereitstellen zu können, richten sich Low-Code-Plattformen gleichermaßen an Entwickler und technikaffine Anwender in den Fachabteilungen, so genannte Citizen Developer.
Die Idee, die Softwareentwicklung durch hochintegrierte Tools zu beschleunigen ist nicht neu. Seit vielen Jahren werden dazu so genannte RAD-Tools (Rapid Application Development) eingesetzt. Deren Zielgruppe ist jedoch weiterhin der Softwareentwickler. RAD-Tools unterstützen insbesondere die Arbeit durch den Einsatz von Komponenten, zum Beispiel in Form von Controls für die Gestaltung des User Interface. Die Programmlogik muss aber weiterhin nahezu vollständig mit Hilfe von Quellcode in der gewählten Programmiersprache realisiert werden.
Der Vorteil des Einsatzes von Low-Code-Plattformen besteht darin, dass sich sehr weite Teile einer Applikation mit Hilfe von grafischen Werkzeugen und durch Konfiguration erstellen lassen. Auf diese Weise entsteht ein Grundgerüst der Applikation, deren Fertigstellung durch Codierung weit weniger Aufwand verursacht als der Prozess der herkömmlichen Softwareentwicklung.
Typische Low-Code-Plattformen umfassen beispielsweise die Bereiche Gestaltung des User Interface, Modellierung der Geschäftsprozesse und des zugrundeliegenden Workflows mit einer Abbildung in der Businesslogik und eine Kopplung der Applikation an bestehende Schichten der Datenhaltung. Letzteres geschieht beispielsweise durch den Einsatz von Konnektoren, die für eine sehr flexible Verwendung sorgen.
Viele Low-Code-Plattformen orientieren sich dabei eher am Aussehen von Designwerkzeugen denn am Handling klassischer integrierter Entwicklungsumgebungen. Daraus ergibt sich die Option, diese Werkzeuge bereits von Beginn des Entwicklungsprozesses einzusetzen.
Beginnend in der Analyse- und Entwurfsphase können Fachanwender auf intuitive Art und Weise hochwertige Prototypen der späteren Software erstellen. Ein durchgängiger Entwicklungsprozess sorgt dafür, dass keine System- und Medienbrüche auftreten. Die entstehenden Prototypen können evolutionär verbessert und letztendlich zur produktionsfähigen Anwendung vervollständigt werden.
(ID:45909359)