Agilní principy

Nadějné produkty vznikají často náhodně. Když je produkt úspěšný, bude růst. Bude potřebovat tým lidí, kteří musí být navzájem koordinovaní, aby mohli pracovat bez překážet. V této fázi se experiment mění na projekt a vy se přirozeně začnete poohlížet po procesu, který by určil pravidla spolupráce týmu. Proces ovšem často bývá komplikovaný, a proto se přestane dodržovat.

Agile Manifesto

Co je Agile

Agile je množina postupů a metod zaměřených na management vývoje a praktiky, které pomáhají vytvářet kvalitní produkty s ohledem na zákazníka. Agile navíc pomáhá dodávat v pravidelných intervalech.

Agile Manifesto

V roce 2001 se v Utahu setkala skupina 17 lidí. Každý z nich hledal minimalistické přístupy a praktiky vývoje softwaru, které by na rozdíl od tradičních přístupů umožnily soustředit se na funkční hodnotu dodávanou klientům a ne dokumentaci a sledování procesů.

Vytvořili dokument s názvem Agile Manifesto, který postuloval tyto hodnoty:

  1. Lidé a komunikace jsou víc než jen procesy a nástroje.
  2. Funkční software je víc než vyčerpávající dokumentace.
  3. Spolupráce se zákazníkem je víc než dojednávání smlouvy.
  4. Je lepší reagovat na změnu než se držet plánu.

Lidé a komunikace

Agilní tým je:

  • malý tým do 10 lidí,
  • interdisciplinární tým, v němž pracují lidé s různými rolemi,
  • tým bez vedoucího, tým se samoorganizuje.

Lidé pracují v tom samém čase, na stejném místě a na též věci. Jejich pracovní prostředí podporuje spolupráci. Častou jsou to open-space pracoviště, v nichž je jednoduché se podle potřeby přesouvat.

Kód vlastní celý tým a každý ho může měnit bez nutného schválení ostatními členy. V týmu se aplikuje tzv. párové programování a stav vývoje je sdílený během pravidelných denních setkání. To umožňuje vytvořit udržitelné tempo vývoje produktu.

Funkční software

Od úplného začátku se tým snaží průběžně dodávat funkční produkt. Funkčnost je ověřovaná testy řízeného vývoje a automatizací testovacího procesu.

Produkt je vytvářený automaticky použití kontinuální integrace, která zabezpečuje i otestování a vytvoření instalace hned poté, co vývojář ukončil vývoj nové verze.

Spolupráce se zákazníkem

Zákazník by měl s týmem být co nejčastěji. Umožňuje mu to poznat aktuální stav vývoje produktu a zároveň včas ovlivnit další směřování vývoje podle jeho potřeb.

Blízkosti zákazníka se dosahuje průběžnými prezentacemi, společným plánováním nových verzí, způsobem zápisu požadavků formou tzv. user stories, prototypováním a mapováním uživatelů prostřednictvím tzv. person. Tým potřebuje mapovat i tok hodnoty (value stream mapping).

Reakce na změny

Tradiční vývoj v dnešní době nedokáže navzdory skvěle splněnému kontraktu dodat potřebný produkt. Byznys klienta totiž není statický, ale mění se. Pravidelné dodávky v krátkých iteracích s předvídatelnou rychlostí umožňují průběžně řídit požadavky a přizpůsobení se trhu.

Principy agilního týmu

Agilní týmy aplikují následující principy:

  1. Naší nejvyšší prioritou je uspokojit zákazníka včasným a soustavným dodáváním hodnotného softwaru.
  2. Změny požadavků jsou vítané, dokonce i v pozdějších fázích vývoje.
  3. Agilní procesy dokáží přetavit změnu na konkurenční výhodu zákazníka.
  4. Dodáváme funkční software často, od několika týdnů po několik měsíců, s upřednostněním co nejkratších intervalů.
  5. Lidí z byznysu a vývojáři musí během celého procesu denně spolupracovat.
  6. Projekty postavte na motivovaných lidech.
  7. Poskytněte jim prostředí a podporu a důvěřujte jim, že svůj úkol splní.
  8. Nejlepším způsobem odevzdávání informací vývojářskému týmu a v rámci týmu je osobní rozhovor.
  9. Základním ukazatelem pokroku je funkční software.
  10. Agilní procesy podporují trvale udržitelný rozvoj.
  11. Sponzoři, vývojáři a uživatelé by měli být schopní trvale udržovat konstantní tempo.
  12. Soustavný důraz na technickou vyspělost a kvalitní návrh podněcují agilitu.
  13. Jednoduchost – umění vykonávat opravdu jen to potřebné je nevyhnutelné.
  14. Samoorganizované týmy vytvářejí nejlepší koncepty, požadavky a návrhy řešení.
  15. Tým v pravidelných intervalech vyhodnocuje sám sebe s cílem být efektivnější a přizpůsobuje tomu svoje chování.

Výsledkem aplikace těchto pravidel je úplná změna způsobu vývoje produktů.

  • Vysoká interakce s klientem při tvorbě produktu.
  • Prioritizace na základě jeho požadavků.
  • Odhad složitosti poskytuje vývojový tým, nejen projektový manažer.
  • Z manažerů se stávají lídři.
  • Tým je samoorganizovaný, nikdo mu nepřiděluje ani neodhaduje úkoly. Tým je sám zodpovědný za rozdělení práce.
  • Tým se pravidelně zaobírá zlepšením pracovních postupů.
  • Produkt dodává zákazníkovi pravidelně a často.
  • Zákazník řešení akceptuje nebo ne.
  • Tým pravidelně dostává zpětnou vazbu od zákazníka.
  • Práce je neustále prioritizovaná zákazníkem nebo někým, kdo ho zastupuje.
  • Opakované činnosti se tým snaží automatizovat.
Novinky

Naše Agiloviny

Nenechte si ujít výběr toho nejlepšího z Agile, s čím se setkali naši mentoři. Nejen ze světa produktů, vývoje, tipů a triků, ale občas i humoru. Posíláme pravidelně jednou za čas  #QualityOverQuantity

Poslat na

zpracováním osobních údajů

Děkujeme