Chcete vědět, co znamená termín "agilní"? Zajímá Vás, jak agilní metody využít při řízení Vašich projektů? Pak si přečtěte náš článek.
Agilní přístupy v projektovém řízení
Martina Jiříčková, Štefan Ondek
Termín „agilní“ je v agilní komunitě chápán mnoha odlišnými způsoby. Můžeme se na něj dívat jako na soubor chování, konceptů a technik, které jsou charakteristické jako agilní způsoby práce.
Nejčastěji je agilní způsob práce definován ve srovnání či přímo v protikladu s řízenmí vývoje a dodávky produktů způsobem nazývaným „vodopádový model“.
Vodopádový model je lineárním sledem několika kroků: definování požadavků, návrhu řešení, implementace, verifikace, integrace a údržby. Tento model se často popisuje i sledem kroků: analýza – návrh – vývoj – testování – nasazení do provozu – provozní podpora.
Obrázek č. 1: vodopádový model
Zdroj: https://www.hostventura.com/en/menu/development/methodology
Vodopádový model vyžaduje, aby se k následujícímu kroku přikročilo pouze tehdy, když je ten předcházející úplně dokončen.
Naproti tomu kroky agilního vývoje jsou kratší, menší, postupné a iterativní. Lépe tím pomáhají odrážet měnící se požadavky během vývoje, což bývá velmi častým jevem či dokonce pravidlem. To je také hlavní důvod toho, proč se při vývoji softwaru stal agilní způsob tak populárním.
Rozdíl mezi vodopádovým modelem a agilním přístupem graficky naleznete na obrázku č. 2.
Obrázek č. 2: porovnání vodopádového a agilního přístupu k vývoji a dodávce produktů
Zdroj: https://jvogel706.files.wordpress.com/2014/07/agile-vs-waterfall-development-straight.jpg
Termín „agilní“ byl vytvořen v roce 2001 skupinou nezávislých vývojářů, kteří se spojili, aby vytvořili alternativu k méně flexibilnímu „vodopádovému modelu“ vývoje software, který nebyl schopen rychle odpovídat na změny a neustále měnící se požadavky ze strany zákazníka. Skupina vytvořila dokument známý jako „Agilní manifest“ obsahující 12 principů, na kterých je agilní přístup založen.
Agilní manifest je o vývoji softwaru. V průběhu času se ovšem agilní přístup prokázal jako úspěšný nejen při vývoji softwaru, ale celkově při vývoji produktů či řešení a stal se velmi populárním. V současné době využívá v různé míře agilní přístupy i množství organizací mimo oblast informačních technologií.
Základy agilního řízení jsou založeny na společných hodnotách a způsobech chování jako spolupráce a samoorganizace. Agilní týmy jsou smíšené a skládají se z vývojářů, analytiků a zástupců zákazníka. Členové týmu mají různorodé dovednosti a zkušenosti a jsou motivováni ke společnému postupu. Místo řízení seshora se tým sám rozhodne, co, jak a kdy bude v rámci jednotlivých iterací dělat. Důležitá je přitom vzájemná důvěra a neobviňování.
Společné hodnoty doplňují koncepty jako prioritizace například pomocí techniky MoSCoW, kdy jsou jednotlivé požadavky řazeny podle toho, zda jsou Must Have (nutné), Should Have (mělo by být), Could Have (může být) a Won’t Have (nebude).
Dalším důležitým konceptem je „timeboxing“, což je plánování a realizace práce v krátkých časových intervalech – „sprintech“, kde jsou čas a náklady fixní a funkce produktu flexibilní. Dodání životaschopného produktu na čas je tedy primárním cílem i za předpokladu toho, že nebudou splněny všechny požadavky zákazníka. Protože se požadavky neustále mění a vyvíjí, hraje důležitou roli zástupce zákazníka v týmu a prioritizace jednotlivých požadavků.
Neméně důležitým principem je limitování WIP (work in progress), tedy rozpracovanosti. Zde je často využívána vizualizace postupu práce na tzv. Kanban Board (nástěnce). Týmy se samy rozhodnou, na kolika úkolech se bude pracovat současně, což umožnuje sledovat komplexnost celé práce.
Dalšími populárními technikami, které se využívají v agilním prostředí, jsou: každodenní krátké schůzky týmu (stand-up meetings), burn charty, user stories, retrospektivy atd.
Neexistuje jedna unifikovaná „agilní metodika“. Mezi nejpoužívanější a nejznámější rámce, které jsou známé jako agilní, patří Scrum, Kanban, Lean, LeanStartup, XP (eXtreme Programming), SAFe (Scaled Agile Framework), DSDM (Dynamic Systems Development Method/AgilePM), DevOps, FDD(feature-driven development), Crystal, ASD (Adaptive Software Development), DAD (Disciplined Agile Delivery).PRINCE2 Agile propojuje metodiku PRINCE2 s agilními přístupy.
Největší výzvou pro úspěšné využití agilních přístupů jsou dodržování pravidel a dostupnost zákazníka. Manažeři nemohou být volně unášeni agilním vývojem. Obdobně při práci agilního týmu, resp. týmů není možné použít „klasické“ řídící mechanismy ve stylu „velení a kontroly“.
Důležité je ovšem zdůraznit to, že agilní přístupy jsou využívány pro vývoj produktu, resp. pro jeho řízení. Neslouží jako metody pro řízení komplexních projektů a nelze jimi tedy nahradit „tradiční“ projektové řízení v organizaci. Otázkou tedy není, zda používat jedno či druhé, ale spíše v jaké míře oba přístupy – projektový a agilní vhodně kombinovat a úspěšně do sebe integrovat s ohledem na vyspělost organizace v řízení projektů i agilitě, komplexnost jejich projektů a produktů atd.
Seznam zdrojů:
[1] Mayfield, Patrick: What is Agile?, 2014
[2] Hostventura: Development methods we follow
[3] Jeffrey Vogel: Why PE And Agile Haven’t Always Gone Together