12 principů agilního vývoje, kterými se řídíme

Pokud je celý proces vývoje softwaru správně nastavený, práce je mnohem efektivnější a samotný výsledek mnohem lepší. Za jednu z nejlepších metodik pro úspěšnou realizaci projektu považujeme agilní vývoj. Co to je? Čím konkrétně se při vytváření aplikace řídíme? A proč jsou tzv. User Stories velmi užitečné? Nahlédněte do naší „vývojářské kuchyně“. 

Agilní vývoj jako cesta k moderní aplikaci

Dříve se aplikace tvořily ve většině případů podle vodopádového modelu, jehož základem byl pevně daný postup vývojového procesu. Tento model však začal postupem času přinášet více problémů než užitku a v dnešním dynamickém světě, kde se vše mění téměř z minuty na minutu, brzdil vývoj svou zkostnatělostí.

To bylo podnětem pro vytvoření nové metodiky – agilního vývoje – která je mnohem efektivnější a pružně reaguje na nenadálé změny požadavků trhu. Díky tomu je možné systém průběžně přizpůsobovat aktuálním podmínkám.

Základní princip agilního vývoje

Aby však mohl agilní vývoj správně fungovat, je nutná úzká spolupráce mezi vývojářským týmem a zákazníkem, který software poptává. Mezi těmito dvěma stranami musí neustále proudit informace o všech novinkách na trhu i v oboru a také o tom, co je již zpracováno ze strany vývojářů. Tímto způsobem lze korigovat průběh vývoje aplikace a vytvořit tak skutečně zajímavý a žádaný systém. 

Nejčastěji používaný přístup agilního vývoje

Celá metodika má řadu přístupů, podle nichž vývoj probíhá, nicméně tzv. Scrum patří mezi nejoblíbenější. Jeho princip je jednoduchý – vývoj softwaru se rozdělí do několika etap (sprintů), které trvají v rozmezí jednoho až čtyř týdnů a podle předem definovaného klíče.

Hodnoty, za nimiž si stojíme

Vývoj softwaru je naším denním chlebem, a proto jsme mohli v průběhu let zjistit a důkladně si ověřit, které hodnoty jsou pro vybudování kvalitního a moderního systému opravdu důležité. Z toho důvodu upřednostňujeme

  • jednotlivce a interakce před procesy a nástroji,
  • fungující software před vyčerpávající dokumentací,
  • spolupráci se zákazníkem před vyjednáváním o smlouvě,
  • reagování na změny před dodržováním plánu.

Na základě uvedených čtyř hodnot jsme upravili 12 principů agilního vývoje, kterými se v naší agentuře Think Easy při práci řídíme. Ve své podstatě se jedná o způsob určování priorit firmy při vývoji a přemýšlení o projektech, který nám pomáhá efektivně pracovat a dívat se na projekty ze stejného úhlu pohledu.

12 principů agilního vývoje v Think Easy

  1. Nejvyšší prioritou je splnit zákazníkova očekávání a ke stanovenému termínu vydat plně funkční a otestovanou aplikaci.
  2. Každá změna v průběhu vývoje i v jeho pozdějších fázích je vítaná. Snažíme se vyhovět všem požadavkům zákazníka tak, abychom zajistili jeho konkurenceschopnost a spokojenost s dosaženými výsledky.
  3. Naším cílem je klientovi dodat plně funkční produkt s ohledem na pracnost v co nejkratší době.
  4. Komunikace mezi vývojovým týmem a klienty na denní bázi je klíčovým faktorem pro úspěšné dokončení projektu.
  5. Pro vývojáře je motivující mít k dispozici špičkové vybavení a nejnovější technologie. Klíčové je i ztotožnění vývojového týmu s myšlenkou projektu, proto je důležité mu nechat při vývoji volnou ruku.
  6. Nejúčinnějším a nejefektivnějším způsobem sdělování informací vně vývojového týmu i mimo něj je osobní konverzace.
  7. Hlavním měřítkem úspěšného vývoje, který směřuje k finálnímu cíli – fungující aplikaci, je postupné plnění stanovených dílčích cílů.
  8. Je pro nás důležité, aby vývojáři neztratili během vývoje svůj zápal pro práci a udrželi si stálé tempo.
  9. Agilitu zvyšuje neustálá pozornost věnovaná technické výjimečnosti, přidané hodnotě aplikace a jejímu designu.
  10. Klíčová je jednoduchost a umění pokrýt dvaceti procenty funkcionalit osmdesát procent potřeb uživatelů aplikace.
  11. Nejlepší nápady a výsledky vzejdou ze samoorganizujících se týmů.
  12. Tým se pravidelně zamýšlí nad tím, jak se stát efektivnějším a jak řešit problémy, se kterými se při vývoji setkává, a tyto poznatky následně aplikuje při své další práci.

Při vývoji nám pomáhají tzv. User Stories

Software nevyvíjíme slepě jen podle zadání klienta, ale snažíme se vcítit do kůže zákazníků a pracovat s jejich potřebami a přáními. Proto se před samotným vývojem zamýšlíme nad User Stories (uživatelskými příběhy), které jsou součástí jednotlivých sprintů.

Základem User Stories je tato posloupnost: Jako uživatel potřebuji tuto funkci, abych získal tento benefit. Neboli UŽIVATEL → FUNKCIONALITA → PŘIDANÁ HODNOTA.

Praktický příklad: Jako uživatel se potřebuji přihlásit do aplikace, abych se mohl podívat do administrace svého účtu.

Tímto způsobem lze vymyslet mnoho scénářů, které nám přesně řeknou, co musí aplikace umět, aby uspokojila potřeby zákazníků. V příbězích se schválně používá netechnický jazyk, aby tým jednoduše zjistil, jakou funkci vyvíjí, proč a jakou hodnotu tato funkce uživateli přináší. User Stories nezachází do detailů, ale dávají vývoji jasný rámec a nastiňují požadovaný výsledek. Přináší malé výzvy, které postupně směřují ke splnění hlavního cíle.

User Stories jsou velkou pomocí v začátku vývoje a vodítkem při testování hotové funkčnosti.

„User Stories mohou posloužit při vývoji jako velmi užitečný nástroj, kdy se na aplikaci díváme z pohledu koncového zákazníka – uživatele. Dobře popsaná User Story může eliminovat případná nedorozumění mezi product ownerem a týmem, který na projektu pracuje. User Stories zpravidla sestavuje product owner a jejich ideální počet by se měl pohybovat mezi 8–20. User Stories taktéž slouží ke správě a prioritizaci product backlogu (seznam funkcionalit, které byly upřednostněny, a obsahuje krátké popisy všeho, co je požadováno pro vývoj produktu) a následné tvorbě sprint backlogu (seznamu funkcionalit, které mají být během sprintu dokončeny). Tímto způsobem dokážeme vyvinout skutečně fungující software a předejít celé řadě problémů, které mohou vývoj aplikace provázet.“

Jan Ryba, projektový manažer z Think Easy

Máte zájem o praktické IT řešení na míru?