Metodyka spiralna

Metodyka spiralna
Polecane artykuły


Metodyka spiralna (ang. spiral model) - zakłada cykliczne realizowanie określonej sekwencji działań prowadzących do osiągnięcia rozwiązania docelowego. Stosowany jest najczęściej w bardzo dużych przedsięwzięciach informatycznych, wymagających ciągłego rozwoju i doskonalenia [Z. Handzel 2016, s. 112].

  • Najważniejszą cechą modelu spiralnego jest analiza ryzyka w poszczególnej fazie prac, co stanowi próbę minimalizacji ryzyka niepowodzenia projektu.
  • Nieustanne sprawdzenie systemu/produktu przez użytkownika ma na celu wytworzenie produktu w pełni zadowalającego zleceniodawcę.
  • Budowa systemu rozpoczyna się od sformułowania głównych wymagań i założenia celów, następnie dokonuje się analiza wykonywania przedsięwzięcia razem z oceną alternatywnych rozwiązań. Opierając się na tą podstawę tworzony jest prototyp systemu.

Definicja

Rys. 1 Model spiralny przebiegu projektu

Model spiralny wywodzi się z połączenia modelu kaskadowego oraz prototypowego. Głównym założeniem modelu jest stwierdzenie, że każda następna wersja powstającego systemu/produktu będzie stworzona na podstawie wyników wytworzenia wcześniejszych wersji (prototypów), dzięki czemu z każdym kolejnym przebiegiem procesu realizującego końcowy rezultat musi być coraz lepszy. Proces ten ma formę spirali, w której każda pętla odzwierciedla kolejne fazy procesu [M. Trocki 2017, s. 91]. Za twórcę modelu spiralnego uważa się B.W. Boehm, który zdefiniował go po raz pierwszy w 1988 roku w artykule "A Spiral Model of Software Development and Enhancement”. Metodyka ta jest wykorzystywana przede wszystkim w projektach informatycznych do zarządzania prygotowaniem oprogramowania oraz opisywania, jak różne procesy współdziałają z procesem projektowania [B. Bereza 2014, s. 13].

Model spiralny jest jedynym takim modelem ogólnym, w którym analizę ryzyka uwzględnia się na równi z fazami planowania i realizacji przedsięwzięcia [E. Buklaha 2011, s. 209]. Zakłada on w sobie etapowe dochodzenie do rozwiązania końcowego przez cykliczne wykonywanie tych samych, powtarzających się etapów przedsięwzięcia [Z. Handzel 2016, s. 112]. W sekwencyjnie realizowanych cyklach wykonywane są kolejne wersje systemu/produktu docelowego przedsięwzięcia, np. kolejne prototypy systemu informatycznego. Każda taka wersja przechodzi przez dokładną kontrolę ze strony użytkownika/zleceniodawcy końcowego i powstałe wątpliwości oraz wnioski wpływają na realizację następnego etapu w cyklu zarządzania powstającym rozwiązaniem końcowym [Z. Handzel 2016, s. 112]. W modelu spiralnym proces rozwoju systemu/produktu jest opisany na jedym z czterech pól spirali projektowej, przedstawionych na rysunku.

Przechodząc przez poszczególne etapy modelu na podstawie analizy ryzyka jest dokonywana ocena dalszego uzasadnienia biznesowego, wykonanej wersji systemu/produktu docelowego i zaleca się przyjęcie odpowiedniej wersji projektu do zrealizowania [R. Michalski 2008, s. 74]. W końcu każdego cyklu przedsięwziecia, otrzymane produkty cząstkowe i postęp prac poddają się ocenie przez decydentów i kluczowych interesariuszy przedsięwzięcia. Następny cykl projektu może zacząć się dopiero po zatwierdzeniu przez nich efektów otrzymanych w poprzednim etapie [M. Trocki 2017, s. 91].

W zakresie prac projektowych, na różnych poziomach szczegółowości, formułowane są wymagania biznesowe, opracowany cel i koncepcja dojścia do niego, również tworzona jest koncepcja docelowego produktu, jego projekt i realizowanie [M. Trocki 2017, s. 93]. Definiowany jest plan testów i realizowane są prace związane z testowaniem, poddaje się analizie ryzyko projektowe oraz, na zakończenie poszczególnego cyklu, wykonywana jest ocena w celu zgłoszenia problemów do rozwiązania w kolejnym cyklu spiralnego wykonywania [Z. Szyjewski 2004, s. 255]. Ilość powtórzeń spirali jest zależne od rozmiaru przedsięwzięcia, jego kreatywności oraz innowacyjności, warunków zewnętrznych, które mają wpływ na project, ilości wymagań do uwzględnienia, możliwości wykonawcy prac oraz dostępnych środków i rezerw [M. Trocki 2017, s. 92]. Z racji tego, że w wyniku przejścia z jednego etapu do drugiego poddajemy ocenie dotychczasowe osiągnięcia, model spiralny pozwala zauważyć ryzyko niezgodności z bieżącymi zapotrzebowaniami znacznie wcześniej [Z. Szyjewski 2004, s. 43].

Etapy

Model spiralny to cyklicznie wykonywane cztery główne fazy (czynności):

  • planowanie - w pierwszej z faz ustalają się ogólne warianty struktury systemu/produktu końcowego, dokonywane jest określenie ograniczeń i alternatyw oraz możliwości ich wykonywania.
  • analiza ryzyka - w drugiej fazie dokonywana jest ich ocena i wartościowanie, uwzględniając analizę ryzyka każdej alternatywy i oczekiwanych środków zaradczych.
  • realizacja i testy - trzecia faza uwzględnia wytworzenie i sprawdzenie zrealizowanego celu przez użytkownika/zleceniodawcę końcowego i zawiera w sobie zmiany potrzebne do jego osiągnięcia.
  • planowanie następnych etapów - czwarta faza występuje w przypadku wymaganej zmiany zaproponowanego modelu, np. wersji systemu informatycznego, i dotyczy planowania następnej iteracji przedsięwzięcia na podstawie wcześniejszych postępów oraz ustalonych kierunków rozwoju [M. Trocki 2017, s. 91].

Zalety i wady metodyki spiralnej

Zalety:

  • Budowanie prototypów daje możliwośc lepszej oceny zgodności i sprawdzenia wymagań.
  • Nadaje się do dużych systemów/przedsięwzięć – pozwala na szybką reakcję na pojawiające się czynniki i wymagania [M. Trocki 2017, s. 92].
  • Wielki nacisk na wykrywanie i eliminowanie zagrożeń, który skutkuje wysoką niezawodnością i szansą wykonywania przedsięwzięcia.
  • Software jest stwarzany już we wcześniejszych etapach.
  • Możliwość dopasowania na każdym etapie projektu.
  • Zawiera połączenie iteracji z klasycznym modelem kaskadowym [B. Bereza 2014, s. 7].
  • Elastyczny rozwój produktów cząstkowych projektu.
  • Stabilność docelowego rozwiązania i stopień wykonania końcowych wymagań użytkownika.

Wady:

  • Trudno do niej przekonać klientów.
  • Wymaga obowiązkowej umiejętności szacowania ryzyka.
  • Potrzebuje bardzo dobrze doświadczonych i wyszkolonych ekspertów do analizy planowania, ryzyka oraz relacji z klientem itd.
  • W dużej mierze sukces projektu zależy od analizy ryzyka (występują poważne problemy, gdy jest źle oszacowane ryzyko).
  • Model jest czasochłonny i kosztowny.
  • Nie nadaje się do małych projektów.
  • Ciężki i złożony do dokładnego przestrzegania.

Zastosowanie metodyki spiralnej

Istotę modelu spiralnego można przedstawić jako połączenie następujących ważnych cech przebiegu:

  • A1 - kompleksowy,
  • B2 - sytuacyjny/adaptacyjny,
  • C2- cykliczny,
  • D2 - powtarzalny/iteracyjny,
  • E2 przyrostowy/inkrementalny [M. Trocki 2017, s. 93].

Model spiralny jest rekomendowany dla dużych przedsięwzięć, w sytuacji których dokładne określenie wymagań jest niemożliwe przed rozpoczęciem etapu wykonawczego, ale docelowy odbiorca nie jest precyzyjnie zidentyfikowany [Z. Handzel 2016, s. 112]. Metoda spiralna jest zastosowana m.in. w metodyce Microsoft Solutions Framework (MSF) [M. Trocki 2017, s. 93].

Bibliografia

Autor: Elvira Shymanevska, Krzysztof Woźniak