Kaskadni model životnog ciklusa: prednosti i nedostaci
Kaskadni model životnog ciklusa: prednosti i nedostaci

Video: Kaskadni model životnog ciklusa: prednosti i nedostaci

Video: Kaskadni model životnog ciklusa: prednosti i nedostaci
Video: Как живёт Новак Джокович, сколько он зарабатывает и тратит на благотворительность 2024, Studeni
Anonim

Razvoj softvera nije kao tradicionalni inženjering. Metodologija je ono što programeri koriste kako bi rastavili rad na progresivne korake kojima se može upravljati, gdje se svaki može pregledati kako bi se osigurala kvaliteta. Timovi rade zajedno s klijentom kako bi stvorili gotov softverski proizvod koristeći jednu od metodologija razvoja softvera. Najpopularniji od njih su spiralni, vodopadni ili kaskadni model (Waterfall); RAD, ili brzi razvoj aplikacija; Agilni model, ili fleksibilni i iterativni, ili iterativni model. Postoje i druge mogućnosti, ali u ovom članku ćemo razmotriti samo vodopad, odnosno vodopad, model životnog ciklusa projekta, a također ćemo istražiti njegove prednosti i nedostatke. Odmah pojasnimo da je to slijed određenih koraka, a posebnost mu je da je nova fazanije moguće dok se prethodni ne dovrši.

Povijest modela vodopada

Metodologija u svom tradicionalnom obliku ostavlja malo prostora za neočekivane promjene. Ako razvojni tim nije prevelik, a projekti su predvidljivi, Waterfall može osigurati da budu dovršeni na vrijeme.

ljudi se svađaju
ljudi se svađaju

Model razvoja vodopada postoji više od četrdeset godina. Prvi put je opisan u članku W. Roycea iz 1970. godine kao jedan od prvih službenih modela za proces razvoja. Opisan je kao neučinkovit za velike projekte razvoja softvera, ali nitko nije zabranio njegovu upotrebu za male. Gotovo pola stoljeća nakon što je otkrivena, ova je tehnika još uvijek aktualna u današnjem poslovnom svijetu. Nazvan je zastarjelim modelom i tretira se s nekim prezirom zbog zastarjelosti tradicionalnog pristupa upravljanja projektima. No, Waterfall je koristan i predvidljiv pristup ako su zahtjevi fiksni, dobro dokumentirani i jasni, ako je tehnologija razumljiva i kada za završetak projekta nije potrebno puno vremena. U ovom slučaju, model slapa životnog ciklusa softvera može pružiti predvidljiviji krajnji rezultat za dati proračun, vremenski okvir i opseg posla.

Koji je model razvoja vodopada?

Model vodopada može se opisati kao linearni, sekvencijalni razvoj projekta, gdje se procesi neprestano kreću od zahtjeva do dizajna, zatim do implementacije, verifikacije i implementacije snaknadno tekuće održavanje. Vjeruje se da je kaskadni model životnog ciklusa nastao zahvaljujući W. Royceu, iako je on sam koristio iterativni razvojni model.

Prednosti modela životnog ciklusa vodopada
Prednosti modela životnog ciklusa vodopada

Glavni naglasak u razvoju Waterfall-a je na planiranju, vremenu, ciljevima, proračunima i konačno implementaciji cijelog sustava kao jedinstvenog entiteta. Glavne prednosti ovdje su jednostavno planiranje i provedba unaprijed i unatrag.

Opis modela vodopada

U usporedbi s drugim metodologijama, Waterfall se više od ostalih usredotočuje na jasan, definiran skup koraka. Originalni model sastojao se od pet faza. Često se opisuje kao linearni sekvencijalni model životnog ciklusa. To znači da slijedi jednostavnu faznu strukturu, gdje rezultati svake faze napreduju na sljedeću razinu razvoja. Glavni koraci su:

  1. Prikupite zahtjeve i izradite dokumentaciju.
  2. Dizajn i sistemski inženjering.
  3. Provedba.
  4. Testiranje i implementacija.
  5. Podrška.
Prednosti modela životnog ciklusa vodopada
Prednosti modela životnog ciklusa vodopada

Timovi moraju dovršiti cijeli korak prije nego što pređu na sljedeći, pa ako nešto nije spremno do određenog roka, to postaje odmah vidljivo. Također, za razliku od Six Sigma ili Scrum, Waterfall ne zahtijeva certifikaciju ili posebnu obuku za voditelje projekta ili zaposlenike.

Kritika modela vodopada

Kaskadni model životnog ciklusa informacijskog sustavakritiziran je zbog svoje nefleksibilnosti nakon završetka svakog koraka i zbog odgađanja sposobnosti klijenta da pruži povratne informacije. Međutim, ova metodologija može dobro funkcionirati za manje projekte s ograničenim proračunima. Često se uspoređuje s jednom dobro poznatom metodologijom životnog ciklusa projekta, PRINCE2, koju je stvorila vlada Ujedinjenog Kraljevstva. Ova metodologija se još uvijek koristi u javnom sektoru. Jedna od ključnih razlika između PRINCE2 i modela vodopada životnog ciklusa je ta što potonji zahtijeva pisani opis svih zahtjeva od samog početka, jer ih kasnije može biti teško revidirati. Prije nego započne stvaranje bilo kojeg koda, oni moraju biti precizno definirani i fiksirani. Ovo je važna prednost modela životnog ciklusa vodopada.

Prednosti i nedostaci modela vodopada

Budući da je tehnička dokumentacija nužan dio početne faze razvoja zahtjeva, to znači da svi članovi tima jasno razumiju ciljeve projekta. Novi programeri mogu brzo razumjeti pravila izrade koda i pridružiti se tijeku rada bez ikakvih problema. Kada se koristi model vodopada životnog ciklusa informacijskog sustava ili projekta, fazno izvođenje osigurava disciplinu.

nedostaci modela životnog ciklusa vodopada
nedostaci modela životnog ciklusa vodopada

Svaki korak ima dobro definiranu početnu točku i zaključak, što olakšava praćenje napretka. To pomaže da se smanji svako odstupanje izvođenja projekta od dogovorenih rokova.okvir. U ovom modelu, za razliku od spirale, softver se razmatra kao cjelina. Stoga, pod uvjetom da su ispunjeni svi zahtjevi, radi učinkovitije. Ako nastavimo uspoređivati kaskadni i spiralni model životnog ciklusa, možemo zaključiti da je prvi univerzalniji i da se može primijeniti u različitim područjima.

faza pregovora o zahtjevima

Još jedna prednost modela životnog ciklusa slapa je da se troškovi mogu procijeniti s prilično visokim stupnjem točnosti nakon što se identificiraju svi zahtjevi. Ako se primjenjuje, to znači da su u prvoj fazi svi testni scenariji već detaljno opisani u funkcionalnoj specifikaciji, što proces testiranja čini jednostavnijim i transparentnijim. I prije razvoja softvera, dizajn se detaljno razrađuje, čime su potrebe i rezultat jasni svima.

model životnog ciklusa vodopada
model životnog ciklusa vodopada

Jedna od sjajnih stvari u korištenju Waterfall-a je težiti krajnjem proizvodu, odnosno krajnjem rezultatu, od samog početka. Stoga timovi moraju izbjegavati odstupanje od cilja. Za manje projekte kod kojih je namjera prilično jasna, ovaj korak čini tim svjesnim ukupnog cilja od samog početka, smanjujući mogućnost da se izgubi u detaljima kako projekt napreduje. Vodopadov pristup je vrlo metodičan, zbog čega se naglašava važnost jasne komunikacije u svakoj fazi. U procesu razvoja softvera na svakom novom koraku pojavljuju se novi ljudi. Stoga je važno nastojatidokumentirati informacije tijekom životnog ciklusa projekta.

Nedostaci modela životnog ciklusa vodopada

Potencijalni razvojni problemi mogu se istražiti i riješiti tijekom faze dizajna. Također se razrađuju alternativna rješenja i odabiru ona optimalna. Sve se to događa prije početka projekta. Mnoge organizacije cijene pažnju dokumentaciji od samog početka, jer to također znači da s konačnim proizvodom ne bi trebalo biti iznenađenja. Ali u praksi je rijetko moguće bez promjena. Klijentima je često teško razumjeti vlastite potrebe u smislu funkcionalne specifikacije samo u fazi zahtjeva. To znači da se mogu predomisliti kada vide konačni proizvod. Takav problem je teško riješiti. Ponekad se aplikacija mora gotovo potpuno redizajnirati.

Nedostatak fleksibilnosti u modelu vodopada

Još jedan nedostatak modela životnog ciklusa kaskadnog IP (ili projekta) je potencijalni nedostatak fleksibilnosti. Mogu se pojaviti pitanja u vezi s novim promjenama ili promjenama u zahtjevima do kojih je došlo nakon početnih konzultacija.

koristi se kaskadni model životnog ciklusa
koristi se kaskadni model životnog ciklusa

Prilagodbe zbog poslovnih planova ili tržišnih utjecaja možda nisu uzete u obzir pri planiranju. Također, projekti mogu potrajati dulje u usporedbi s korištenjem iterativne metodologije kao što je Agile.

Važne točke pri korištenju metodologije slapa

Kada je riječ o razvoju Waterfall-a, vrlo je važno da programeri softvera mogu učinkovito voditi i savjetovati klijente kako bi kasnije zaobišli sve ove probleme. Često je najkritičniji aspekt primjene modela životnog ciklusa vodopada taj što kupci zapravo ne znaju što zapravo žele. U mnogim slučajevima, prava dvosmjerna interakcija između programera i klijenata se ne događa sve dok klijent ne vidi model na djelu.

kaskadni model životnog ciklusa informacijskog sustava
kaskadni model životnog ciklusa informacijskog sustava

Za usporedbu, u Agile razvoju klijent može vidjeti fragmente radnog koda koji su nastali tijekom rada na projektu. Za razliku od Scrum-a, koji dijeli projekte u zasebne sprintove, Waterfall se uvijek fokusira na krajnji cilj. Ako vaš tim ima određeni cilj s jasnim datumom završetka, Waterfall eliminira rizik od propuštanja roka kada radite na njemu. Na temelju ovih prednosti i nedostataka, razvoj vodopada općenito se preporučuje za projekte za koje nije vjerojatno da će se promijeniti ili im je potreban novi razvoj tijekom trajanja projekta.

Preporučeni: