Agilná vs tradičná metodológia vývoja softvéru
V softvérovom priemysle sa dnes používa množstvo rôznych metodík vývoja softvéru. Metóda vývoja vodopádu je jednou z prvých metód vývoja softvéru. V-Model, RUP a niekoľko ďalších lineárnych, iteračných a kombinovaných lineárnych iteračných metód, ktoré prišli po metodológii vodopádu, mali za cieľ odstrániť mnoho problémov metódy vodopádu. Všetky tieto predchádzajúce metodiky sa nazývajú tradičné metodológie vývoja softvéru. Agilný model je novší model vývoja softvéru zavedený na riešenie nedostatkov zistených v tradičných modeloch. Hlavným cieľom spoločnosti Agile je čo najskoršie začleniť testovanie a čo najskôr vydať pracovnú verziu produktu rozdelením systému na veľmi malé a zvládnuteľné časti..
Čo je tradičná metodika vývoja softvéru?
Softvérové metodológie ako Waterfall method, V-Model a RUP sa nazývajú tradičné metodológie vývoja softvéru. Metodika Vodopád je jedným z prvých modelov vývoja softvéru. Ako už názov napovedá, jedná sa o postupný proces, v ktorom pokrok tečie cez niekoľko fáz (analýza požiadaviek, návrh, vývoj, testovanie a implementácia) zhora nadol, analogický vodopádu. Model V sa považuje za rozšírenie modelu vývoja softvéru Waterfall. Model V používa rovnaké vzťahy medzi fázami definovanými v modeli Waterfall. Ale namiesto lineárneho klesania (ako je model vodopádu) V-model šikmo klesá a potom sa pohybuje späť (po fáze kódovania), pričom vytvára tvar písmena V. RUP (Rational Unified Process) je prispôsobiteľný rámec procesu (nie (jediný konkrétny proces), ktorý môže rozvojová organizácia prispôsobiť podľa svojich potrieb. Mierne podobný vodopádu, má pevné fázy ako vznik, spracovanie, konštrukcia a prechod. Ale na rozdiel od vodopádu je RUP iteračný proces.
Čo je agilné?
Agile je najnovšia metodológia vývoja softvéru (alebo presnejšie skupina metodík) založená na agilnom manifeste. Bol vyvinutý s cieľom vyriešiť niektoré nedostatky v tradičných metodológiách vývoja softvéru. Agilné metódy sú založené na tom, aby sa účasť zákazníkov na začiatku vývojového cyklu prikladala vysokej priorite. Odporúča zahrnúť testovanie zákazníkom čo najskôr a často. Testovanie sa vykonáva vždy, keď je k dispozícii stabilná verzia. Založenie spoločnosti Agile je založené na začatí testovania od začiatku projektu a pokračovania až do konca projektu. Programovanie Scrum a Extreme sú dve z najpopulárnejších variácií metód Agile.
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 skúšobný tím). Jedným z ďalších dôležitých aspektov Agile je rozloženie softvéru na menšie spravovateľné časti a jeho 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 neustále ho dodáva v každom významnom kroku. To sa dosahuje veľmi krátkymi uvoľňovacími cyklami (nazývanými šprinty v Scrume) a získaním spätnej väzby na zlepšenie na konci každého cyklu. Prispievatelia bez väčšieho množstva interakcií 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 agilnou a tradičnou metodológiou vývoja softvéru?
Aj keď je agilná metóda založená na iteratívnom vývoji ako na niektorých tradičných prístupoch, metodiky Agile a Traditional majú zásadné rozdiely. Tradičné prístupy využívajú plánovanie ako svoj kontrolný mechanizmus, zatiaľ čo agilné modely využívajú spätnú väzbu od používateľov ako hlavný kontrolný mechanizmus. Agilnosť sa dá nazvať prístup zameraný na ľudí ako tradičné metódy. Agilný model prináša funkčnú verziu produktu veľmi skoro v porovnaní s tradičnými metodikami, aby si zákazník mohol čoskoro uvedomiť niektoré z výhod. Čas testovacieho cyklu Agile je relatívne krátky v porovnaní s tradičnými metódami, pretože testovanie sa vykonáva súbežne s vývojom. Väčšina tradičných modelov je veľmi tuhá a relatívne menej flexibilná ako model Agile. Vďaka všetkým týmto výhodám je Agile v súčasnosti uprednostňovaná pred tradičnými metodikami.