Metodológia vodopádu vs agilná
V softvérovom priemysle sa dnes používa množstvo rôznych metodológií vývoja softvéru. Metóda vodopádového vývoja je jednou z prvých metód vývoja softvéru. Metodológia vývoja softvéru Waterfall je sekvenčný model, v ktorom je každá fáza dokončená v plnom rozsahu a nasleduje v pevnom poradí. Agilný model je novší model vývoja softvéru, ktorý bol zavedený na riešenie nedostatkov zistených v existujúcich modeloch. Hlavným zameraním Agile je čo najskoršie začlenenie testovania a veľmi skoré uvoľnenie pracovnej verzie produktu rozdelením systému na veľmi malé a spravovateľné čiastkové časti.
Čo je metodika vodopádu?
Metodika vodopádu je jedným z prvých modelov vývoja softvéru. Ako už názov napovedá, ide o sekvenčný proces, v ktorom pokrok prechádza niekoľkými fázami zhora nadol, podobne ako vodopád. Fázy modelu Waterfall sú analýza požiadaviek, návrh, vývoj, testovanie a implementácia. Tu je každá fáza úplne dokončená pred prechodom na ďalšiu fázu. Tento model bol priamym výsledkom jednoduchého prispôsobenia hardvérovo orientovanej vývojovej metódy (vyskytovanej vo výrobnom a stavebnom priemysle), v tom čase neexistoval žiadny formálny model pre vývoj softvéru.
Čo je Agile?
Agile je najnovšia metodológia vývoja softvéru založená na agilnom manifeste. Toto bolo vyvinuté na vyriešenie niektorých nedostatkov v tradičných metodológiách vývoja softvéru. Agilné metódy sú založené na vysokej priorite účasti zákazníka na začiatku vývojového cyklu. Odporúča začleniť testovanie zákazníkom včas a čo najčastejšie. Testovanie sa vykonáva v každom bode, keď je k dispozícii stabilná verzia. Základ Agile je založený na spustení testovania od začiatku projektu a pokračovaní počas celého projektu až do konca.
Kľúčovou hodnotou Agile je „kvalita je zodpovednosťou tímu“, čo zdôrazňuje, že za kvalitu softvéru je zodpovedný celý tím (nielen testovací tím). Ďalším dôležitým aspektom Agile je rozdelenie softvéru na menšie spravovateľné časti a ich veľmi rýchle dodanie zákazníkovi. Dodanie funkčného produktu je nanajvýš dôležité. Potom tím pokračuje v zdokonaľovaní softvéru a priebežnom poskytovaní každého hlavného kroku. Dosahuje sa to veľmi krátkymi uvoľňovacími cyklami nazývanými sprinty a získavaním spätnej väzby na zlepšenie na konci každého cyklu. Prispievatelia bez veľkej interakcie tímu, ako sú vývojári a testeri v predchádzajúcich metódach, teraz spolupracujú v rámci agilného modelu.
Aký je rozdiel medzi Waterfall Methodology a Agile?
Agilný model prináša pracovnú verziu produktu veľmi skoro v porovnaní s metodikou Waterfall. Keďže sa postupne dodáva viac funkcií, zákazník si môže niektoré z výhod uvedomiť už čoskoro. Čas testovacieho cyklu Agile je relatívne krátky v porovnaní s metodikou Waterfall, pretože testovanie prebieha súbežne s vývojom. Model Waterfall je veľmi tuhý a relatívne menej flexibilný ako model Agile. Kvôli všetkým týmto výhodám je v súčasnosti Agile uprednostňovaná pred metodikou Waterfall.