Razlika između agilne i tradicionalne metodologije razvoja softvera

Razlika između agilne i tradicionalne metodologije razvoja softvera
Razlika između agilne i tradicionalne metodologije razvoja softvera

Video: Razlika između agilne i tradicionalne metodologije razvoja softvera

Video: Razlika između agilne i tradicionalne metodologije razvoja softvera
Video: URANAK1 | Koje su razlike između reakcija na vakcinu, nuspojava i dugotrajnih posledica? 2024, Novembar
Anonim

Agile protiv tradicionalne metodologije razvoja softvera

Postoji niz različitih metodologija razvoja softvera koje se danas koriste u softverskoj industriji. Vodopadna metoda razvoja je jedna od najranijih metoda razvoja softvera. V-Model, RUP i nekoliko drugih linearnih, iterativnih i kombinovanih linearno-iterativnih metoda, koji su došli nakon vodopada metodologije, imali su za cilj da izbrišu mnoga pitanja vodopada metode. Sve ove ranije metodologije nazivaju se tradicionalnim metodologijama razvoja softvera. Agilni model je noviji model razvoja softvera uveden kako bi se riješili nedostaci koji se nalaze u tradicionalnim modelima. Glavni fokus Agile-a je uključivanje testiranja što je ranije moguće i izdavanje radne verzije proizvoda vrlo rano, razbijanjem sistema na vrlo male poddijelove kojima se može upravljati.

Šta je tradicionalna metodologija razvoja softvera?

Softverske metodologije kao što su Waterfall metoda, V-Model i RUP nazivaju se tradicionalnim metodologijama razvoja softvera. Waterfall metodologija je jedan od najranijih modela razvoja softvera. Kao što ime govori, to je sekvencijalni proces u kojem napredak teče kroz nekoliko faza (analiza zahtjeva, dizajn, razvoj, testiranje i implementacija) od vrha do dna, analogno vodopadu. V-Model se smatra proširenjem modela razvoja softvera Waterfall. V-Model koristi iste odnose između faza definiranih u Waterfall modelu. Ali umjesto da se linearno spušta (kao model vodopada), V-model se spušta dijagonalno, a zatim se pomiče nazad (nakon faze kodiranja), formirajući oblik slova V. RUP (Rational Unified Process) je prilagodljiv procesni okvir (a ne jedan konkretan proces), koji razvojna organizacija može prilagoditi svojim potrebama. Pomalo sličan vodopadu, ima fiksne faze kao što su početak, razrada, izgradnja i tranzicija. Ali za razliku od vodopada, RUP je iterativni proces.

Šta je Agile?

Agile je vrlo novija metodologija razvoja softvera (ili tačnije, grupa metodologija) zasnovana na manifestu agilnosti. Ovo je razvijeno da riješi neke nedostatke u tradicionalnim metodologijama razvoja softvera. Agilne metode se zasnivaju na davanju visokog prioriteta učešću korisnika u ranoj fazi razvojnog ciklusa. Preporučuje se uključivanje testiranja od strane korisnika ranije i što je češće moguće. Testiranje se vrši u svakoj tački kada stabilna verzija postane dostupna. Osnova Agile-a zasniva se na započinjanju testiranja od početka projekta i nastavljanju sve do kraja projekta. Scrum i Extreme programiranje su dvije od najpopularnijih varijacija Agile metoda.

Ključna vrijednost Agile-a je “kvalitet je odgovornost tima”, što naglašava da je kvalitet softvera odgovornost cijelog tima (ne samo tima za testiranje). Još jedan važan aspekt Agile-a je raščlanjivanje softvera na manje dijelove kojima se može upravljati i isporuka ih kupcu vrlo brzo. Isporuka radnog proizvoda je od najveće važnosti. Zatim tim nastavlja da poboljšava softver i kontinuirano isporučuje na svakom većem koraku. Ovo se postiže vrlo kratkim ciklusima oslobađanja (koji se u Scrum-u nazivaju sprintovi) i dobijanjem povratnih informacija za poboljšanje na kraju svakog ciklusa. Saradnici bez mnogo interakcije tima kao što su programeri i testeri u ranijim metodama, sada rade zajedno u okviru Agile modela.

Koja je razlika između agilne i tradicionalne metodologije razvoja softvera?

Iako je Agile metoda zasnovana na iterativnom razvoju kao neki od tradicionalnih pristupa, Agile i Tradicionalne metodologije imaju ključne razlike. Tradicionalni pristupi koriste planiranje kao svoj kontrolni mehanizam, dok Agile modeli koriste povratne informacije od korisnika kao glavni kontrolni mehanizam. Agile se može nazvati pristupom usmjerenim na ljude od tradicionalnih metoda. Agilni model isporučuje radnu verziju proizvoda vrlo rano u usporedbi s tradicionalnim metodologijama, tako da kupac može rano shvatiti neke od prednosti. Vrijeme ciklusa testiranja Agile-a je relativno kratko u poređenju sa tradicionalnim metodama, jer se testiranje radi paralelno sa razvojem. Većina tradicionalnih modela je vrlo kruta i relativno manje fleksibilna od Agile modela. Zbog svih ovih prednosti, Agile ima prednost u odnosu na tradicionalne metodologije u ovom trenutku.

Preporučuje se: