Agilní metody projektování. Principy, role, organizace, nástroje
Agilní metody (agile methods) - interaktivní způsob řízení projektů, základem kterého je průběžné dodání produktu (služby) zákazníkovi na základě jeho aktivní spolupráce s týmem, co pomáhá zajistit rychlé reagování na jakékoliv změny (buď ze strany zákazníka nebo z okolního prostředí)[1][2]. Je společným názvem pro skupinu metodik, do které patří např. Scrum, Kanban nebo extrémní programování (XP). Scrum je nejpopulárnější agilní metodika a občas je používán jako synonymické označení pro celou skupinu těchto metod[2].
Agilní metody byly ovlivněny zavedením ve společností Toyota tzv. Toyota Production System.
Důležitým milníkem se stala publikace článku „The New Product Development Game“ (1986) s autorstvím Takeuchi a Nonaka.
Obsah
Principy agilních metod
Byly formulovány v roce 2001 skupinou vývojářů, kteří napsali Manifest agilního programování (Manifesto for Agile Software Development). Definují následující principy:
„Jednotlivci a interakce před procesy a nástroji
Fungující software před vyčerpávající dokumentací
Spolupráce 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“[3]
Předpokládá se, že osobní komunikace a schopnosti každého jedince mají větší význam a efektivitu pro práci než předem stanovené procesy a nástroje. Dokumentace by měla být omezená jen na tu, která je skutečně potřebná (např. pro předávání znalostí a kontrolu); nemá být zbytečná a potřebuje včasnou aktualizaci. Zákazník je vnímán jako součást týmu, avšak nemusí rozumět technické specifikaci, a pro lepší výsledek a spokojenost uživatele (což je nejvyšší prioritou) je zapotřebí s ním komunikovat. Změny, které mohou být způsobeny proměnou legislativy nebo novou situací na trhu, ovlivní předem napsaný plán, ale ve výsledku to zvýší kvalitu finálního produktu.[1][2]
Kromě výše popsaných čtyř hodnot autoři definovali 12 principů agilního vývoje softwaru, kterými je doporučováno řídit se. Pokud je projekt vyvíjen se sledováním těchto principů, může být považován za agilní.
Základní struktura
Agilní metody mají svůj filozofický základ (výš popsané principy), týmové role, artefakty (nástroje) a události (organizace času)[4].
Role
Rozlišují se následující role: Product Owner, Scrum Master a samoorganizovaný tým.
Product Owner je člověk, který kontroluje vývoj práce, definuje vizi produktu, ale zároveň není ředitelem týmu. Jedná se o člověka, který zastupuje zákazníka, přitom to může být jak přímo zaměstnanec klientské firmy, tak i najatý externista, který se stará o to, aby požadavky a představy zákazníka ohledně produktu byly splněné. Problémem je časté pracovní přetížení.[1][2]
Splňuje následující funkce[1][2]:
- nese primární odpovědnost za projekt a práci vývojového týmu;
- stanoví priority u funkcionalit;
- spravuje Product backlog (položky);
- zabezpečuje jeho dostupnost a porozumění obsahu týmem;
- zajišťuje komunikaci se zákazníkem.
Scrum Master je pracovník ovládající metodiku Scrum, a tak je zodpovědný za porozumění a aplikaci pravidel Scrumu. Má za úkol pomáhat členům týmu s komunikací (nejen mezi sebou, ale i s druhými části podniku), sledovat principy agilu a pomoci týmu dospět k závěrům. Organizuje a moderuje jednotlivé meetingy, pomáhá s dokumentací. Není součastí týmu. Má mít odolnost vůči stresu a vysoké komunikační schopnosti.[1][2]
Funkce Product Ownera a Scrum Mastera nesmí plnit stejný člověk.
Tým se sestává z jedinců, kteří mohou být navzájem zastupitelní a jejichž cílem je dodat část funkčního softwaru na konci sprintu. Je samoorganizovaný, má vysokou motivaci. Podtýmy neexistují.
Artefakty (nástroje) a údalosti (organizace času)
Před zahájením práce nad projektem se dělá product backlog - kompletní seznam úkolů, které mají být ke konci projektu udělány. Každý úkol získává prioritu, dle které jsou potom úkoly plněny (čím vyšší je priorita, tím dřív úkol bude splněn). Předem jsou stanoveny i požadavky na úkoly, které pokud jsou splněny, tak ukazují na to, že úkol je hotový - definition of done (DOD) .[1]
Pro lepší spolupráci týmu a zákazníka jsou vytvořeny user stories - popis funkcionality, scénář, který je představen ve formě krátkých jednoznačných vět, kde uživatel v jakési roli (např. administrátor) uvádí, co chce získat a za pomoci jaké činnosti.[1]
Základem pro týmovou práci je sprint (iterace) - opakující se a omezená časová jednotka. Má fixní délku, obyčejně jde o dva až tři týdny. Tým pracuje v průběhu sprintu se sprint backlogem , což je před začátkem sprintu stanovený seznam úkolů, které by měly být ke konci sprintu splněny (úkoly pro sprint backlog jsou přebíraný z product backlogu). Ten seznam je sestaven na plánovacím meetingu , kde kromě jiného jsou stanovené cíle sprintu a odhaduje se náročnost práce. Pokud je úkolů hodně, tomuto meetingu předchází grooming .[2]
V průběhu práce se tým setkává každý den - ve stejnou dobu, na stejném místě, ideálně ve stoje. Každý říká o tom, co udělal, co plánuje vyplnit dnes a co se nepovedlo. Tento meeting se jmenuje daily stand-up . Měl by trvat max. 15 minut.
Po ukončení sprintu následuje sprint review , kde tým ukazuje zákaznikovi svou práci. Na retrospective meetingu , který poté následuje, tým probírá, co se podařilo a co je naopak nutné změnit.[2]
Pro měření úspěšnosti a náročnosti práce na projektu jsou používaný takové techniky jako burndown chart, velocity nebo planning poker.
Agilní metody vs. tradiční přístup (waterfall)
Waterfall (vodopádový model) byl vyvinut v 70. letech minulého století a je považován za tzv. tradiční model řízení projektů.
K základním charakteristikám waterfallu patří[2]:
- Neopakovatelnost (každá fáze probíhá jen jednou);
- Do nové fáze jdeme jen po ukončení předchozí;
- Každý jednotlivec pracuje pouze dle své specializace;
- Oprava chyb a testování probíhají na konci projektu;
- Rozsáhlá dokumentace;
- Zákazník je zapojen do procesu vývoje minimálně - uvidí produkt až po ukončení práce na něm a nemůže proces ovlivnit.
Používá se tam, kde je smlouva typu "fixed time, fixed price", procesy jsou striktně nastavené a proces vývoje je předvídatelný[2].
Agilní metody, které byly vyvinuty jako reakce na potřeby vývojářů, jsou méně fixní verzí waterfallu a jsou rozšířené o takové prvky jako např. komunikace se zákazníkem, reakce na změny a průběžné dodávání částí projektu po ukončení sprintu[5].
Výhody a nevýhody agilních metod
- spokojenost zákazníka (uživatele);
- rychlé dodání funkčního produktu;
- komunikace a feedback;
- efektivita;
- zvýšená konkurenceschopnost díky rychlým změnám.
Nevýhody:[2].
- nehodí se pro velké projekty;
- je zapotřebí aktivní účast všech stakeholderů;
- potřeba specifické firemní kultury a podpory top-managementu;
- lidé jako kamen úrazu;
- změny způsobují zvýšení náročnosti.
Odkazy
Reference
- ↑ 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7 ŠOCHOVÁ, Zuzana a Eduard KUNCE, 2014. Agilní metody řízení projektu. Brno, Computer Press, 2014. ISBN 978-80-251-4194-6.
- ↑ 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 MYSLÍN, Josef, 2016. Scrum: průvodce agilním vývojem softwaru. 1. vydání. Brno: Computer Press, 2016. ISBN 978-80-251-4650-7.
- ↑ BECK, Kent et al., 2001. Manifesto for Agile Software Development [online]. 2001 [cit. 2018-04-14]. Dostupné z: http://agilemanifesto.org/iso/cs/manifesto.html.
- ↑ SCHWABER, Ken a Jeff SUTHERLAND, 2017, November. The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game [online]. 2017, [cit. 2018-04-14]. Dostupné z: http://www.scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-US.pdf.
- ↑ STOICA, Marian, Bogdan GHILIC-MICU, Marinela MIRCEA a Cristian USCATU, 2016. Analyzing Agile Development – from Waterfall Style to Scrumban. In: Informatică Economică [online]. 2016, 20(4), 5-14 [cit. 2018-04-14]. ISSN 1842-8088. DOI: https://doi.org/10.12948/issn14531305/20.4.2016.01.
- ↑ RIGBY, Darell K., Jeff SUTHERLAND a Hirotaka TAKEUCHI, 2016. Embracing Agile. In: Harvard Business Review [online]. 2016 [cit. 2018-04-14]. ISSN 0017-8012. Dostupné z: https://hbr.org/2016/05/embracing-agile.
Externí odkazy
- Agile Alliance
- Agilní asociace: Sdružení příznivců Agilních metod
- VersionOne - každoroční mezinárodní výzkum o agilních metodách
Související články
- Metodiky projektového managementu, jejich obsah a smysl
- Řízení lidských zdrojů na projektech, OBS
- Znalostní management a znalosti v organizacích
Klíčová slova
projektový management, metodiky projektového managementu, řízení projektu, agilní metody