Blog-Artikel

Bessere Kommunikation während des Entwicklungsprozesses durch Prototyping

Prototyping
Konzeption
UI/UX
Prototyping bezeichnet im Bereich des Software-Engineering die Entwicklung von Mustern bzw. Vorstufen als Annäherung an ein Endprodukt. Wir setzen bei allen Projekten, die über eine Benutzeroberfläche verfügen, auf den Einsatz von Prototypen.

Was ist Prototyping?

Prototyping bezeichnet im Bereich des Software-Engineering die Entwicklung von Mustern bzw. Vorstufen als Annäherung an ein Endprodukt. So entstehende Prototypen werden im Laufe des Projekts schrittweise zu einem fertigen Produkt – zum Beispiel zu einer Website, einer App oder einer komplexen Software-Anwendung.

Die Prototypen dienen hauptsächlich als Grundlage für eine bessere Kommunikation zwischen den Entwicklern, dem Auftraggeber und den Benutzern während des Entwicklungsprozesses, da die größten Probleme oft aufgrund fehlender oder unklarer Absprachen auftreten. Prototyping ist neben der agilen Softwareentwicklung und dem User Centered Design ein Paradigma, welches versucht, diesen Problemen entgegen zu wirken.

Welche Arten von Prototypen gibt es?

Ein klassisches Beispiel ist ein Oberflächenprototyp, der dem späteren Software-Nutzer einen ersten Eindruck der grafischen Benutzerschnittstelle und des Programmablaufs vermittelt. Dabei fehlt der Bezug zu den technischen Funktionalitäten des Gesamtsystems und deren Implementation. Diese Fokussierung auf einen speziellen Bereich einer Anwendungssoftware wird als „horizontales Prototyping“ bezeichnet. „Vertikales Prototyping“ greift sich hingegen einen speziellen Bereich einer Software heraus und zeigt die Wechselwirkungen mit anderen Komponenten des Systems.

Im „evolutionären Prototyping“ wird die Anwendung nach und nach weiterentwickelt. Dabei wird der Fokus auf die Rückmeldungen der zukünftigen Nutzer bzw. des Auftraggebers gelegt. Prototypen können zudem auch als „Wegwerfmodell”, z.B. für Forschung oder Demonstrationszwecke („Experimentelles Prototyping“) oder als Anforderungsmodell im Rahmen der Anforderungsspezifikation sinnvoll sein („Exploratives Prototyping“).

Wie setzen wir Prototyping bei unseren Projekten ein?

Wir setzen bei allen Projekten, die über eine Benutzeroberfläche verfügen, auf den Einsatz von Prototypen. Für den strukturellen Aufbau einer Website oder App erstellen wir in der Regel einen Wireframe-Prototypen. Dieser erleichtert die Informationsarchitektur und unterstützt gleichzeitig die Anforderungsspezifikation, da viele Funktionalitäten visualisiert und verdeutlicht werden können. Darauf aufbauend erstellen wir einen Design-Prototypen, anhand dessen wir das User-Interface-Design mit unseren Kunden bereits vor der tatsächlichen Implementierung abstimmen können. Bei komplexeren Funktionalitäten kommen teilweise auch programmierte Prototypen zum Einsatz, die z. B. mit einem generischen Interface-Design den Fokus auf die Art der Implementierung einer Funktion oder eines bestimmten Programmablaufs legen.

Wie erstellen wir unsere Prototypen?

Oberflächenprototypen erstellen wir mit der Software Sketch. Die integrierte Prototyping-Funktion ermöglicht es, einzelne Screens über Schaltflächen zu verknüpfen. Außerdem wird ein vorkonfigurierter Viewport mit Seitenüberlauf simuliert. Über die Sketch-Cloud können wir unseren Kunden die Prototypen per Share-Link zur Verfügung stellen.

Lauffähige Prototypen erstellen wir als Vorstufe des Endproduktes auf unserem üblichen Technologie-Stack (z. B. Laravel und Vuejs). Dabei werden lediglich einige Aspekte – wie z. B. das finale User-Interface-Design – nicht ausgearbeitet. Für eine Produktionsreife muss der Prototype-Code dann in der Regel mittels Refactoring optimiert werden. Die Bereitstellung läuft über eine Testumgebung auf einem Web-Server.

Was sind für uns die Vorteile von Prototyping?

Prototyping zeichnet sich vor allem dadurch aus, dass bereits vor Fertigstellung des Endproduktes Feedbackschleifen erzeugt werden. Prototypen ermöglichen dabei eine bessere Kommunikation als abstrakte Modelle, zudem verbessern sie die frühzeitige Erkennung von Problemen und Änderungswünschen. Die Behebung von Problemen oder die Implementierung von Änderungswünschen kann im Entwurfsstadium in der Regel günstiger realisiert werden als am Endprodukt. Außerdem können die Anforderungen der Anwender laufend präzisiert und verifiziert werden, um Fehlentwicklungen zu verhindern.

Was sind die Risiken beim Prototyping?

Prototyping kann den späteren Entwicklungsprozess auch verlangsamen, sofern Anforderungen nicht korrekt erhoben und sauber dokumentiert werden. Natürlich entstehen auch zusätzliche Kosten, da ein Prototyp einen zusätzlichen Aufwand zur eigentlichen Entwicklung des Produktes mitbringt. Derartige Kosten und Zeitaufwände können jedoch in der Regel durch weniger Nacharbeit am Endprodukt wieder ausgeglichen werden.