Agile vs V Methodologies (Model)
May ilang iba't ibang mga pamamaraan ng pagbuo ng software na ginagamit sa industriya ng software ngayon. Ang V Methodologies (V-Model) ay isang extension sa Waterfall development method (na isa sa mga pinakaunang pamamaraan). Ang pangunahing pokus ng V-Model ay nagbibigay ng pantay na timbang sa coding at pagsubok. Ang maliksi na modelo ay isang mas kamakailang modelo ng pagbuo ng software na ipinakilala upang matugunan ang mga pagkukulang na makikita sa mga kasalukuyang modelo. Ang pangunahing pokus ng Agile ay ang pagsasama ng pagsubok sa lalong madaling panahon at ang pagpapalabas ng gumaganang bersyon ng produkto nang napakaaga sa pamamagitan ng paghahati-hati sa system sa napakaliit at napapamahalaang mga sub parts.
Ano ang V Methodologies (Model)?
Ang V Methodologies (V-Model) ay isang software development model. Itinuturing itong extension ng tipikal na modelo ng pagbuo ng software ng Waterfall. Ginagamit ng V-Model ang parehong mga ugnayan sa pagitan ng mga phase na tinukoy sa Waterfall model. Ngunit sa halip na pababang linearly (tulad ng Waterfall model) ang V-Model ay bumaba nang pahilis at pagkatapos ay gumagalaw pabalik pataas (pagkatapos ng coding phase), na bumubuo ng hugis ng letrang V. Ang V na hugis na ito ay nabuo upang ipakita ang kaugnayan sa pagitan ng bawat yugto ng ang pagbuo/disenyo at ang kaukulang yugto ng pagsubok. Ang oras at antas ng abstraction ay kinakatawan ng pahalang at patayong axis, ayon sa pagkakabanggit.
Ang pagsubok (ang pataas na landas, kanang bahagi ng V) ay ginagawa para sa pag-verify, habang ang kaukulang mga yugto ng disenyo (ang pababang landas, kaliwang bahagi ng V) ay ginagamit para sa pagpapatunay. Sa V-Model, ang pantay na timbang ay ibinibigay sa coding at pagsubok. Inirerekomenda ng V-Model ang paglikha ng dokumento sa pagsubok kasama ng mga dokumento/code ng disenyo. Halimbawa, ang mga dokumento sa pagsubok ng integration ay dapat na nakasulat kapag ang mataas na antas ng disenyo ay naidokumento at ang mga pagsubok sa yunit ay dapat na dokumentado habang ang detalyadong plano ng disenyo ay ginagawa. Nangangahulugan ito na ang isang plano sa pagpapatupad para sa bawat pagsubok ay dapat gawin muna, hindi naghihintay hanggang sa makumpleto ang pag-develop upang maipasa ito sa pangkat ng pagsubok.
Ano ang Agile?
Ang Agile ay isang napakakamakailang pamamaraan ng pagbuo ng software batay sa maliksi na manifesto. Ito ay binuo upang malutas ang ilang mga pagkukulang sa tradisyonal na V-Model at Waterfall software development methodologies. Ang maliksi na pamamaraan ay nakabatay sa pagbibigay ng mataas na priyoridad sa partisipasyon ng customer sa unang bahagi ng yugto ng pag-unlad. Inirerekomenda nito ang pagsasama ng pagsubok ng customer nang maaga at madalas hangga't maaari. Ginagawa ang pagsubok sa bawat punto kapag naging available ang isang matatag na bersyon. Ang pundasyon ng Agile ay batay sa pagsisimula ng pagsubok mula sa simula ng proyekto at nagpapatuloy hanggang sa katapusan ng proyekto. Ang mga pangunahing halaga ng Agile ay "ang kalidad ay responsibilidad ng koponan", na nagbibigay-diin na ang kalidad ng software ay responsibilidad ng buong koponan (hindi lamang ang pangkat ng pagsubok). Ang isa pang mahalagang aspeto ng Agile ay ang paghahati-hati ng software sa mas maliliit na napapamahalaang bahagi at paghahatid ng mga ito sa customer nang napakabilis. Ang paghahatid ng gumaganang produkto ay pinakamahalaga. Pagkatapos ay patuloy na pinapahusay ng team ang software at patuloy na naghahatid sa bawat pangunahing hakbang. Ito ay nakakamit sa pamamagitan ng pagkakaroon ng napakaikling release cycle na tinatawag na sprints at pagkuha ng feedback para sa pagpapabuti sa dulo ng bawat cycle. Ang mga nag-aambag na walang gaanong pakikipag-ugnayan ng team gaya ng mga developer at tester sa mga naunang pamamaraan, ngayon ay nagtutulungan sa loob ng Agile model.
Ano ang pagkakaiba ng Agile at V Methodologies (Model)?
Ang Agile model ay naghahatid ng gumaganang bersyon ng produkto nang napakaaga kumpara sa V-Model. Habang mas maraming feature ang inihahatid nang paunti-unti, maagang napagtanto ng customer ang ilan sa mga benepisyo. Ang cycle ng pagsubok ng oras ng Agile ay medyo maikli kumpara sa V-Model, dahil ang pagsubok ay ginagawa parallel sa pag-unlad. Ang Agile ay isang proactive na modelo (dahil sa napakaikling mga cycle nito) kumpara sa mas reaktibong V-Model. Ang V-Model ay napakahigpit at medyo hindi gaanong nababaluktot kaysa sa Agile model. Dahil sa lahat ng mga pakinabang na ito, mas pinipili ang Agile kaysa sa V-model sa ngayon.