Startseite < Informatik < Algorithmen Datenstrukturen / Software-Engineering < Entwicklungsmodelle < Wasserfallmodell [ DRUCK , 2004 , 2005 , 2006 , 2007 , 2008 , 2009 ] Evolutionäres Modell Transformationsmodell > Entwicklungsphasen / Web-Engineering > / Programmiersprachen / Künstliche Intelligenz > Schach Privates / Inhalt >
Evolutionäres Modell
Mit dem evolutionären Modell nähert man sich den Bedürfnissen des Kunden schrittweise an.
Einführung Definition des evolutionären Entwicklungsmodells
Was ist das evolutionäre Modell?
Im Rahmen eines evolutionären Entwicklungsmodells wird ein Software-Projekt als Folge von Approximationen realisiert. Dabei ist stets ein Prototyp der aktuellen Approximation zur Demonstration verfügbar. Anhand des Prototyps kann man unter Einbeziehung des Auftraggebers bzw. der Zielgruppen die Anforderungen präzisieren. Der Prototyp ist lediglich eine Hilfe zur Formulierung der endgültigen Anforderungen. 1 Da der Prototyp meist aus fehlerhaften und unverträglichen Konzepten entsteht, wird zur eigentlichen Entwicklung des Software-Projekts der Prototyp nur als Vorlage zur Realisierung des Endprodukts verwendet und nicht zum Endprodukt verbessert. 2

Es gibt drei unterschiedliche Herangehensweisen einen Prototyp zu erstellen, die wie folgt bezeichnet werden:
  • Rapid Prototyping,
  • Horizontales Prototyping und
  • Vertikales Prototyping.
Untermodelle
Rapid Prototyping
Beim Rapid Prototyping verwendet man Generatoren zur automatischen Codeerzeugung, ausführbare Spezifikationssprachen oder Skriptsprachen, um eine sehr schnelle Umsetzung der groben Anforderungen zu erzielen. Hierbei spart man Zeit, indem der hohe Aufwand der Implementierung vieler Details wegfällt wie zum Beispiel einer effizienten und umfangreichen Benutzerschnittstelle.

„Beim schnellen Prototyping wird der erstellte Prototyp als Wegwerfmodell angesehen: Er dient ausschließlich dazu, möglichst schnell einen vollständigen Überblick über alle Wünsche und Probleme zu erhalten, die mit dem angestrebten Einsatz des zu erstellenden Systems verbunden sind”, heißt es in [INFODUDEN S. 570].

Man stelle sich einmal vor, der rapide Softwareprototyp wäre ein Haus, dann hätte dieses Haus mindestens einen feuchten Keller und ein undichtes Dach. Das undichte Dach könnte zwar noch mit guten Erfolgsaussichten repariert werden; jedoch den feuchten Keller kriegt man nicht mehr raus!
Deshalb wird auch der qualitätsbewußte Kunde leicht davon überzeugt werden können, die Weiterentwicklung des rapiden Softwareprototypen stoppen zu müssen. Vernünftig ist in diesem Falle die Neuentwicklung des Endprodukts mit solidem Entwurf, wobei die wertvollen Erfahrungen, die man aus der Erstellung des Prototypen gewonnen hat, mit einfließen.
Hat man es nicht mit einem qualitätsbewußten Kunden zu tun, muss man eben Qualitätsbewußtsein argumentativ schaffen oder „vorleben”.
Horizontales Prototyping
Der aus dem horizontalen Prototyping entstehende Prototyp ist eigentlich nur ein Demonstrationsprogramm, das dem Kunden frühzeitig zeigt, wie das endgültige Software-Produkt aussehen könnte. Es wird nur eine Systemschicht erstellt, die beispielsweise nur eine hohle Benutzerschnittstelle zeigt, jedoch ohne echte Funktionalität.

Der Kunde kann sogar in den Entwicklungsprozess einbezogen werden. Er kann schon frühzeitig mit dem Prototypen Szenarien durchgehen und vielleicht sogar Weichen bezüglich der Handhabung stellen, Prioritäten setzen und Fehlentwicklungen aufspüren.

Wenn der Entwickler es geschickt anstellt, kann sogar der Prototyp selbst zum Endprojekt werden. Dabei sollte der Entwickler die Programmarchitektur in besonderer Weise offen für zukünftige Optionen gestalten. 3

Das horizontale Prototyping wird auch gerne zur Erstellung des Pflichtenheftes herangezogen, dies fördert eine bessere Kommunikation zwischen Auftraggeber und Auftragnehmer. Zudem steigt die Qualität des zu erstellenden Pflichtenheftes.
Vertikales Prototyping
Das vertikale Prototyping zeichnet sich dadurch aus, dass im Rahmen eines abgemagerten Funktionsumfanges eine Entwicklung durch alle Ebenen stattfindet. Durch diese Vorgehensweise ist es möglich frühzeitig ein Kernsystem, das eventuell im Nachhinein mit Modulen oder Plug-Ins erweitert werden kann, auszuliefern.

Das vertikale Prototyping scheint eine saubere Vorgehensweise für Software-Produkte, für die tausende von Lizenzen verkauft werden, zu sein. Erst im Nachhinein verfeinert sich das Produkt zu Gunsten vieler Lizenzbesitzer, viele neue Funktionen kommen aufgrund von Benutzeranfragen hinzu.
Ziele Ziele beim Prototyping
Mögliche Zwischenziele
Ein Prototyp wird ja nicht grundlos erstellt. Mit der Umsetzung eines Prototyps verfolgt man bestimmte Ziele.
  • Häufig will man mit einem Prototyp unausgereifte Anforderungen konkretisieren, in dem man dem Auftraggeber mithilfe eines Prototypen möglichst viel Spielraum für weiterführende Ideen bietet.
  • Gleichzeitig erhofft sich der Auftragnehmer eine ordentliche Grundlage für eine bessere Aufwandsschätzung.
Übergeordnete Ziele
Weil ein Unternehmen sich auch um Folgeaufträge kümmern muss, stellt die Prototypentwicklung eine geeignete Grundlage dar,
  • sich als Unternehmen kompetent zu profilieren.
  • den Auftraggeber besser kennen zu lernen.
  • Bedarf für Folgeprojekte zu erkennen und zu wecken.
Orientierungshilfe
Führen Sie sich bitte immer stets vor Augen, wer den Prototypen zu sehen bekommen wird! Denn diese Personen sind Ihre Stakeholder, ob es nun Auftraggeber, Investoren, Endanwender oder einfach nur firmeninterne Mitarbeiter sind.

Orientieren Sie sich also an jene, die den Prototypen zu Gesicht bekommen werden und machen Sie sich klar, welche Ziele Ihre Stakeholder erreichen müssen oder verwirklichen wollen. Für Auftraggeber (meist Unternehmer) ist es manchmal gar nicht so schlecht, wenn Sie ein bisschen mehr Wert auf Kundenidentifikation legen (z. B. Verwendung von Firmenfarben/-logo Ihres Kunden). Grundsätzlich gilt folgende Maxime:
  • „Stakeholder durch Taten überzeugen!”
Gleichwohl welche Ziele Sie selbst mit Ihrem Prototypen anstreben, so stellt Ihre Überzeugungsarbeit den Schlüssel des Ganzen dar. Sie überzeugen hier mit einem Prototypen.

Viel Erfolg bei Ihrer Überzeugungsarbeit,

Stefan Karl Baur