Agilní vývoj software

Optimální metodika pro řízení vašeho projektu

agile-development

Co jsou Agilní metodiky vývoje software?

Agilní metodiky vývoje software používají tzv. agilní přístup, kdy je celý proces vývoje rozdělený do několika cyklů, tzv. sprintů. Toto rozdělení procesu vývoje umožňuje vývojářům pružně reagovat na změny zadání. Práce se rozvrhuje vždy na jednotlivý cyklus a jednotlivé výstupy se průběžně testují a ověřují s uživateli.

Zpětná vazba od uživatelů je nepřetržitě implementována do vývoje, jde tedy o dynamický proces.

Sprint

sprint
sprint note
Náplň sprintu
Náplň určí vývojářský tým zároveň s klientem
sprint note
Doba sprintu
Obvyklá doba trvá jeden týden až jeden měsíc
sprint note
Vyhodnocení sprintu
Vyhodnocuje se plán versus skutečnost průběhu vývoje

Výhody agilního vývoje

1
Velmi rychlý start samotného vývoje
2
Detailní návrh jednotlivých částí softwaru probíhá v průběhu vývoje jeho první verze.
3
První verze softwaru je minimalistická, a proto se dostává k zákazníkovi co nejdříve
4
Zákazník se průběžně účastní vývoje prostřednictvím schůzek a rozhovorů, může tak ovlivnit zadání i vývoj
5
Software je možné testovat již v průběhu vývoje s koncovými uživateli a přizpůsobovat tak produkt jejich potřebám
6
Financování vývoje je průběžné, vývoj tedy jednorázově nezatěžuje cash-flow klienta
7
Intenzitu vývoje je možné přizpůsobit aktuálním finančním možnostem zákazníka

Srovnání agilního vývoje s modelem Vodopádu

Agilní vývojVodopádový model
Pracovní proces
Agilní řízení rozděluje proces vývoje aplikace do několika sprintů. Každý sprint musí být dokončen a schválen klientem, než začíná další.
Existuje jen jeden vývojový cyklus. Projekt není rozdělený do několika sprintů. Vývojáři získají požadavky od klienta a začnou pracovat na celém projektu. Na začátku vývoje vzniká několik fází projektu, z nichž poslední fáze je zcela detailní.
Flexibilita
V agilním řízení lze jednoduše měnit požadavky na vývoj aplikace na základě zpětné vazby od uživatelů.
Model Vodopádu obtížněji reflektuje průběžné změnové požadavky zákazníka.
Testování
Aplikace se testuje po každém sprintu. To může pomoci vyladit každou část projektu tak, aby vyhovoval potřebám zákazníka.
Aplikace se testuje až po dokončení celé fáze vývoje. Nezískáme tedy průběžnou zpětnou vazbu od uživatelů.
Angažovanost zákazníků
Klient je zapojen po celou dobu vývoje produktu.
Klient je zapojen pouze v raných fázích projektu a po dokončení finální aplikace.
Agilní vývoj
Pracovní proces
Agilní řízení rozděluje proces vývoje aplikace do několika sprintů. Každý sprint musí být dokončen a schválen klientem, než začíná další.
Flexibilita
V agilním řízení lze jednoduše měnit požadavky na vývoj aplikace na základě zpětné vazby od uživatelů.
Testování
Aplikace se testuje po každém sprintu. To může pomoci vyladit každou část projektu tak, aby vyhovoval potřebám zákazníka.
Angažovanost zákazníků
Klient je zapojen po celou dobu vývoje produktu.
Vodopádový model
Pracovní proces
Existuje jen jeden vývojový cyklus. Projekt není rozdělený do několika sprintů. Vývojáři získají požadavky od klienta a začnou pracovat na celém projektu. Na začátku vývoje vzniká několik fází projektu, z nichž poslední fáze je zcela detailní.
Flexibilita
Model Vodopádu obtížněji reflektuje průběžné změnové požadavky zákazníka.
Testování
Aplikace se testuje až po dokončení celé fáze vývoje. Nezískáme tedy průběžnou zpětnou vazbu od uživatelů.
Angažovanost zákazníků
Klient je zapojen pouze v raných fázích projektu a po dokončení finální aplikace.