Prototyping
Der Begriff Prototyping bezeichnet die Entwicklung eines Musters oder Prototyps im Bereich Software-Engineering. Prototyping kann als schrittweise Annäherung an das fertige Endprodukt betrachtet werden: Ein Prototyp wird im Laufe des Projekts zu einem fertigen Produkt – zum Beispiel zu einer Website, einer App oder einer komplexeren Software-Anwendung. Protoyping ist eine Vorgehensweise, die sehr früh Feedback von beteiligten Entwicklern und vor allem von den Endanwendern ermöglicht, indem ein starkes Augenmerk auf die Kommunikation während des Entwicklungs-Prozesses gelegt wird.
Allgemeine Informationen zum Thema
Traditionelle Ansätze in der Softwareentwicklung haben einige Nachteile.[1]
- Spätere Änderungen können kostenintensiv sein. Veränderungen, die auf tieferen Ebenen des Systems vorgenommen werden müssen, haben Auswirkungen auf das ganze System und somit auf das Budget.
- Kosten und benötigte Ressourcen können oft nur ungenau geschätzt werden.
- Das visuelle Erscheinungsbild und damit verbundene Interaktionsmuster können nicht ausprobiert und getestet werden.
- Der Anwender wird nur teilweise und ungenügend in den Entwicklungsprozess miteinbezogen.
In den Achtziger Jahren wurde im Zuge von Studien eine mangelnde Kommunikation zwischen Auftraggebern, Entwicklern und Benutzern als wesentlicher Nachteil identifiziert. Herkömmliche Softwareprojekte scheiterten nicht an unzureichenden SDKs (Software Development Kit) oder Entwicklerwerkzeugen, sondern an fehlenden oder unklaren Absprachen. Beim Wasserfallmodell – einem damals gängigen Entwicklungs-Paradigma – wurden beispielsweise etwaige Fehler einer Anforderungsanalyse systematisch während der Entwicklung fortgeführt.[2] Prototyping ist neben der agilen Softwareentwicklung oder dem User Centered Design ein Paradigma, das versucht derartige Schwierigkeiten und Fehler zu vermeiden.
Arten des Prototyping
Allgemein können Methoden im Bereich Prototyping danach unterschieden werden, ob sie vertikal oder horizontal angelegt sind.[3]
- Horizontales Prototyping fokussiert sich auf einen speziellen Bereich einer Anwendungssoftware – zum Beispiel auf die Benutzerschnittstelle. Dabei fehlt der Bezug zu den technischen Funktionalitäten des Gesamtsystems und deren Implementation. Ziel ist es, den Nutzer oder Auftraggeber mit der GUI in Berührung zu bringen und erstes Feedback zu erhalten.
- Vertikales Prototyping greift sich einen speziellen Bereich einer Software heraus und zeigt die Wechselwirkungen mit anderen Komponenten des Systems. Eine Benutzerschnittstelle würde hier bereits mit der Datenverwaltung und anderen Teilen des Systems gemeinsam abgebildet werden. Das Ziel besteht darin, komplexe Funktionalitäten zu erläutern und die Software in Teilen durch den Anwender überprüfen zu lassen.
Darüber hinaus lassen sich Prototyping-Ansätze mithilfe von Anwendungszwecken voneinander trennen.[4]
- Exploratives Protoyping: Das Anforderungsprofil einer Software wird Schritt für Schritt geklärt, indem Prototypen iterativ und schnell in einer Testumgebung erzeugt werden. Anschließend werden die Funktionalitäten verfeinert, um zu beurteilen, ob die Software das angenommene Problem löst und einen Nutzerbedarf abdeckt. In diesem Zusammenhang wird auch von Demonstratoren, Rapid sowie Paper Prototyping gesprochen. Demonstratoren werden in der Akquise und in frühen Phasen eines Projekts verwendet, um abstrakte Anforderungen und Problemstellungen bei der Entwicklung deutlich zu machen und zu kommunizieren.
- Experimentelles Protoyping: Ein Entwurf wird mit den grundlegenden Funktionen erstellt und im Hinblick auf dessen Realisierbarkeit überprüft. Die gewonnenen Erkenntnisse dieses Experiments oder Tests fließen in das tatsächliche Produkt ein. Oft wird hier von Labormustern, Throw-Away-Protoypes gesprochen. Diese Muster sollen dabei helfen, technische Fragestellungen zu beantworten und das Projekt als solches auf dessen Realisierbarkeit hin überprüfen zu können.
- Evolutionäres Protoyping: Die Software wird sukzessive erstellt. Bei jedem Entwicklungsschritt sorgen Feedbackschleifen mit Nutzern, Entwicklern und Auftraggebern dafür, dass das Endprodukt das Anforderungsprofil erfüllt. In der Regel wird eine Version der Software stets lauffähig gehalten. Hier wird auch von Pilotsystemen gesprochen. Sie beinhalten bereits eine Vielzahl der anvisierten Funktionen und können von Anwendern sorgfältig geprüft werden.
Die Wahl eines geeigneten Modells (vertikal, horizontal) und eines Anwendungszweckes ist im Einzelfall von vielen verschiedenen Faktoren abhängig. Das Budget, das Ziel des Projekts und die beteiligten Akteure (zum Beispiel externe Agenturen) bilden den Rahmen bei der Ausrichtung des Prototypings. In der Praxis können Modell und Anwendungszweck so gewählt werden, dass Mischformen der oben gemachten Unterscheidungen entstehen und einzelne Aspekte wie das Nutzer-Feedback besonders hervorgehoben werden.
Bedeutung für die Usability
Prototyping zeichnet sich vor allem dadurch aus, dass Feedbackschleifen erzeugt werden. Es wird vermehrt auf Kommunikation geachtet, sodass ein Transfer von Informationen zwischen Entwicklern, Anwendern und Auftraggebern ermöglicht wird. Wenn sich die Kommunikation auf Entwickler und Anwender konzentriert, ist zudem davon auszugehen, dass das Anforderungsprofil am ehesten dem entspricht, was reale Nutzer von einer Software erwarten – eine wichtige Voraussetzung für den Erfolg einer Software.[5]
Während Wireframes oder Mockups von Websites sich auf visuelle Elemente konzentrieren, steht beim Prototyping die Interaktion und das Usability Testing im Zentrum. Die Software soll auf ihre Gebrauchstauglichkeit hin überprüft werden. Das funktioniert am besten, wenn die Nutzer mit in den Entwicklungsprozess einbezogen werden. Auf diese Weise werden Fehler frühzeitig erkannt und eventuelle Änderungen können ohne Mehraufwand integriert werden. Nicht zuletzt verstecken sich bei solchen Veränderungen der Software Kostenfaktoren, deren Auswirkungen mit Protoyping reduziert werden können.
Werden die Nutzer miteinbezogen, hat dies zudem den Effekt, dass die Entwickler belastbare Daten über das Produkt und das Marktpotenzial bekommen. Zum Beispiel, um herauszufinden, ob überhaupt ein Bedarf für das Produkt besteht. Insbesondere bei Start-Ups und noch jungen Geschäftsmodellen können Prototypen die Entscheidungsfindung erleichtern: Nur wenn ein Bedarf besteht (oder erzeugt werden kann), ist es auch sinnvoll, über eine Markteinführung nachzudenken.[6]
Einzelnachweise
- ↑ Vor- und Nachteile des Wasserfallmodells cartoon.iguw.tuwien.ac.at. Abgerufen am 16.07.2015
- ↑ Prototyping Entstehung cartoon.iguw.tuwien.ac.at. Abgerufen am 16.07.2015
- ↑ Prototyping enzyklopaedie-der-wirtschaftsinformatik.de. Abgerufen am 16.07.2015
- ↑ Prototyping Konzepte cartoon.iguw.tuwien.ac.at. Abgerufen am 16.07.2015
- ↑ Prototyping Bewertung cartoon.iguw.tuwien.ac.at/fit/fit01/prototyping/bewertung.html. Abgerufen am 16.07.2015
- ↑ Prototyping als Online Marketing Methode karlkratz.de. Abgerufen am 16.07.2015
Weblinks
- Prototyp und Prototyping definiert
- Prototyping kurz erklärt
- Definition Prototype
- Definition Prototyping Model
- Mehr Infos über Prototyping
- Prototyping als UX-Design