Agile vs tradicinės programinės įrangos kūrimo metodika
Šiandien programinės įrangos pramonėje naudojama daugybė skirtingų programinės įrangos kūrimo metodikų. Krioklio kūrimo metodas yra vienas iš ankstyviausių programinės įrangos kūrimo būdų. V-modelis, RUP ir keletas kitų tiesinių, pasikartojančių ir kombinuotų tiesinių-iteracinių metodų, kurie atsirado po krioklio metodikos, buvo skirti pašalinti daugelį krioklio metodo klausimų. Visos šios ankstesnės metodikos vadinamos tradicinėmis programinės įrangos kūrimo metodikomis. „Agile“ modelis yra naujesnis programinės įrangos kūrimo modelis, pristatytas siekiant pašalinti tradicinių modelių trūkumus. Pagrindinis „Agile“ dėmesys yra susijęs su bandymu kuo anksčiau ir veikiančia produkto versija išleidimu labai anksti, suskaidžius sistemą į labai mažas ir lengvai valdomas dalis..
Kas yra tradicinė programinės įrangos kūrimo metodika?
Programinės įrangos metodikos, tokios kaip „Waterfall“ metodas, „V-Model“ ir „RUP“, vadinamos tradicinėmis programinės įrangos kūrimo metodikomis. Krioklio metodika yra vienas iš ankstyviausių programinės įrangos kūrimo modelių. Kaip rodo pavadinimas, tai yra nuoseklus procesas, kurio metu progresas vyksta keliais etapais (poreikių analizė, projektavimas, kūrimas, bandymai ir įgyvendinimas) iš viršaus į apačią, analogiški kriokliui. „V-Model“ yra laikomas „Waterfall“ programinės įrangos kūrimo modelio pratęsimu. „V-Model“ naudoja tuos pačius ryšius tarp fazių, apibrėžtų krioklio modelyje. Vietoj nusileidimo linijiškai (kaip ir krioklio modelyje), „V-Model“ nusileidžia įstrižai, o paskui grįžta atgal (po kodavimo fazės), sudarydamas raidės formą V. RUP („Rational Unified Process“) yra pritaikoma proceso sistema (ne vienas konkretus procesas), kurį plėtros organizacija gali pritaikyti pagal savo poreikius. Šiek tiek panašus į krioklį, jis turi fiksuotas fazes kaip pradžia, išsiplėtimas, konstravimas ir perėjimas. Tačiau skirtingai nuo krioklio, RUP yra pasikartojantis procesas.
Kas yra judrus?
Agile yra labai naujausia programinės įrangos kūrimo metodika (arba teisingiau, metodikų grupė), pagrįsta judriu manifestu. Tai buvo sukurta siekiant pašalinti kai kuriuos tradicinių programinės įrangos kūrimo metodikų trūkumus. Agile metodai yra pagrįsti tuo, kad teikiant didelį prioritetą klientų dalyvavimui jau kūrimo ciklo pradžioje. Rekomenduojama kuo anksčiau ir dažniau įtraukti kliento bandymus. Testavimas atliekamas kiekviename taške, kai tampa stabili versija. „Agile“ įkūrimas grindžiamas bandymų pradžia nuo projekto pradžios ir tęstiniu laikotarpiu iki projekto pabaigos. „Scrum“ ir „Extreme“ programavimas yra du populiariausi „Agile“ metodų variantai.
Pagrindinė „Agile“ vertybė yra „kokybė yra komandos atsakomybė“, kuri pabrėžia, kad už programinės įrangos kokybę yra atsakinga visa komanda (ne tik testavimo komanda). Kitas svarbus „Agile“ aspektas yra programinės įrangos suskaidymas į mažesnes valdomąsias dalis ir labai greitas pristatymas klientui. Pristatyti veikiantį produktą yra nepaprastai svarbu. Tuomet komanda toliau tobulina programinę įrangą ir nuolat pristato kiekvieną svarbų žingsnį. Tai pasiekiama turint labai trumpus išleidimo ciklus („Scrum“ vadinamus sprintais) ir kiekvieno ciklo pabaigoje gaunant grįžtamąjį ryšį, kad būtų galima patobulinti. Bendraautoriai, kurie nedaug sąveikauja su komanda, pavyzdžiui, ankstesnių metodų kūrėjai ir bandytojai, dabar kartu dirba „Agile“ modelyje.
Kuo skiriasi judri ir tradicinė programinės įrangos kūrimo metodika?
Nors judrusis metodas, kaip ir kai kurie tradiciniai metodai, grindžiamas pakartotiniu vystymusi, tačiau judrusis ir tradicinis metodai turi esminių skirtumų. Tradiciniai metodai yra valdymo planavimo būdas, o „Agile“ modeliai naudoja pagrindinius vartotojų atsiliepimus kaip pagrindinį valdymo mechanizmą. Agile gali būti vadinama į žmones orientuotu požiūriu nei tradiciniai metodai. Agile modelis pristato veikiančią produkto versiją labai anksti, palyginti su tradicinėmis metodikomis, kad klientas jau anksčiau galėtų suprasti kai kuriuos pranašumus. „Agile“ bandymo ciklo laikas yra palyginti trumpas, palyginti su tradiciniais metodais, nes bandymai atliekami kartu su plėtra. Daugelis tradicinių modelių yra labai griežti ir santykinai mažiau lankstūs nei „Agile“ modeliai. Dėl visų šių pranašumų šiuo metu Agile yra teikiama pirmenybė tradicinėms metodikoms.