2. 2
O vývojářích
Co to je Agile for JIRA?
Scrum
Kanban
Verze a Epicy
Grafy a miniaplikace
Obsah
3. 3
Atlassian – založeno 2002
Vývojář aplikací pro SW inženýry a projektové manažery
Objem přes 40 000 klientů, z toho 85 z Fortune 100
JIRA Agile
Plugin SDK
JIRA Service Desk
JIRA Capture
Představení firmy
4. 4
JIRA Agile - Úvod
Nástroj agilního plánování typu Kanban/Scrum
Podporován na JIRA Cloud, JIRA Server 3.13+
Poloviční cena pro školy, zdarma pro neziskové
Java API, REST API
20. 20
Aktivní sprint Aktivní sprint je soubor prací v agilním vývoji typu Scrum, na kterých se právě pracuje.
Backlog Seznam úloh, které je potřeba vykonat. Z něj jednotlivé požadavky řadí projektový vedoucí do sprintů, kde se zpracovávají.
Burndown chart Typ grafu, který zobrazuje poměr času vůči úlohám, které se za něj mají zpracovat.
Cycle time Čas, strávený prací na úloze.
Epic Typ úlohy, označující velký celek sjednocující podobné práce. Typ klasifikace požadavků v systému Scrum.
Iteration Viz. sprint
Kanban Systém agilních metod pro vizualizaci kontinuálního pracovního procesu.
Kumulativní graf Typ grafu, který zobrazuje kdy byl v jakém stavu jaký počet úloh.
Miniaplikace Neboli Gadget je okno s určitou funkcí, která se dá umístit na hlavní nástěnku JIRA (tzv. Dashboard).
Nástěnka
Vizuální zobrazení práce v Scrum či Kanban metodice. Jedná se o několik sloupců, mezi kterými zleva doprava putují úlohy, taktéž „pracovní
zobrazení“.
Quick Filter Filtr na Scrum či Kanban nástěnce, kterým se dají odfiltrovat tamní úlohy.
Sprint Neboli Iteration je krátký časový úsek (cca. měsíc), během kterého pracuje vývojářský tým na nové verzi programu.
Story Typ úlohy a požadavek na program, který se vejde do několika laických vět.
Story point Odhad složitosti úlohy „Story“.
Swimlane Druh klasifikace úloh na Scrum a Kanban nástěnkách, kde se oddělí část úloh do odlišné linky.
Scrum Systém agilních metod pro vizualizaci práce, probíhající po cyklech, tzv. sprintech.
Velocity
Velocity je míra objemu práce, kterou zvládne tým vykonat v určitém časovém úseku (např. za sprint). Dá se měřit v hodinách, story pointech, počtu
úloh, etc.
Verze Název pro soubor opravených bugů a nových funkcí, které mají být zavedeny v určité fázi vývoje programu.
Slovníček pojmů
Australský vývojář Atlassian byl založen v roce 2002 v Sydney a mezi jeho nejznámější produkty patří JIRA nebo Confluence. Nyní má pobočku v Amsterdamu, v USA a v Tokyu. Společnost se zabývá zejména programy pro projektové manažery, pro vývojáře, pro vedení firemní wiki a mnohé další.
Nástroj JIRA Agile, o kterém je tato prezentace, byl dříve známý také jako Greenhopper. Mezi další add-ony vyvíjené Atlassian patří např. Service Desk, nástroj zákaznické podpory v JIRA, Plugin SDK, který slouží k vývoji vlastních add-onů a JIRA Capture, pomocí kterého se dají pořizovat screenshoty a dále použít v QA prostředí a další.
JIRA Agile je nástroj pro agilní plánování, propojený s ostatními Atlassian programy jako JIRA, Confluence a další. Podporuje typy Scrum a Kanban. Zaveden byl proto, že propojením s programy Atlassian dostává vývoj vedený v Agile další rozměr v tom, že jsou např. z JIRY nebo z Confluence hned dostupné všechny potřebné informace.
Agile se dá integrovat s JIRA, s Confluence nebo se Stash
Agile lze zavést do cloudové verze i do serverové verze Jiry 3.13 a dál. Add-on stojí polovinu pro školy a zdarma je pro neziskové instituce nebo open source projekty.
Propojení s aplikacemi zajišťuje JAVA API a REST API.
Podívejme se nejdřív, jak vůbec zobrazení v JIRA Agile vypadá. Vybral jsem pro to o trochu starší zobrazení, protože se to na něm dobře ukazuje. Rád bych se na začátek zeptal, jestli tu má někdo zkušenost s Agilním plánováním?
První z podporovaných metod, tzv. Scrum, se týká dlouhodobého vývoje, který probíhá po pracovních cyklech, tzv. iteracích, sprintech. Může to třeba být tak, že každý měsíc se dělá jeden sprint a až měsíc skončí, úkoly v něm by měly být hotové a jde se na další sprint. Projektový, týmový manažer, nebo chcete-li Scrum master, tyto sprinty připravuje v tzv. Backlogu, což je jakýsi velký pytel s možnými úkoly.
Pro každý projekt agilního plánování máme tzv. board, neboli nástěnku, kde vidíme úkoly ve probíhajícím sprintu.
Uživatelé JIRA znalí si mohou představit nástěnku jako typ zobrazení požadavků v projektu: např. úlohy si v něm tvoříme úplně stejně.
1 – Název nástěnky
2 – Výběr sprintu, na který se chceme podívat
3 – Filtry úloh, které se nám na nástěnce zobrazují, tzv. quick filter
4 – Zastaralý panel, kterým se přepínalo mezi Plan: backlogem – plánováním sprintů, Work: sprinty probíhajícími a reporty – jejich výsledky. Toto je v novějších verzích zastoupeno v panelu na levé straně obrazovky. Záložka board umožňuje konfigurovat, kopírovat nebo tvořit nové nástěnky.
5 – Jak Scrum, tak Kanban nástěnka se dělí na několik sloupců, kde má každý pod sebou zařazené úlohy, nacházející se ve vybraných krocích Workflow. V příkladu jsou uvedeny „K vykonání“, „Zpracovávané“, „Kontrolované“ a „Hotové“. Úlohy typicky putují zleva doprava, a přesouvají se přetahováním myší. Tímto přetažením se dostanou do workflow stavu, kterému odpovídají, pokud má přesouvající povolení je tam přesunout. Sloupce si můžeme vytvořit i další své, pokud potřebujeme, a navázat je na libovolné stavy (i více!) ve workflow projektu. Do této nástěnky bychom si tedy mohli vytvořit ještě stav „Reopened“. Dalším trikem, co se může hodit, je možnost si ve Scrum i v Kanbanu omezit maximální počet úloh v každém ze sloupců, čili třeba že ve sloupci „Zpracovávané“ mohou být maximálně tři úlohy. Toto se hodí např. když je omezený počet pracovníků pro „Rozpracované“ nebo vytížený nadřízený pro „Kontrolované“. Nastavujeme to přímo v konfiguraci sloupců hlouběji v add-onu.
6 – Jednotlivé obdélníčky jsou jednotlivé pracovní úkony. Jsou reprezentovány kódem a názvem v JIRA, prioritou, zkratkou jména nebo fotkou uživatele, který na nich pracuje, a pod fotkou je určité číslo, tzv. odhad, estimate. Toto může být náročnost ve story points (pouze pro položky story), zadaná doba trvání v hodinách nebo jiné nastavitelné vlastnosti (Agile uvidí pole, která se používají pro evidenci času). Úlohy, co v Agile vidíme, jsou odrazy reálných požadavků v JIRA, proto je doporučeno si založit oddělený projekt, aby se nemísily s ostatními úlohami. Samozřejmě to ale záleží na vašich potřebách.
7 – Důležité úlohy si lze označit vlajkou skrz pokyn „Add flag“. Tyto poté budou mít jak v pracovním, tak v backlogovém zobrazení odlišnou barvu obdélníku. Flagged in – jde dohledat v JQL) Typický issue pro flagnutí je třeba když během schůze řešíme, co jsou ve sprintu důležité položky, tak si je flagneme.
8 – Každý obdélníček má také svou barvu vlevo: toto reprezentuje typ úlohy: bugy červené, new feature oranžové… tyto se dají
Tady vidíme změny ve stavu úloh ve sprintu – přetahujeme požadavek ze sloupce „K vykonání“ do sloupce „Zpracovávané“.
Ještě než ovšem začneme používat Scrum, musí vedoucí určit, na čem se bude pracovat. K tomuto slouží už zmíněný backlog, jakási banka možných prací, ze které stavíme sprinty, ony úseky práce.
8 – Z backlogu přetahujeme úlohy do sprintů tažením myší. Můžeme si také určit, které úlohy mají vyšší prioritu tím, že je přetáhneme na vyšší pozici – ať už v backlogu, tak v pracovním zobrazení a tomu se říká ranking. Tato funkce byla zavedena pro detailnější prioritizaci úloh, co mají stejnou JIRA prioritu.
9 – Tlačítkem Create sprint si vytvoříme rozpracovaný sprint, do kterého můžeme až do jeho spuštění přidávat nebo odebírat úlohy. Takto si můžeme do zálohy vytvořit sprintů několik.
10 – Tlačítkem Start sprint přesuneme vybraný sprint do produkce, kde se dostane do „aktivního“ stavu. Zatímco probíhá, můžeme si v backlogu rozpracovat další sprinty, ale nemůžeme je spouštět, dokud nebude aktivní sprint hotov.
11 – Pod číslem 11 se nachází možnost vytvořit nový požadavek přímo do backlogu.
V backlogu i v pracovním zobrazení je možné si přímo prohlížet úlohy. Dvojitým poklepáním na libovolnou úlohu se nám zobrazí pravý panel, kde vidíme vše, co je pro úlohu důležité.
Když si rozklikneme menu v pravém horním rohu, uvidíme, co všechno s úlohou můžeme dělat; kromě klasických JIRA funkcí jako přidělování nebo editace se zde jako Agile relevantní nabízí např. ranking – Send to Top, Send to Bottom, tvorba subtasků (když si chceme rozdělit velkou úlohu na mnoho celků menších), označení vlajkou a další
Úlohy lze v backlogu organizovat tak, jak jsou, je možné je drobit na subtasky, nebo organizovat pod větší celky. Agile zná tyto větší celky dva: Verze a Epicy.
Když máme mnoho menších úloh, co typově nebo obsahově spadají pod jeden celek, třeba animace různých postav nebo textury předmětů ve hře, můžeme si vytvořit tzv. Epic. Epic je typický pro Scrum board – je to velký pracovní úkol, zaštiťující úkoly menší, který může trvat několik sprintů, než bude dokončen. Může také obsahovat úlohy z několik projektů.
Vlevo máme panel „Epics“, který se obvykle nachází nalevo od backlogu. Tam vidíme úlohy, které různé Epicy obsahují. Kromě změny jména nebo barvy tam můžeme také nalinkovat stránku z Confluence skrz „Linked pages“ nebo v Epicu rovnou vytvářet úlohy.
Když vytvoříme Epic, objeví se nám i jako nová úloha, evidující své podúlohy, jak vidíme v náhledu do úlohy vpravo.
Verze jsou balíčky novinek, oprav a funkcí, zveřejňované jako jednotný update. Do Verzí si tažením zařazujeme úkoly, které mají být hotovy v určitou dobu a plánujeme si tím tak, kdy s nimi budeme pracovat. Fungují podobně jako Epic – vytvoříme si je v bočním panelu (1), kde se nám zobrazí spolu se svými úlohami. Abychom mohli sledovat při každodenní práci, pod kterou verzi jaká úloha patří, v backlogu a v pracovním zobrazení máme popisek s verzí (2).
V Kanbanu můžeme po dokončení určitého počtu úloh, tj. přesunutí do sloupce Done současnou verzi dokončit tlačítkem „Release“, kde vyplníme jméno, popis a datum dokončení a zveřejnění verze. Všechny položky ze sloupce „Done“ nám zmizí v zadané datum (výchozí dnešek).
Druhý mód, ve kterém se dá Agile použít, je Kanban. Od Scrumu se liší tím, že je založen na stálém přijmu a plnění úkolů a nemá backlog; je to tedy typický nástroj např. zákaznických linek, kde se práce nedá moc dělit na cykly, ale požadavky se objevují stále. Na tomto příkladě bych rád představil další dvě funkce JIRA Agile.
Na nástěnce si můžeme tvořit vlastní linky, tzv. „Swimlanes“, které mohou obsahovat jen určité úkoly. Obsah těchto je nastavitelný např. podle filtru, podle epiců, podle toho, komu jsou přiřazeny… V tomto případě je linka „Expedite“ (1)založena na prioritě úlohy: blocker. Příklad – VIP.
Ve dvojce vidíme, co se stane, když překročíme stanovenou kvótu pro maximální počet úloh v jednom sloupci – Agile nás varuje, že jsme tento limit přesáhli, ale nezakáže nám takto pracovat.
Tlačítkem release smažeme úlohy pod „Done“, čímž vytvoříme novou verzi.
Pokud chceme pracovat agilně, a nevyužíváme už nástěnku, co vytvořil a nasdílel nám někdo jiný, musíme si vytvořit vlastní. Ve sloupci Agile vybereme „Getting started“ a objeví se nám obrazovka vpravo. Poté si vybíráme, jestli vytvoříme Scrum nebo Kanban. Je také možné si vytvořit pro procvičování nástěnku s vymyšlenými daty – „Sample project“.
Nástěnky můžeme mít soukromé a nebo si okopírovat už nějaké existující, které si pak můžeme upravit dál.
Je možné si vytvořit nástěnku buď na zcela novém projektu, z projektu (nebo projektů) existujících, nebo z uloženého JQL filtru pro hledání v JIRA. Poté už najdeme naši nástěnku opět v rozvinovacím menu.
Po Backlogu a pracovní tabulce je poslední zásadní položkou Report. Zde se nachází různě užitečné grafy, jmenujme např. Burndown chart, který na osy klade délku sprintu a množství úloh, čímž získáme údaj, kolik toho splníme vzhledem k času, který na to máme, nebo k identifikaci, jestli v daném sprintu stihneme daný objem úkolů. V pokročilém nastavení se dá později nakonfigurovat které dny jsou pracovní, které ne, které jsou svátky a další, aby byl graf přesnější.
Kumulativní graf ukazuje kolik úloh je kdy v jakém stavu. Slouží k identifikování období, které pro velký objem úloh mohou ohrozit průběh sprintů.
K dispozici je mnoho dalších grafů, např. obdoba burndown chartu pro epicy a verze, spočítání kolik úloh je v jakém sprintu, nebo např. graf, kolik úloh bylo v každém sprintu splněno vůči plánu kolik mělo být splněno, atp.
JIRA Agile taktéž nabízí miniaplikace s těmito grafy, které je možné si umístit na nástěnku JIRY, na „Dashboard“.
Patří mezi ně např. Burndown graf, který jsme si ukazovali v předchozím slidu, tedy čas oproti počtu úloh; zbývající dny do konce sprintu; možnost zobrazit si pouze jeden sloupec z agile plánu, např. In progress; Poměr úloh v probíhajícím sprintu nebo graf s odhadem dokončení verze.
Slovníček.
Nástroj slouží k agilnímu plánování, propojenému s daty z ostatními Atlassian aplikací jako JIRA nebo Confluence V současnosti se testuje možnost mít funkční dva sprinty současně, což uvidíme, jak se podaří zavést.
Q+A