Rozdiel medzi agilnou a tradičnou metodikou vývoja softvéru

Rozdiel medzi agilnou a tradičnou metodikou vývoja softvéru
Rozdiel medzi agilnou a tradičnou metodikou vývoja softvéru

Video: Rozdiel medzi agilnou a tradičnou metodikou vývoja softvéru

Video: Rozdiel medzi agilnou a tradičnou metodikou vývoja softvéru
Video: 30 глупых вопросов Data Engineer [Карьера в IT] 2024, Septembra
Anonim

Agilný vs. tradičná metodika vývoja softvéru

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. V-Model, RUP a niekoľko ďalších lineárnych, iteratívnych a kombinovaných lineárnych iteračných metód, ktoré prišli po vodopádovej metodológii, mali za cieľ odstrániť mnohé problémy s vodopádovou metódou. Všetky tieto predchádzajúce metodológie sa nazývajú tradičné metodológie vývoja softvéru. Agilný model je novší model vývoja softvéru, ktorý bol zavedený na riešenie nedostatkov zistených v tradičných 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 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. Metodológia 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 (analýza požiadaviek, návrh, vývoj, testovanie a implementácia) zhora nadol, analogicky k vodopádu. V-Model sa považuje za rozšírenie modelu vývoja softvéru Waterfall. V-Model používa rovnaké vzťahy medzi fázami definované v modeli vodopádu. Ale namiesto lineárneho klesania (ako model Waterfall) V-Model zostúpi diagonálne a potom sa vráti späť nahor (po fáze kódovania), čím vytvorí tvar písmena V. RUP (Rational Unified Process) je adaptabilný procesný rámec (nie jeden konkrétny proces), ktorý si môže vývojová organizácia prispôsobiť podľa svojich potrieb. Mierne podobný vodopádu, má pevné fázy ako vznik, vypracovanie, výstavba a prechod. Ale na rozdiel od vodopádu je RUP iteratívny proces.

Čo je Agile?

Agile je najnovšia metodológia vývoja softvéru (alebo presnejšie skupina metodológií) 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í v priebehu až do konca projektu. Scrum a Extreme programovanie sú dve z najpopulárnejších variácií agilných metód.

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 cyklami uvoľňovania (v Scrume 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 agilnou a tradičnou metodikou vývoja softvéru?

Agilná metóda je síce založená na iteratívnom vývoji, keďže niektoré z tradičných prístupov, agilná a tradičná metodológia majú kľúčové rozdiely. Tradičné prístupy využívajú plánovanie ako svoj riadiaci mechanizmus, zatiaľ čo agilné modely využívajú spätnú väzbu od používateľov ako hlavný riadiaci mechanizmus. Agilný možno 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 včas uvedomiť niektoré výhody. Čas testovacieho cyklu Agile je relatívne krátky v porovnaní s tradičnými metódami, pretože testovanie prebieha súbežne s vývojom. Väčšina tradičných modelov 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 tradičnými metodikami.

Odporúča: