Co je agilní vývoj a proč ho používáme?

Vývoj softwaru se řídí metodami, díky kterým je práce efektivnější a samotný výsledek také často mnohem lepší. Pokud je tedy vše správně nastaveno. Jednou z nejlepších metodik, kterými se vývojáři při realizaci projektu mohou řídit, je agilní vývoj. Pojďme si nyní přiblížit, jak probíhá agilní vývoj webových aplikací.

Proč agilní vývoj vznikl?

Předchůdcem agilního vývoje je takzvaný vodopádový model, u kterého se vývoj řídil pevně daným postupem. Postupem času však začal tento model narážet na řadu problémů, které souvisely především se změnami v průběhu vývoje, a tedy i s organizací celkového vývoje. Proto byla v roce 2001 v tomto manifestu definována nová metodika, která je během vývoje schopna pružně reagovat na změnu požadavků.

Základním principem agilního vývoje je proto úzká spolupráce mezi vývojářským týmem a zákazníkem, který poptává software. Celá metodika má řadu přístupů, kterými se řídí. Nejčastěji používaným je tzv. Scrum (další metodiky jsou například XP, FDD, Lean development, TDD, Crystal metodiky atd.). Scrum spočívá v rozdělení vývoje softwaru do několika etap, kterým se říká sprinty a trvají v rozmezí jednoho až čtyř týdnů.

Klíčovou částí jsou dále standupy, což je proces, kdy každý člen vývojového týmu referuje o své činnosti a o tom, co se mu povedlo v předchozím dni udělat, do čeho se dále pustí nebo na jaké problémy případně narazil.

Agilní vývoj
Agilní vývoj

Jak sprinty probíhají?

V takzvaném nultém sprintu přichází na řadu důkladná analýza celého projektu, kdy dojde k rozčlenění jednotlivých funkcionalit, obrazovek a činností do jednotlivých bloků. Tyto bloky se následně nahrají do takzvaného Product Backlogu.

Celkový počet sprintů záleží na velikosti projektu. V každém z nich je vytvořena určitá definovaná část softwaru (funkce), na kterou se vážou právě některé z činností, které jsou zapsány v Backlogu. Smysl každého sprintu je kompletní dokončení celé části dané funkcionality tak, aby byla předvedena zákazníkovi v tzv. připomínkovém řízení. Zákazník pak může navrhnout požadavky na změny, úpravy či schválit vyvinutou část projektu.

Pokud jsou nutné změny či úpravy, mohou se integrovat již v rámci dalšího sprintu a nejedná se tedy většinou o příliš velký zásah do celkového systému, jako tomu docházelo například u vodopádové metody. V případě schválení tohoto sprintu nastává sprint následující, kdy dojde k tvorbě další části softwaru. Takto pokračujeme dále a dále až do samotného dokončení projektu a finálního nasazení.

Jak probíhají sprinty
Jak probíhají sprinty

U agilního vývoje je aktivní přístup obou stran základ

Agilní vývoj vyžaduje úzkou spolupráci mezi klientem a vývojářským týmem. Ne každý zákazník má ale dostatek času na konzultace, kontroly, tvorbu připomínek a další činnosti, které jsou potřeba řešit v rámci vývoje tak, aby se celý projekt posouval kupředu. Proto je velmi důležité před zahájením prací na projektu určit, jakým způsobem bude probíhat spolupráce a zda jsou obě strany s takovou formou plně seznámeny. Nejlepší cestou je na straně klienta vybrat někoho, kdo bude mít celý projekt a komunikaci s vývojářskou agenturou na starosti a nezapomenout na to i vyčlenit dostatečný časový prostor v jeho pracovních povinnostech.

I v dnešní době není špatně, pokud se rozhodneme pro klasický vodopád. Vždy záleží na podmínkách a dispozici klienta. Agilní vývoj je efektivní a skvěle uplatnitelná metoda, ale je třeba s ní od začátku pracovat tak, jak je definována, aby z ní vývojáři i klient získali maximum. Pochopení a dobré nastavení spolupráce je proto klíčové. A o tom už jsme také psali.

Podívejte se také na průběh spolupráce s naší agenturou nebo kolik stojí vývoj webových aplikací.