Spiralmodell

Spiralmodell

Copyright © Shutterstock / Evgenii Iaroshevskii

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


Weitere Inhalte