Sequentielle und nicht sequentielle Vorgehensmodelle in der Systementwicklung

Im Bereich der Systementwicklung werden viele Aktivitäten durchgeführt, wie zum Beispiel die Analyse, der Entwurf, die Implementierung, das Testen und der Betrieb der neuen Software. Natürlich ist diese Aufzählung nur ein Auszug von vielen möglichen Aktivitäten. Die unterschiedlichen Bausteine und deren Anzahl richten sich stark nach der Größe der Systementwicklungsaufgabe und der daraus entstehenden Prozesse. Wurden die möglichen Prozesse zu Beginn des neuen Projektes definiert, kann anschließend geklärt werden, nach welchem Vorgehensmodell die Entwicklung der neuen Software stattfinden soll. Außer das Vorgehensmodell wird durch den Auftraggeber im Auftrag bereits vorgegeben. So wie im öffentlichen Bereich das V-Modell XT zwingend vorgeschrieben ist. Zur Auswahl stehen neben den sequentiellen und nicht sequentiellen Vorgehensmodellen auch das Prototyping, das V-Modell XT und eine agile Entwicklung.

In diesem Artikel soll aber ausschließlich der Unterschied zwischen der sequentiellen und der nicht sequentiellen Entwicklung geklärt werden.

Das sequentielle Vorgehensmodell

Das sequentielle Vorgehensmodell ist gekennzeichnet durch ein striktes abarbeiten der einzelnen Schritte / Phasen. Daher werden sie auch oft als Phasenmodelle bezeichnet. Im Phasenmodell wird immer erst der nächste Schritt ausgeführt, wenn der vorherige abgeschlossen ist. In den meisten Fällen werden die Phasen durch definierte Punkte abgeschlossen. Das können Meilensteine in der Software, Dokumente oder abschließende Tests sein. Ist der Punkt erreicht geht es in die nächste Phase. Rücksprünge sind eigentlich nicht vorgesehen, außer sind wurden zu Beginn des Projektes festgehalten, beschrieben und definiert. Bei sequentiellen Vorgehensmodellen ist die fachliche Anforderung in der Analysephase am wichtigsten. Denn dort wird detailliert das Projekt entwickelt und umfassend beschrieben. Entstehen in dieser Phase bereits tiefgreifende Fehler, ziehen sich diese Fehler systematisch durch das Projekt hindurch. Das Problem gilt zwar für alle Softwareentwicklungsprojekte, aber bei den sequentiellen Vorgehensmodellen ist der Rücksprung auf die vorherige Phase eigentlich nicht vorgesehen. Dieser Rücksprung müsste in der Analysephase bereits festgehalten werden, ist dort aber oft noch nicht bekannt.

Ein Beispiel für ein sequentielles Vorgehensmodell ist das Wasserfallmodell nach Royce von 1970. Es war eines der ersten Vorgehensmodelle in der Entwicklung von Software. Das bedeutendste Merkmal des Wasserfallmodells ist die Erstellung von abschließenden Dokumenten zum Abschluss jeder Phase. Erst dann ist die Phase beendet und die nächste Phase kann beginnen. Es sind auch Rücksprünge vorgesehen, diese gehen aber nur einen Schritt zurück. Keine Phase, egal ob vor oder zurück, darf übersprungen werden.

Wasserfallmodell

Wasserfallmodell

Der Vorteil der sequentiellen Vorgehensmodelle ist die hohe Planbarkeit in der Projektdurchführung und die absolute Kontrolle in welchem Punkt sich die Systementwicklung gerade befindet. Die Nachteile sind die relativ hohe Dokumentenlast, die schnell entstehen kann und die schlechte Reaktionsfähigkeit auf veränderte Anforderungen innerhalb der Entwicklungsphasen.

Heute werden die sequentiellen Vorgehensmodelle nur noch in kleinen, abgespeckten und schnellen Projekten verwendet. Wobei sie dort meistens schon durch die agile Softwareentwicklung abgelöst wurden.

Das nicht sequentielle Vorgehensmodell

Die nicht sequentiellen Vorgehensmodelle sind gekennzeichnet durch die möglichen Sprünge innerhalb der gesamten Systementwicklung. Diese Sprünge zwischen den Aktivitäten müssen nur vorher definiert sein und können nicht willkürlich stattfinden. So sind aber auch größere Rücksprünge unproblematisch möglich. Werden zusätzlich noch Zyklen festgelegt, können die Aktivitäten von vornherein mehrfach durchlaufen werden. Dazu sei das Spiralmodell von Boehm von 1988 genannt. Dort werden die unterschiedlichen Aktivitäten mehrfach durchlaufen und bearbeitet, bis das Ergebnis passt und zufriedenstellend ist. Oft werden dazu auch die Begriffe „evolutionär“, „iterativ“ oder „inkrementell“ gebraucht.

Spiralmodell

Spiralmodell

Weitere Beispiele für nicht sequentielle Vorgehensmodelle sind das schwergewichtige V-Modell XT und die relativ neue Herangehensweise der agilen Softwareentwicklung. Wobei das zuletzt genannte Vorgehensmodell ein paar weitere Besonderheiten aufweist.

Auffälligste Unterschiede der beiden Vorgehensmodelle

Der wesentliche Unterschied zwischen den sequentiellen und den nicht sequentiellen Vorgehensmodellen ist der mögliche Rücksprung. Ob nun kleiner oder größer und vorhanden oder nicht vorhanden, der Rücksprung bildet den größten Unterschied in der Grundidee der beiden Modelle. Dadurch sind beide Vorgehensmodelle unterschiedlich in ihrer Flexibilität auf neue Anforderungen zu bewerten. Aber auch auf ihre Planbarkeit hin. Flexibilität geht damit auf Kosten der Planbarkeit. Im sequentiellen Vorgehensmodell ist diese Flexibilität nur schwer gegeben, dafür ist das Projekt sehr gut planbar. Andersherum beim nicht sequentiellen Modell. Dafür können im nicht sequentiellen Modell neue und veränderte Anforderungen schnell in die Entwicklung einfließen ohne das Projekt grundlegend auf den Kopf zu stellen.

Welches Vorgehensmodell wann und für welche Systementwicklung genutzt wird, muss immer separat nach Projekt und dessen Anforderung durch den Auftraggeber entschieden werden. Eine genaue Festlegung kann hier nicht getroffen werden, da die unterschiedlichen Gegebenheiten und Einflussfaktoren zu vielfältig sind.


Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *