Skip to main content

Spiralmodell

Was ist ein Spiralmodell?

Mit dem Spiralmodell (engl.: spiral model) wird ein Modell aus dem Bereich der Softwareentwicklung angesprochen. Das Modell folgt einem spezifischen Vorgehen und kann als Gegensatz zum sogenannten Wasserfallmodell erachtet werden. Das Spiralmodell erläutert, wie der Lebenszyklus einer Software anhand von Spiralen verläuft. Die Spiralen müssen nach dem Modell immer wieder durchlaufen werden, sodass letztendlich das fertige Produkt in die Auslieferung gehen kann. Eine andere Bezeichnung für das Spiralmodell ist inkrementelles Modell, das heißt es findet eine permanente Arbeit an dem Produkt statt und dies tendenziell in kleinen Schritten.

Hintergrund zum Spiralmodell

Ein inhaltlicher Fokus des Spiralmodells liegt auf der Minimierung von Risiken hinsichtlich der Softwareentwicklung. Die hierbei vorliegenden Risiken sind vor allem steigende Gesamtkosten, Mehraufwand sowie eine verspätete Einführung der Software. Bei dem vorliegenden Modell wird diesen Risiken insofern begegnet, als dass die inkrementelle Vorgehensweise Anwendung findet. Es werden in dieser Weise zunächst Prototypen entwickelt, die sodann die Zyklen respektive Spiralen der Softwareentwicklung durchlaufen. Dieser Prozess findet mindestens ein Mal statt. Ein wesentliches Charakteristikum des Spiralmodells ist dessen generische Beschaffenheit, wodurch Kombinationsmöglichkeiten mit anderen Methoden der Entwicklung gegeben sind. Aus diesem Grund wird das Spiralmodell auch als Modell zweiter Ordnung tituliert.

Der Ursprung des Modells geht auf das Jahr 1986 zurück, als das Spiralmodell von Barry W. Boehm in einem seiner Aufsätze Beachtung fand. Zu dieser Zeit wurde das Wasserfallmodell mitsamt seinen inhärenten Nachteilen immer wieder kritisch diskutiert. Ein wesentliches Merkmal des Spiralmodells im Unterschied zum Wasserfallmodell und auch zu “Code and Fix” ist, dass es sich bei dem Spiralmodell um ein risikogetriebenes Verfahren handelt. Mit anderen Worten geht es hier immer wieder darum, Risiken zu identifizieren und zu lösen – und dies innerhalb unterschiedlicher Produktzyklen sowie nach Festlegung der Bedingungen und Ziele. Fokussiert wird beim Spiralmodell auf Faktoren, die für das Projekt bzw. die Software eine Unsicherheit bedeuten. Die Annahme ist demzufolge, dass eine kostengünstige Reduktion der Risiken bzw. deren Kontrolle einen erfolgreichen Verlauf des Projektes deutlich begünstigen. Vorliegende Ansätze, wie die Risiken reduziert und eliminiert werden können, gibt es mehrere, wie zum Beispiel: Simulationen, Interviews mit Anwendern, Prototypen und Benchmarktests. Das gesamte Verfahren kann je nach Risikotyp auch revidiert und auf andere Weise strukturiert werden, wobei das Intervenieren des Managements in jeder der Zyklen möglich ist. Es können demnach auch alternative Ansätze der Entwicklung übernommen werden.

Funktionalität des Spiralmodells

Wie bereits beschrieben geht es bei dem Spiralmodell um das immer wiederkehrende Durchlaufen von Zyklen, die auch als Quadranten bezeichnet werden. Bei den Zyklen, die meist mehrmals durchlaufen werden, handelt es sich um die folgenden vier Quadranten:

  • Zielfestlegung, Beschreibung der Rahmenbedingungen, Identifikation von Alternativen
  • Evaluierung der Alternativen, Risikoerkennung sowie Einordnung und Reduzierung der Risiken (beispielsweise mit Analysen, Prototyping, Simulationen)
  • Anfertigung und Prüfung eines Zwischenprodukts
  • Planung des nächsten Quadranten zur Fortsetzung des Projekts

Das Modell ist risikogetrieben und in diesem Zusammenhang sind die wichtigsten Faktoren des Modells die Risikoanalyse sowie die Risikobewertung. Es gilt, jedes das Projekt bedrohende Risiko bereits zu einem sehr frühen Zeitpunkt zu identifizieren. Inwieweit das Projekt voranschreitet, hängt sodann insbesondere davon ab, wie die spezifischen Risiken verhindert und eliminiert werden. Das Projekt ist in dieser Weise erst dann als erfolgreich zu bezeichnen, wenn keine Risiken mehr feststellbar sind. Das Durchlaufen der Zyklen bzw. Quadranten ist mit der Zielsetzung verbunden, ein kontinuierlich besser werdendes Produkt zu produzieren, wobei die Software bzw. Applikation eine kontinuierliche Verfeinerung erfährt. Wichtig ist, dass das Spiralmodell zwar inkrementell beschaffen ist, aber nicht wirklich iterativ. Iterationen kommen nur dann vor, wenn das Projekt durch Konflikte oder Risiken bedroht wird. In einem solchen Fall hat das Produkt einen Zyklus erneut zu durchlaufen, was wiederum als Iteration zu deklarieren ist.

Das Spiralmodell: Vorteile und Nachteile

Mit dem Einsatz des risikogetriebenen Spiralmodells sind spezifische Vorteile und Nachteile verbunden. Das Einsatzfeld des Modells ist meist bei großen Projekten mit bestehenden Risiken zu finden. Hinsichtlich der Vor- und Nachteile ist zu bedenken:

Pro
  • Das Spiralmodell findet besonders in neuartigen technischen Umgebungen Anwendung, da hier ein besonderes Risiko gegeben ist. Für Entwickler und Auftraggeber ist es essenziell, stets Kontrolle über das Budget zu haben, da die Risiken monetäre Effekte haben.
  • Mit dem Ansatz der Zyklen können Konflikte vermieden werden. Es werden hiermit vor allem Konflikte zwischen dem Design einer Software sowie den Anforderungen angesprochen, die an die Software gestellt werden. Die Anforderungen können in diesem Kontext stets überprüft und im Bedarfsfall auch verändert werden.
  • In frühen Phasen eines Projektes kann Feedback von Auftraggebern, Entwicklern und Anwendern eingeholt werden.
Contra
  • Es kann durchaus zu einem Einschleichen von Fehlern im Gesamtprozess, sowie zu konzeptionellen Mängeln hinsichtlich des Endproduktes kommen. Diesbezüglich ist häufiger festzustellen, dass Prototypen in das Produktivsystem gelangen, obgleich innerhalb der Entwicklungs- und Testphase die Software umfassend getestet wird - so etwa mit einem Acceptance-, Unit- und Integration-Test.
  • Es ist ein Risiko von Schleifen (engl.: Loops) an Stellen vorhanden, an denen Entscheidungen zu den nachfolgenden Quadranten getroffen werden müssen. In einem solchen Fall , kann das Projekt länger andauern, insbesondere wenn die Entscheidungen in eine falsche Richtung gehen. Deshalb ist es essenziell, dass Alternativen mitsamt einer Evaluierung im Prozess gegeben sind.
  • Ein Management das die Quadranten bzw. Zyklen stets konrolliert, sodass es auf Risiken schnell eingegangen werden kann, ist unumgänglich. Quintessenz ist, dass Projekte mit einer solchen komplexen Beschaffenheit einer fundierten Dokumentation bedürfen, die alle Veränderungen aufgreift.

Fazit: das Spiralmodell und die Programmierung

Das gegensätzliche Wasserfallmodell stellt ein sequentielles Modell dar, bei dem eine Anordnung mit aufeinanderfolgenden Phasen gegeben ist. Das Spiralmodell hingegen baut auf Spiralen auf, mit denen der Lebenszyklus einer Software charakterisiert wird. Diese Spiralen müssen durchlaufen werden, um letztendlich und ohne Risiken zu einem fertigen Endprodukt zu gelangen. Wegen dieser Beschaffenheit ähnelt das Spiralmodell in einem höheren Maße dem Prototyping als dies bei den klassischen Modellen gegeben ist. Kommt das Modell zur Anwendung, sollte darauf Acht gegeben werden, dass seine Vorteile fokussiert und die Nachteile soweit wie möglich vermieden werden. Weil das Spiralmodell sehr stark auf die Risikominimierung und -vermeidung ausgerichtet ist, kann es vor allem für Entscheider eine große Rolle spielen. Denn es konzentriert sich damit sehr intensiv auf finanzielle Aspekte. Mit dem Spiralmodell können auch größere Projekte umgesetzt werden – mitsamt den wirtschaftlichen Effekten, die diese Projekte ausmachen. Dies ist der Fall, da beim Spiralmodell häufig Kundengespräche, Machbarkeitsstudien und stringente Analysen ein wichtiger Bestandteil sind. Grundsätzlich kann hinsichtlich der Programmierung konstatiert werden, dass agile Methoden vor allem dann gefragt sind, wenn ein hohes Maß an Flexibilität notwendig ist. Dann können auch agile Methoden eine gute Wahl sein – wie etwa Extreme Programming, Scrum oder DevOps.

Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG

Spiralmodell
3.7 (73.33%) 6 votes