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, April
Anonim

Razvoj softvera nije kao tradicionalni inženjering. Metodologija je ono što programeri koriste da razdvoje rad na progresivne korake kojima se može upravljati, gdje se svaki može pregledati kako bi se osigurao kvalitet. Timovi rade zajedno sa klijentom kako bi kreirali 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 opcije, 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 da objasnimo da je to slijed određenih koraka, a njegova posebnost je u tome što je nova fazanije moguće dok se prethodni ne završi.

Historija modela vodopada

Metodologija u svom tradicionalnom obliku ostavlja malo prostora za neočekivane promjene. Ako razvojni tim nije prevelik, a projekti su predvidljivi, onda Waterfall može osigurati da budu završ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 zvaničnih modela za proces razvoja. Opisan je kao neefikasan za velike projekte razvoja softvera, ali niko nije zabranio njegovu upotrebu za male. Skoro pola veka nakon što je otkrivena, ova tehnika je i dalje aktuelna u današnjem poslovnom svetu. Nazvan je zastarjelim modelom i tretira se s nekim prezirom zbog zastarjelosti tradicionalnog pristupa upravljanju projektima. Ali 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 mnogo vremena. U ovom slučaju, model slapa softverskog životnog ciklusa može pružiti predvidljiviji krajnji rezultat za dati budžet, vremenski okvir i obim posla.

Šta je model razvoja vodopada?

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

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

Glavni naglasak u razvoju Waterfall-a je na planiranju, vremenu, ciljevima, budžetima i na kraju implementaciji cijelog sistema kao jednog entiteta. Glavne prednosti ovdje su jednostavno planiranje i implementacija naprijed i nazad.

Opis modela vodopada

U poređenju sa drugim metodologijama, Waterfall se više od ostalih fokusira na jasan, definisan skup koraka. Originalni model se sastojao 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ći nivo razvoja. Glavni koraci su:

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

Timovi moraju završiti cijeli korak prije nego što pređu na sljedeći, tako da 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 projektne menadžere ili zaposlene.

Kritika modela vodopada

Kaskadni model životnog ciklusa informacionog sistemaje kritiziran zbog svoje nefleksibilnosti nakon završetka svakog koraka i zbog kašnjenja mogućnosti klijenta da pruži povratne informacije. Međutim, ova metodologija može dobro funkcionirati za manje projekte s ograničenim budžetima. Često se uspoređuje s jednom dobro poznatom metodologijom životnog ciklusa projekta, PRINCE2, koju je kreirala vlada Ujedinjenog Kraljevstva. Ova metodologija se i dalje koristi u javnom sektoru. Jedna od ključnih razlika između PRINCE2 i modela vodopada životnog ciklusa je u tome što ovaj drugi zahtijeva pisani opis svih zahtjeva od samog početka, jer ih kasnije može biti teško revidirati. Prije nego počne kreiranje 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 neophodan dio početne faze razvoja zahtjeva, to znači da svi članovi tima jasno razumiju ciljeve projekta. Novi programeri mogu brzo razumjeti pravila kreiranja koda i pridružiti se toku rada bez ikakvih problema. Kada se koristi model vodopada životnog ciklusa informacionog sistema ili projekta, fazno izvršenje osigurava disciplinu.

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

Svaki korak ima dobro definisanu početnu tačku i zaključak, što olakšava praćenje napretka. Ovo pomaže da se smanji svako odstupanje izvršenja projekta od dogovorenih rokova.okvir. U ovom modelu, za razliku od spirale, softver se posmatra kao cjelina. Stoga, pod uslovom da su ispunjeni svi zahtjevi, radi efikasnije. Ako nastavimo porediti 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 vodopada je da se troškovi mogu procijeniti sa prilično visokim stepenom tačnosti nakon što se identifikuju svi zahtjevi. Ako se primjenjuje, to znači da su u prvoj fazi svi scenariji testiranja već detaljno opisani u funkcionalnoj specifikaciji, što proces testiranja čini jednostavnijim i transparentnijim. A čak i prije razvoja softvera, dizajn je razrađen do detalja, čime su potrebe i rezultat svima jasni.

model životnog ciklusa vodopada
model životnog ciklusa vodopada

Jedna od sjajnih stvari u korištenju Waterfall-a je težnja ka krajnjem proizvodu ili 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 svjestan ukupnog cilja od samog početka, smanjujući mogućnost da se izgubi u detaljima kako projekat napreduje. Vodopadov pristup je vrlo metodičan, zbog čega se naglašava važnost jasne komunikacije u svakoj fazi. U procesu razvoja softvera, novi ljudi se pojavljuju na svakom novom koraku. Stoga je važno težiti tomedokumentirati informacije kroz životni ciklus projekta.

Nedostaci modela životnog ciklusa vodopada

Potencijalni razvojni problemi mogu se istražiti i riješiti tokom faze dizajna. Razrađuju se i alternativna rješenja i biraju se ona optimalna. Sve se to dešava prije početka projekta. Mnoge organizacije cijene pažnju dokumentaciji od samog početka, jer to također znači da ne bi trebalo biti iznenađenja s konačnim proizvodom. Ali u praksi je rijetko moguće bez unošenja promjena. Klijentima je često teško razumjeti svoje 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 skoro potpuno redizajnirati.

Nedostatak fleksibilnosti u modelu vodopada

Još jedan nedostatak modela životnog ciklusa kaskadne 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 konsultacija.

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

Prilagođavanja zbog poslovnih planova ili uticaja tržišta možda nisu uzeta u obzir u planiranju. Takođe, projekti mogu potrajati duže da se završe u poređenju sa upotrebom iterativne metodologije kao što je Agile.

Važne tačke kada koristite metodologiju vodopada

Kada je u pitanju razvoj Waterfall-a, vrlo je važno da programeri softvera mogu efikasno 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 šta zaista žele. U mnogim slučajevima, prava dvosmjerna interakcija između programera i klijenata se ne događa sve dok klijent ne vidi model u akciji.

kaskadni model životnog ciklusa informacionog sistema
kaskadni model životnog ciklusa informacionog sistema

Poređenja radi, u Agile razvoju klijent može vidjeti fragmente radnog koda koji su kreirani tokom 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 tome. Na osnovu ovih prednosti i nedostataka, razvoj vodopada se generalno preporučuje za projekte za koje nije vjerovatno da će se promijeniti ili im je potreban novi razvoj tokom trajanja projekta.

Preporučuje se: