model spiralat este un arhetip al procesului de dezvoltare a aplicațiilor. Se bazează pe ipoteza că dezvoltarea software-ului este un ciclu iterativ care se repetă până la atingerea obiectivelor stabilite. Are capacitatea de a face față numărului mare de riscuri care ar putea apărea atunci când se dezvoltă orice software.
Este unul dintre cele mai importante modele de susținere a gestionării riscurilor. După cum sugerează și numele său, acest model este prezentat în formă de spirală, unde diferitele etape ale modelului sunt distribuite în cicluri diferite. Numărul de cicluri din model nu este fix și poate varia de la proiect la proiect.
Indice articol
Modelul în spirală a fost definit de matematicianul american și profesorul de inginerie software Barry Boehm. După ce și-a prezentat conceptul în 1986 pentru dezvoltarea de aplicații complexe, el și-a publicat modelul în 1988 într-un cadru mai cuprinzător în articolul său „Un model spiralat de dezvoltare și îmbunătățire software".
O parte din această publicație din 1988 a reprezentat grafic modelul spiralat, arătând pe deplin cum arată procesul de dezvoltare software într-o formă spirală și susținut de cicluri..
Boehm este cunoscut pentru numeroasele sale contribuții la ingineria software, cum ar fi modelul de cost constructiv (COCOMO), modelul spiralat al procesului software, abordarea G-Theory (win-win) la determinarea și gestionarea cerințelor..
În publicația sa, Boehm a descris modelul în spirală ca o posibilă alternativă la modelul de cascadă stabilit anterior, care a servit și ca bază pentru practica sa..
Modelul spiralat nu a fost primul care a discutat despre dezvoltarea ciclică, dar a fost primul care a explicat de ce iterația este importantă. Așa cum s-a prevăzut inițial, a fost vizat pentru proiecte mari și complexe ale căror iterații variază de obicei de la 6 luni la 2 ani..
Acest model nu presupune că sarcinile de dezvoltare software sunt proiectate liniar, spre deosebire de modelul cascadă, ci le vede ca sarcini iterative.
Acest model ciclic a influențat arhitectura de inginerie software bazată pe model (MBASE) și programarea extremă.
Ceea ce diferențiază mult acest model de alte modele de proces software este că recunoaște în mod explicit riscurile. Astfel, reduce semnificativ eșecul proiectelor software mari, evaluând în mod repetat riscurile și verificând de fiecare dată produsul în curs de dezvoltare..
Acest model de computer conține componente de aproape orice alt model al ciclului de viață al software-ului, cum ar fi modelul cascadă, modelul de prototipare, modelul iterativ, modelul evolutiv etc..
Din această cauză, este capabil să suporte aproape orice tip de risc pe care alte modele nu îl suportă în general. Cu toate acestea, datorită faptului că are atât de multe componente, acest model este mult mai complex decât celelalte modele de dezvoltare software..
Fiecare rotire a spiralei reprezintă un ciclu complet, prin care trec întotdeauna cele patru cadrane, reprezentând cele patru etape ale modelului..
Pe măsură ce mărimea spiralei crește, crește și progresul realizat. Prin urmare, etapele nu se execută o singură dată, ci de mai multe ori, sub forma unei spirale..
Deși această repetare ciclică face ca proiectul să abordeze încet obiectivele stabilite, riscul ca procesul de dezvoltare să eșueze este puternic redus..
Cele patru etape implementează doar obiectivele de bază ale unui ciclu, dar nu trebuie să se manifeste în fiecare ciclu.
De asemenea, ordinea fiecărui ciclu nu este strict determinată. Prin urmare, modelul poate fi combinat oricând cu alte modele.
Este destul de flexibil, deoarece procesele de definire a obiectivelor, analiza riscurilor, dezvoltarea și planificarea se desfășoară separat pentru fiecare fază a proiectului..
Este considerat un metamodel deoarece include celelalte modele. De exemplu, dacă spirala ar fi de un singur ciclu ar reprezenta modelul cascadei, deoarece încorporează abordarea treptată a acestui model clasic.
De asemenea, folosește abordarea modelului de prototipare, deoarece la începutul fiecărui ciclu asamblează un prototip pentru gestionarea riscurilor..
În plus, este compatibil cu modelul evolutiv, deoarece iterațiile spiralei pot fi considerate niveluri evolutive, prin care este construit sistemul final..
Cerințele de sistem sunt definite cât mai detaliat posibil, inclusiv performanța, interfețele hardware / software, indicatorii cheie de succes etc. și ia în considerare obiectivele care ar trebui asociate cu ciclul actual de dezvoltare.
În plus, sunt examinate diferite alternative pentru implementarea acestuia, cum ar fi build vs. cumpărați, reutilizați componente existente sau externalizați etc..
De asemenea, sunt determinate restricții precum costul, programul și interfețele, consumul de timp etc..
Sunt evaluate toate alternativele propuse. Obiectivele și constrângerile servesc drept referințe determinante pentru a selecta cea mai bună soluție.
În plus, sunt identificate riscurile care pot împiedica succesul proiectului, cum ar fi lipsa de experiență, noile tehnologii, programele stricte, procesele deficitare etc., implementarea celor mai profitabile strategii cu cel mai mic risc..
În cele din urmă, sunt utilizate metode precum prototiparea, simulările, modelele analitice și sondajele utilizatorilor..
Toată dezvoltarea necesară este realizată, utilizând tehnologia și soluția selectată. Cu fiecare iterație se creează o versiune mai bună a aplicației.
Codul propriu-zis este scris și testat de mai multe ori până când se ajunge la rezultatul dorit, care va servi apoi ca bază pentru viitoarele etape de dezvoltare.
La finalizarea unui ciclu, începe planificarea pentru următorul. Această planificare ar putea fi continuarea normală cu proiectul dacă obiectivul ciclului a fost atins, luând în considerare definiția următorului obiectiv.
Ar putea fi și găsirea altor soluții, dacă etapa anterioară de dezvoltare s-ar dovedi defectuoasă. Strategia existentă ar putea fi înlocuită cu una dintre alternativele definite anterior sau cu una nouă. Cu aceasta, se va începe o nouă încercare de a atinge obiectivul dat..
Armata Statelor Unite a adoptat modelul spiralat pentru dezvoltarea și actualizarea programului de modernizare a sistemelor de luptă viitoare (SCF)..
Lansate oficial în 2003, SCF-urile au fost prevăzute pentru a dota trupele cu vehicule conectate în timp real la o rețea extraordinar de rapidă și flexibilă de câmpuri de luptă..
Proiectul a fost împărțit în patru spirale de dezvoltare de aproximativ doi ani fiecare. Spirala 1 era programată să înceapă în 2008 și să livreze prototipuri pentru utilizare și evaluare..
După finalizarea Spiral 1, Spiral 2 a fost programat să înceapă în 2010. Dezvoltarea produsului final a fost programată să fie livrată în 2015..
În august 2005, Boeing a anunțat finalizarea primei etape majore a proiectului, care a fost revizuirea funcțională a sistemelor. Boeing și Science Applications International Corporation au fost co-liderii proiectului.
Cu toate acestea, pentru octombrie 2005, Pentagonul a recomandat întârzierea proiectului din cauza impactului ridicat asupra costurilor din războiul din Irak și a ajutorului acordat de uraganul Katrina..
Proiectul a fost anulat în 2009, după apariția reducerilor bugetare, fără a putea demonstra beneficiile modelului spiralat în această misiune.
Datorită acestui tip de structură, problemele dintre proiectare și cerințele tehnice ale software-ului sunt eliminate tacit, grație verificărilor periodice..
Riscurile sunt analizate în fiecare etapă a produsului înainte de a continua. Acest lucru ajută la depășirea sau atenuarea riscurilor potențiale.
Toți angajații beneficiază de marea importanță a analizei riscurilor în acest model, reprezentând posibil cel mai mare avantaj al acestora față de alte modele de proces.
Evaluarea regulată a riscului câștigă valoare atunci când se utilizează medii tehnice noi, care sunt în general asociate cu un anumit potențial de risc din cauza absenței valorilor empirice.
Clienții sunt implicați în fiecare etapă a proiectului, până la finalizarea proiectului. Prin urmare, pot fi colectate feedback-uri diferite pentru a îmbunătăți următoarea versiune a proiectului..
În plus, feedback-ul poate fi obținut în orice moment datorită avansului spiralat. Astfel, clienții și utilizatorii pot fi integrați de la început în procesul de dezvoltare.
Este deosebit de popular și proeminent pentru proiectele mari și complexe, unde controlul bugetului este o prioritate pentru clienți și dezvoltatori. Aveți control maxim asupra costurilor, resurselor și calității proiectului software.
Poate fi destul de costisitor, deoarece necesită un nivel ridicat de expertiză pentru analiza riscurilor. În plus, proiectele necesită un timp semnificativ pentru a se dezvolta, ceea ce poate crește cheltuielile generale.
Este necesară o gestionare prealabilă foarte activă și complexă a proiectului, în care fiecare ciclu este controlat și documentat în mod continuu și atent.
Este comparativ mai complex decât alte modele, deoarece există multe cicluri, fiecare parcurgând etape diferite, crescând astfel efortul procesului de documentare..
Cunoașterea analizei și gestionării riscurilor, care adesea nu este disponibilă, este esențială.
Gestionarea timpului este dificilă, deoarece numărul de cicluri este necunoscut. În plus, procesul de dezvoltare poate fi întârziat în orice moment dacă trebuie luate decizii importante în cadrul unui ciclu sau prin acțiuni suplimentare la planificarea ciclului următor..
Nu este întotdeauna favorabil să se efectueze mulți pași în dezvoltarea de software datorită faptului că, în ciuda versatilității testelor, părțile neterminate ale programului pot ajunge la sistemul final..
În consecință, există întotdeauna pericolul ca orice eroare sau inconsecvență conceptuală să afecteze produsul final..
Nimeni nu a comentat acest articol încă.