Was ist ein Software Prototyp?
Genauso, wie Autohersteller ihre neuen Fahrzeuge als Erlkönige testen, erstellen wir in der Softwareentwicklung Software Prototypen. Diese frühe und meist rudimentäre Software-Version dient hauptsächlich dazu, Design-Entscheidungen zu testen, Funktionen zu validieren und erste Benutzererfahrungen in Form von Feedbacks und Daten auszuwerten. Dieser Ansatz ist eng mit der MVP-Entwicklung verbunden, um eine schnelle Time-To-Market des neuen Produkts zu erreichen.
Ein Prototyp muss nicht immer zwangsläufig programmiert worden sein: Er kann verschiedene Formen annehmen, von einfachen Design-Mockups bis hin zu interaktiven Prototypen mit grundlegenden Funktionen. Es geht viel mehr darum, Unsicherheiten frühzeitig zu identifizieren und damit Anpassungen vor dem eigentlichen Entwicklungsprozess vornehmen zu können.
Design-Prototypen
Die schnellste Variante um Software zu testen ist das erstellen von Design-Prototypen. UI-Tools wie Figma bieten heutzutage out-of-the-box prototyping-Funktionen, mit denen das Endprodukt lediglich visualisiert, aber bereits klickbar gemacht wird. Durch bestimmte Klickziele, die der Designer festlegen kann, können so Animationen, Formulare und Navigationen erstellt werden.
Wir erstellen Design-Protoypen eigentlich immer, wenn wir für Software-Produkte Mockups entwerfen. Es spielt dabei keine Rolle, ob es sich um ein neues Produkt oder eine bestehende Anwendung handelt: Die Prototypen sind bequem im Browser oder auf Mobilgeräten aufrufbar und testbar, wodurch sich unsere Kunden ein Bild vom Endprodukt machen können.
Rapid Prototyping für verschiedene Plattformen
Um nicht nur Kunden, sondern eine breitere Masse an Nutzern zu erreichen, wird oft gleich auf die Erstellung eines "echten" Software Prototyps gesetzt. Diese muss aber bereits viele Kriterien erfüllen, wie z.B. hoch performant sein und ansprechenden Benutzeroberflächen liefern. Außerdem reicht für eine angemessene Datenauswertung die Programmierung für nur eine Plattform nicht aus. Jetzt aber für jede einzelne Plattform eine eigene Codebasis zu erstellen, würde den Zeitrahmen und somit die Kosten immens sprengen. Eine schnelle Validierung des Produkts würde schließlich auch verfehlt werden.
Mit nur einer Codebasis verschiedene Geräte abdecken
Deshalb werden Software Prototypen mit nur einer einzigen Codebasis gebaut, die sowohl auf Android, iOS und im Browser läuft. Mit dem Einsatz von Flutter, einem Open-Source-Framework von Google, wird die Entwicklung plattformübergreifender Software Prototypen erleichtert. Als ideale Umgebung hilft sie (Produkt-)Entwicklern schnell und effizient Benutzeroberflächen zu erstellen, welche dem Endprodukt sehr nahekommen.
Die plattformübergreifenden Prototypen, die so entstehen, sind nicht nur visuell ansprechend, sondern auch bereits auf den jeweiligen Endgeräten lauffähig. Auch wird der Entwicklungsprozess erheblich beschleunigt und Stakeholder bekommen ein realistisches Gefühl für die Endsoftware.
Logins, Datenspeicherung und mehr
Eine Software ist aber keine Software, ohne Funktionalitäten. Um den Software Prototyp final validieren zu können ist weitere Programmierarbeit, sowie Infrastruktur notwendig. Aber die allermeisten Prototypen benötigen Funktionen und Infrastruktur-Komponenten, die es bereits gibt.
Grund-Features wie Authentifizierung oder Datenbanken für Daten-Speicherung bringen weiteren Aufwand mit sich. Um das Rad nicht neu erfinden zu müssen, Zeit zu sparen und gleichzeitig skalierbar zu bleiben, wird deshalb oft auf ein weiteres Tool aus dem Hause Google gesetzt: Firebase. Die Plattform stellt eine Vielzahl an Tools und Diensten für Entwickler-Teams bereit. Prototypen mit Backend-Funktionalitäten mit gleichzeitiger Datenbankverwaltung zu versehen ist so um einiges einfacher und vor allem schneller.
Jetzt ist aus dem Prototyp ein Software Prototyp geworden. Dieser ermöglicht nicht nur die Demonstration von Benutzeroberflächen, sondern auch die Validierung von Datenflüssen und Nutzer-Interaktionen.
Vorteile
Sie müssen Designentscheidungen treffen und frühzeitig Nutzer-Feedback sammeln? Wunderbar, denn mit dem Software-Prototyping haben Sie eine Methode gefunden, die Ihnen nicht nur Zeit und Kosten spart, sondern auch Ihre eigenen Anforderungen klärt und bestätigt - oder eben nicht.
Durch den Einsatz von Tools wie Flutter und Firebase wird der Prototyping-Prozess zudem nicht nur effizienter, sondern ermöglicht auch eine realistischere Darstellung des Endprodukts. Dieses kann weiter skaliert werden und nach einer erfolgten und erfolgreichen Validierung in ein erwachsenes Produkt übergehen. Dann können auch gesondert Web- und Mobilanwendungen entwickelt werden, ohne Gefahr laufen zu müssen, dass das Produkt nun doch nicht funktioniert.
Weitere Begriffe.
Begriffe aus der Softwareentwicklung verständlich erklärt.