

Mit Prototyping wird meist ein nicht klar definiertes Vorgehensmodell bei der Software-Entwicklung beschrieben, bei dem eine Reihe von lauffähigen Modellen des Endprodukts mit wachsendem Funktionsumfang entwickelt und dem Kunden präsentiert werden.
Mit Prototyping wird meist ein nicht klar definiertes Vorgehensmodell bei der Software-Entwicklung beschrieben, bei dem eine Reihe von lauffähigen Modellen des Endprodukts mit wachsendem Funktionsumfang entwickelt und dem Kunden präsentiert werden.
Dieses Vorgehen ist bereits seit langem üblich bei Bauprojekten, bei denen Modelle und Pläne des zu erstellenden Bauwerks in immer größerem Maßstab und höherer Detaillierung erstellt werden, genauso bei Produktentwicklungen wo Funktionsmodelle, Labormodelle und Prototypen vor der Nullserie der engültigen Produktion stehen.
Genau genommen ist ein Prototyp die letzte Stufe einer Entwickung, bevor sie in Serie geht. Er enthält also bereits alle Funktionen des endgültigen Produkts in vollem Umfang und in der definierten Qualität. Von daher ist der Begriff "Prototyping" irreführend, es handelt sich vielmehr um eine "Schrittweise Modellentwicklung".
Das Arbeiten mit Modellen in Software-Projekten unterscheidet sich von Maschinenbau-Projekten in zwei wesentlichen Punkten:
Aus diesen beiden Charakteristika von Modell-Software erwachsen eine Reihe von Vor- und Nachteilen, die in Software-Projekten zu beachten sind.
Zu den Vorteilen zählen:
Dem stehen aber auch eine Reihe von Nachteilen gegenüber, die zu Gefahren für den Projekterfolg werden können:
Unterschiedliche Methoden versuchen, die genannten Vorteile zu nutzen und die bekannten Gefahren zu vermeiden. Hierzu zählen z.B. Requirements Engineering, eXtreme Programming, Rational Unified Process, Continuous Quality Function Deployment oder Agile Software-Entwicklung.
Eine besondere Form der Entwicklung von Benutzeroberflächen ist das sogenannte "Paper Prototyping". Dabei werden mit Hilfe von Moderationstafeln oder Flip-Charts Quasi-Screen-Shots erstellt und den Anwendern präsentiert. Diese erfüllen mit diesen "Papierprototypen" ihnen gestellte, realitätsnahe Aufgaben. Dabei tippen Sie mit dem Stift auf die skizzierten Befehlsschaltflächen und schreiben von Hand in die vorgesehenen Eingabefelder. Aus der Beobachtung ihres Vorgehens und in Diskussion zwischen Testanwendern und Entwicklern sollen so Anforderungen an die Entwicklung von Bedienungsoberflächen und Funktionen erhoben werden.