Prototyping

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.

Prototyping

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:

  • Das Modellprodukt einer Software ist bereits lauffähig und soll vom echten Produkt für den Anwender und Tester nicht unterschieden werden können.
  • Neue Variationen können mit geringem Zeit- und Kostenaufwand erstellt werden.

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:

  • Die Anforderungen der Anwender können laufend präzisiert und verifiziert werden. Damit sinkt das Risiko einer Fehlentwicklung.
  • Unbeabsichtigte Wechselwirkungen zwischen einzelnen Komponenten des Produkts können früher erkannt werden.
  • Der Fertigstellungsgrad ist besser verifizierbar
  • Die Qualitätssicherung kann frühzeitig eingebunden werden
  • Der Planungsaufwand kann unter Umständen reduziert werden
  • Der Markteintrittstermin kann mit Teilprodukten vorgezogen werden

Dem stehen aber auch eine Reihe von Nachteilen gegenüber, die zu Gefahren für den Projekterfolg werden können:

  • Prototyping verführt dazu, Anforderungen weder korrekt zu erheben noch sauber zu dokumentieren. Der Entwicklungsprozess kann sich dadurch erheblich verlangsamen.
  • Die Zahl der Variationen wird nicht durch Maschinen- und Werkzeugkosten, sondern nur durch die bewusste Führung des Projektverantwortlichen begrenzt.
  • Wenn die Zahl der Iterationen nicht von Anfang an begrenzt und zeitlich exakt festgelegt ist, dann sind Zeitüberschreitungen unausweichlich.
  • Der Prototyp kann an Stelle des eigentlichen Produkts treten, ohne dass die für den langfristigen operativen Einsatz erforderlichen Abschlussarbeiten durchgeführt wurden.

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.

Bewertungen

Diese Funktion steht nur eingeloggten Nutzern zur Verfügung.
Gesamt
Bewertungen 7
Kommentare 0