Spiralmodell
Das Spiralmodell ist eine für das Risikomanagement verwendete Methode des Systementwicklungszyklus (System Development Lifecycle, SDLC), die das iterative Entwicklungsprozessmodell mit Elementen des Wasserfallmodellskombiniert. Das Spiralmodell wird von Software-Ingenieuren verwendet und wird für große, teure und komplizierte Projekte bevorzugt.
Als Diagramm betrachtet, sieht das Spiralmodell wie eine Spirale mit vielen Schleifen aus. Die Anzahl der Schleifen variiert von Projekt zu Projekt und wird oft vom Projektleiter festgelegt. Jede Schleife der Spirale ist eine Phase im Softwareentwicklungsprozess.
Das Spiralmodell ermöglicht die schrittweise Freigabe und Verfeinerung eines Produkts in jeder Phase der Spirale sowie die Möglichkeit, in jeder Phase Prototypen zu erstellen. Das wichtigste Merkmal des Modells ist die Fähigkeit, unbekannte Risiken nach Beginn des Projekts zu bewältigen; die Erstellung eines Prototyps macht dies möglich.
Einsatzmöglichkeiten des Spiralmodells
Wie bereits erwähnt, wird das Spiralmodell am häufigsten bei großen, teuren und komplizierten Projekten eingesetzt. Weitere Einsatzmöglichkeiten sind:
- Projekte, bei denen häufige Freigaben erforderlich sind
- Projekte, bei denen jederzeit Änderungen erforderlich sein können
- langfristige Projekte, die aufgrund geänderter wirtschaftlicher Prioritäten nicht durchführbar sind
- Projekte mit mittlerem bis hohem Risiko
- Projekte, bei denen eine Kosten- und Risikoanalyse wichtig ist
- Projekte, die von der Erstellung eines Prototyps profitieren würden
- Projekte mit unklaren oder komplexen Anforderungen
Phasen des Spiralmodells
Bei der Darstellung eines Spiralmodells steht der Radius der Spirale für die Kosten des Projekts und der Winkelgrad für den in der aktuellen Phase erzielten Fortschritt. Jede Phase beginnt mit einem Ziel für den Entwurf und endet, wenn der Entwickler oder Kunde den Fortschritt überprüft.
Jede Phase kann in vier Quadranten unterteilt werden: Identifizierung und Verständnis der Anforderungen, Durchführung der Risikoanalyse, Erstellung des Prototyps und Bewertung der Leistung der Software.
Die Phasen beginnen in dem Quadranten, der der Ermittlung und dem Verständnis der Anforderungen gewidmet ist. Das Gesamtziel der Phase sollte festgelegt werden, und alle Ziele sollten ausgearbeitet und analysiert werden. Es ist wichtig, auch alternative Lösungen für den Fall zu ermitteln, dass die angestrebte Version nicht funktioniert.
Als Nächstes sollten alle möglichen Lösungen einer Risikoanalyse unterzogen werden, um etwaige Fehler oder Schwachstellen zu finden, wie zum Beispiel die Überschreitung des Budgets oder Bereiche innerhalb der Software, die für Cyberangriffe offen sein könnten. Jedes Risiko sollte dann mit der effizientesten Strategie behoben werden.
Im nächsten Quadranten wird der Prototyp gebaut und getestet. Dieser Schritt umfasst: Architekturentwurf, Entwurf von Modulen, physischer Produktentwurf und endgültiger Entwurf. Hier wird der in den ersten beiden Quadranten erstellte Vorschlag in eine nutzbare Software umgewandelt.
Im vierten Quadranten schließlich werden die Testergebnisse der neuesten Version ausgewertet. Diese Analyse ermöglicht es den Programmierern, innezuhalten und zu verstehen, was funktioniert hat und was nicht, bevor sie mit einem neuen Build fortfahren. Am Ende dieses Quadranten beginnt die Planung für die nächste Phase und der Zyklus wiederholt sich. Am Ende der gesamten Spirale wird die Software schließlich auf dem jeweiligen Markt eingesetzt.
Schritte des Spiralmodells
Während die Phasen in Quadranten unterteilt sind, kann jeder Quadrant weiter in Schritte unterteilt werden, die innerhalb jedes Quadranten nötig sind. Die Schritte des Spiralmodells können wie folgt verallgemeinert werden:
- Die neuen Systemanforderungen werden so detailliert wie möglich definiert. Dies beinhaltet in der Regel die Befragung einer Reihe von Benutzern, die alle externen oder internen Benutzer und andere Aspekte des bestehenden Systems repräsentieren.
- Es wird ein vorläufiger Entwurf für das neue System erstellt.
- Auf der Grundlage des vorläufigen Entwurfs wird ein erster Prototyp des neuen Systems erstellt. Dabei handelt es sich in der Regel um ein verkleinertes System, das eine Annäherung an die Merkmale des Endprodukts darstellt.
- Ein zweiter Prototyp wird in einem vierfachen Verfahren entwickelt: (1) Bewertung des ersten Prototyps im Hinblick auf seine Stärken, Schwächen und Risiken; (2) Definition der Anforderungen an den zweiten Prototyp; (3) Planung und Entwurf des zweiten Prototyps; (4) Bau und Test des zweiten Prototyps.
- Das gesamte Projekt kann abgebrochen werden, wenn das Risiko als zu groß erachtet wird. Zu den Risikofaktoren können Überschreitungen der Entwicklungskosten, Fehlkalkulationen bei den Betriebskosten und andere Faktoren gehören, die zu einem weniger zufriedenstellenden Endprodukt führen.
- Der vorhandene Prototyp wird auf die gleiche Weise wie der vorherige Prototyp bewertet und, falls erforderlich, wird daraus ein neuer Prototyp nach dem oben beschriebenen vierfachen Verfahren entwickelt.
- Die vorangegangenen Schritte werden so lange wiederholt, bis der Kunde davon überzeugt ist, dass der verfeinerte Prototyp das gewünschte Endprodukt darstellt.
- Das endgültige System wird auf der Grundlage des verfeinerten Prototyps konstruiert.
- Das endgültige System wird gründlich bewertet und getestet. Die routinemäßige Wartung wird fortlaufend durchgeführt, um größere Ausfälle zu verhindern und die Ausfallzeiten zu minimieren.
Vorteile des Spiralmodells
Wie bereits erwähnt, ist das Spiralmodell eine gute Option für große, komplexe Projekte. Der progressive Charakter des Modells ermöglicht es den Entwicklern, ein großes Projekt in kleinere Teile zu zerlegen und eine Funktion nach der anderen in Angriff zu nehmen, um sicherzustellen, dass nichts übersehen wird. Da der Aufbau des Prototyps schrittweise erfolgt, lassen sich die Kosten für das gesamte Projekt mitunter besser abschätzen.
Weitere Vorteile des Spiralmodells sind:
- Flexibilität: Änderungen an den Anforderungen, die nach Beginn der Entwicklung vorgenommen werden, können problemlos übernommen und eingearbeitet werden.
- Risikobehandlung: Das Spiralmodell beinhaltet in jeder Phase eine Risikoanalyse und -handhabung, was die Sicherheit und die Chancen zur Vermeidung von Angriffen und Fehlern erhöht. Der iterative Entwicklungsprozess erleichtert auch das Risikomanagement.
- Kundenzufriedenheit: Das Spiralmodell erleichtert das Kunden-Feedback. Wenn die Software für einen Kunden entwickelt wird, kann der Kunde sein Produkt in jeder Phase sehen und bewerten. So kann er Unzufriedenheit äußern oder Änderungen vornehmen, bevor das Produkt fertiggestellt ist, was dem Entwicklungsteam Zeit und Geld spart.
Nachteile des Spiralmodells
Zu den Einschränkungen des Spiralmodells gehören:
- Hohe Kosten: Das Spiralmodell ist teuer und eignet sich daher nicht für kleine Projekte.
- Abhängigkeit von der Risikoanalyse: Da der erfolgreiche Abschluss des Projekts von einer wirksamen Risikobehandlung abhängt, muss das beteiligte Personal über Fachkenntnisse in der Risikobewertung verfügen.
- Komplexität: Das Spiralmodell ist komplexer als andere SDLC-Optionen. Damit es effizient funktioniert, müssen die Protokolle genau eingehalten werden. Außerdem ist der Dokumentationsaufwand höher, da das Modell Zwischenphasen beinhaltet.
- Schwieriges Zeitmanagement: Zu Beginn des Projekts ist die Anzahl der erforderlichen Phasen oft unbekannt, was ein Zeitmanagement fast unmöglich macht. Es besteht daher immer die Gefahr, dass der Zeitplan nicht eingehalten oder das Budget überschritten wird.