Agile vs V metodologije (model)
Danas se u softverskoj industriji koristi niz različitih metodologija za razvoj softvera. V metodologije (V-model) proširenje su metode razvoja vodopada (koja je jedna od najranijih metoda). Glavni fokus V-modela je davanje jednake težine kodiranju i testiranju. Agile model je noviji model razvoja softvera uveden u svrhu rješavanja nedostataka koji postoje u postojećim modelima. Glavni fokus Agile-a je uključivanje testiranja što je prije moguće i puštanje radne verzije proizvoda vrlo rano razbijanjem sustava na vrlo male i upravljive dijelove.
Što je V metodologija (model)?
V Methodologies (V-Model) je model razvoja softvera. Smatra se produženjem tipičnog modela razvoja softvera Waterfall. V-Model koristi iste odnose između faza definiranih u modelu vodopada. Ali umjesto da se linearno spušta (poput modela vodopada), V-model se spušta dijagonalno, a zatim se kreće natrag gore (nakon faze kodiranja), tvoreći oblik slova V. Ovaj oblik V formira se tako da prikazuje odnos između svake faze razvoj / dizajn i odgovarajuća faza ispitivanja. Vrijeme i razina apstrakcije predstavljeni su vodoravnom i okomitom osi.
Ispitivanje (uzlazni put, desna strana V) vrši se za provjeru, dok se za vrednovanje koriste odgovarajuće faze projektiranja (silazni put, lijeva strana V). U V-modelu jednaka težina se daje kodiranju i ispitivanju. V-Model preporučuje izradu dokumenta za testiranje zajedno s dizajnerskim dokumentima / kodom. Na primjer, dokumenti za testiranje integracije trebaju se pisati kada se projektira visoka razina, a jedinice ispitivanja moraju se dokumentirati tijekom izrade detaljnog plana dizajna. To znači da je potrebno unaprijed kreirati plan provedbe za svaki test, a ne čekati da se razvoj završi kako bi se mogao predati ispitnom timu.
Što je Agile?
Agile je vrlo nedavna metodologija razvoja softvera utemeljena na manifestu agilnosti. To je razvijeno za rješavanje nekih nedostataka u tradicionalnim metodologijama razvoja V-Model i Waterfall softvera. Agilne metode temelje se na davanju visokog prioriteta sudjelovanju kupca u ranom razvojnom ciklusu. Preporučuje uvrštavanje testiranja od strane kupca rano i često što je više moguće. Testiranje se vrši u svakoj točki kada stabilna verzija postane dostupna. Temeljenje Agile temelji se na ispitivanju od početka projekta i nastavljanju do kraja projekta. Ključne vrijednosti Agile-a su "kvaliteta je odgovornost tima", koja naglašava da je za kvalitetu softvera odgovornost cijelog tima (a ne samo tima za testiranje). Još jedan važan aspekt Agile-a je probijanje softvera na manje upravljive dijelove i njihovo isporučivanje kupcu vrlo brzo. Isporuka ispravnog proizvoda od najveće je važnosti. Zatim tim nastavlja poboljšavati softver i neprekidno se isporučivati na svakom većem koraku. To se postiže vrlo kratkim ciklusima puštanja koji se nazivaju sprint i dobivanjem povratnih informacija za poboljšanje na kraju svakog ciklusa. Suradnici bez većih interakcija tima kao što su programeri i testeri u ranijim metodama sada rade zajedno unutar Agile modela.
Koja je razlika između Agile i V metodologije (model)?
Agile model nudi vrlo ranu verziju proizvoda u odnosu na V-Model. Budući da se dodatne značajke isporučuju postupno, kupac može rano ostvariti neke od prednosti. Vrijeme ciklusa testiranja Agile-a relativno je kratko u usporedbi s V-modelom, jer se testiranje provodi paralelno s razvojem. Agile je proaktivni model (zbog svojih vrlo kratkih ciklusa) u usporedbi s mnogo reaktivnijim V-modelom. V-Model je vrlo krut i relativno manje fleksibilan od Agile modela. Zbog svih ovih prednosti, Agile je u ovom trenutku preferiran nad V-modelom.