Prototyping

Die Motivation hinter dem Prototypig ist die fehlende Einbeziehung der Endbenuzter in den Entwicklungsprozess. Um dem Kunden ein Softwaresystem liefern zu können, dass seinen Wünschen möglichst entspricht, ist es wichtig, dem Kunden möglichst früh einen ersten Prototypen vorzulegen. Dieser Prototyp kann dann Verbesserungswünsche aufdecken und die Kommunikation zwischen Auftraggeber und Auftragnehmer verbessern. Insbesondere werden fehlerhafte Anforderungen so möglichst früh behoben bzw. fehlende Anforderungen zur Liste der Anforderungen hinzugefügt. Prototyping ist also ein Phasemodell-Typ, der die zweite Phase des Phasenmodells, nämlich die Anforderungsdefinition und Anforderungsanalyse, besonders stark hervorhebt. 

Ein Protoyp ist als eine ausführbare Version des Produkts zu verstehen, die bereits die relevanten und grundlegenden Merkmale des späteren betriebsfertigen Produkts aufweist. Ein Prototyp sollte:

  • ein lauffähiges und benutzbares System sein, das durch Interaktion mit dem Endabnehmer überprüft und bewertet werden kann. Sollte dies nicht der Fall sein, kann der Protoyp nicht zur Verbesserung bestehender Anforderungen führen.
  • nicht unbedingt vollständig sein, da er ja bei weitem keine endgültige Version darstellen muss. Ein Prototyp wird mit Hinblick darauf entwickelt, später verbessert bzw. modifiziert und erweitert zu werden.
  • möglichst schnell jedoch auch kostengünstig erstellt werden, damit man auf die Anforderungen der Benutzer schnellstmöglich eingehen kann.

Das Vorgehen beim Prototyping setzt sich aus einer Folge von Arbeitsschritten zusammen, die überlicherweise mehrfach ausgeführt werden müssen:

  • Entwicklung des/der Prototypen
  • Validierung des/der Prototypen
  • Bewertung des/der Prototypen

Auch für das Prototyping haben sich spezielle Vorgehensweisen entwickelt. So kann man bspw. zwischen evolutionärem Prototyping und Throw-Away Prototyping unterscheiden. Beim Throw-Away Prototyping geht man folgendermaßen vor:

  • Grobe Spezifikation erstellen
  • Prototypen erstellen
  • Prototypen vom Endnutzer evaluieren lassen
  • Prototypen entsorgen und Spezifikation des Systems erneuern

Alternativ dazu gibt es wie schon gesagt das evolutionäre Prototyping. Hier wird der Prototyp erhalten und stetig bis zur Produktreife weiterentwickelt.