Agilita pomocí Atlassian produktů

24.7.2020 | Miroslav Suchopar | Agile

Ačkoliv je Atlassian znám primárně díky svému produktu Jira, dnes spravuje na 10 dalších produktů a patří mezi technologické špičky ovlivňující svět IT. Jedním z velkých témat, kterému se Atlassian v posledních letech věnuje je agilita, a tomu také uzpůsobuje svoje produkty. Přečtěte si, jak můžete Atlassian produkty využít pro řízení vývoje software dle principů agility.

Agilita v MoroSystems

V MoroSystems se agilitou zabýváme více než 7 let a s úspěchem ji implementujeme na klientských i interních projektech. Agilita a její principy se pro nás staly ekvivalentem pro efektivně nastavenou spolupráci v týmu, férově budované vztahy s klienty a orientaci na maximální užitek vyvíjených produktů. K tomu všemu nám významně napomáhají produkty od společnosti Atlassian. Nejenže sami Atlassian produkty využíváme pro řízení našich projektů, ale jako Atlassian Platinum partner také pomáháme zavádět a optimalizovat procesy vývoje software našim zákazníkům. Za tu dobu jsme se setkali s mnoha případy nefunkčního pojetí agility, ale také s případy, kdy byl přínos agility degradován nesprávnou volbou nástrojů nebo jejich nastavením.

Cílem tohoto a několika následujících blog-postů je podělit se s vámi o naše zkušenosti právě s implementací agility za pomoci Atlassian produktů. Zároveň vám přiblížíme jak o vývoji dle agilních principů v MoroSystems přemýšlíme a co se nám dlouhodobě osvědčilo. Kromě série článků pro vás na podzim chystáme také meet-up zabývající tímto tématem.

Principy agility

V dnešní době si, alespoň v určité formě, agilní vývoj zažila asi každá technologická firma. Ale zdaleka ne každá firma má s agilitou dobré zkušeností. Příčin může být více, od nezkušeného týmu, přes nedostatečnou podporu zapojených stran až po nevhodně nastavenou metodiku. Při rozkrývání, co stojí za negativní zkušeností, však zjišťujeme, že příčinou často také bývá nesprávné pochopení samotných agilních principů. Firmy bez předchozí zkušeností s agilním vývojem mají tendenci aplikovat bez hlubšího rozmyslu některou z nejznámějších agilních metodik (typicky Scrum) a domnívají se, že tím mají transformaci procesů vyřešenu. „Být agilní“ však neznamená pouze rozhodnout se pro určitou metodiku, ale především chápat, co za agilitou stojí, jaké motivy sleduje a jaké prostředí pro své fungování vyžaduje. V opačném případě významně stoupá riziko, že se zařadíte do skupiny těch, kteří agilitu označí za chaos a obviní ji za všechno své počínání.

12 principů agility

Teprve ve chvíli, kdy se dostatečně ztotožňujete s principy agility (https://agilemanifesto.org/principles.html) má smysl začít s výběrem vhodné metodiky a nástrojů. Ano, i dnes byste si vystačili s tabulí a fixem, ale elektronické nástroje mají bezesporu mnoho výhod. Zvyšují efektivitu týmu, podporují schopnost pravidelného doručování výstupů, dokáží měřit a vyhodnocovat stav a průběh dodávek, šetří náklady na manuální činnosti, které lze automatizovat a jistě by se našlo mnoho dalších výhod. Nedávná doba navíc ukázala, jak je důležité mít data dostupná on-line pro zachování běhu firmy v mimořádných situacích.

Atlassian produkty z pohledu principů agility

Atlassian podporuje svými produkty většinu z principů agility. Pro lepší přehlednost rozdělme principy do tří oblastí:

  • Plánování a vyhodnocení – principy týkající se definování požadavků, vytváření plánu a jejich vyhodnocení.
  • Vývoj a doručení – principy související s implementací a průběžného dodávkou výstupů.
  • Spolupráce – principy podporující tým, jeho motivaci a efektivitu.

mask_group_4

Plánování a vyhodnocení

  • Vítáme změny v požadavcích, a to i v pozdějších fázích vývoje. Agilní procesy podporují změny vedoucí ke zvýšení konkurenceschopnosti zákazníka.
  • Hlavním měřítkem pokroku je fungující software.
  • Jednoduchost umění maximalizovat množství nevykonané práce je klíčová.
  • Tým se pravidelně zamýšlí nad tím, jak se stát efektivnějším, a následně koriguje a přizpůsobuje své chování a zvyklosti.

Každý vývoj by měl začít fází, ve které zformulujete vizi, kterou hodláte následovat. V návaznosti na popsaný problém vznikají jednotlivé požadavky, které se dále ohodnocují a prioritizují. Na bázi těchto podkladů vzniká hrubý implementační plán. V této fázi můžete dobře využít dva nejznámější Atlassian produkty, Jira a Confluence. Jira pro sběr, vyhodnocení a naplánování požadavků, Confluence jako společný prostor, ve kterém kolektivně vzniká bližší popis požadavků a také jako místo pro sdílení plánů, či dalších informací souvisejících s daným požadavkem.

atlassian_plan-and-track

Jednotlivé nápady, či business požadavky můžete evidovat formou Jira issues s definovanou strukturou v jednom či více Jira projektech. Díky workflow daného issue mohou požadavky projít schvalováním, či vyhodnocením a být dále roztříděny k dalšímu zpracování. Vybrané požadavky pak lze blíže ohodnotit a zařadit do backlogu, či plánu. V návaznosti na to, zda plánujete separátní projekt, nebo vytváříte roadmapu pro celou organizaci, můžete využít buď backlog board v Jira Software, nebo některou z appek vhodných pro Porgram/Portfolio management dostupných na Atlassian Marketplace (např. BigPicture, Advanced Roadmaps, Jira Align, Cycle Control, RTM, Structure a další).

Při vývoji dle agilních principů jsou dodávány výstupy v pravidelných krátkých intervalech a stejně tak probíhá pravidelné plánování. Před každým plánováním se vyhodnocuje předchozí běh a získané poznatky jsou následně zohledněny v plánu. Pro vyhodnocení můžete využít jak samotná data z Jira issues a nativních Jira reportů (skutečná pracnost, počet zpracovaných požadavků, rychlost týmu apod.), tak Confluence, například jako nástroj pro sběr poznatků a připomínek pro pravidelnou retrospektivu.

Vývoj a doručení

  • Naší nejvyšší prioritou je vyhovět zákazníkovi časným a průběžným dodáváním hodnotného softwaru.
  • Dodáváme fungující software v intervalech týdnů až měsíců, s preferencí kratší periody.
  • Agilitu zvyšuje neustálá pozornost věnovaná technické výjimečnosti a dobrému designu.

Tato oblast principů se týká zejména průběžného dodávání fungujících výstupů v krátkých intervalech, tedy o Continuous Delivery a Continuous Integration. V tomto případě vám nástroje mohou pomoci zvýšit efektivitu a spolehlivost vytváření pravidelných výstupů díky automatizaci procesu. Pro umožnění automatizace je třeba mezi sebou propojit plánovací a vývojářské nástroje. V kontextu Atlassian produktů jde o propojení Jira Software s Bitbucket, jakožto nástrojem pro správu kódu, a s Bamboo, což je nástroj pro sestavování a doručení balíků kódu. Integrace zmíněných produktů zkracuje interval potřebný pro dodávku výstupů a snižuje chybovost odstraněním manuální činnosti vývojářů.

atlassian_build

Pro automatizaci procesu doručování balíků kódu není nezbytně nutné využívat jen čistě produkty Atlassian. Díky appkám na Marketplace lze s Jira Software integrovat také další vývojářské nástroje jako je GitHub, GitLab, Microsoft TFS/Azure Devops a jiné.

Spolupráce

  • Lidé z byznysu a vývoje musí spolupracovat denně po celou dobu projektu.
  • Budujeme projekty kolem motivovaných jednotlivců. Vytváříme jim prostředí, podporujeme jejich potřeby a důvěřujeme, že odvedou dobrou práci.
  • Nejúčinnějším a nejefektnějším způsobem sdělování informací vývojovému týmu z vnějšku i uvnitř něj je osobní konverzace.
  • Agilní procesy podporují udržitelný rozvoj. Sponzoři, vývojáři i uživatelé by měli být schopni udržet stálé tempo trvale.
  • Nejlepší architektury, požadavky a návrhy vzejdou ze samo-organizujících se týmů.

Poslední oblast principů souvisí s týmem, jeho efektivním fungováním, udržitelným rozvojem i motivací. Ačkoliv se tato oblast do velké míry týká osobní komunikace s lidmi a vytváření prostředí pro umožnění jejich optimálního výkonu, i v tomto případě je nástrojová podpora přínosná.

atlassian_collaborate

Pomocí Jira lze jednoznačně přiřazovat úkoly členům týmu tak, aby v každé chvíli všichni věděli, na čem mají pracovat, jaké úkoly mají dále ve frontě a jaká je jejich priorita zpracování. Díky dashboardům a reportům nebo využitím funkcionalit některé z appek rozšiřujících funkcionalitu Atlassian produktů, lze vytvořit jeden zdroj pravdy o aktuálním stavu projektu a udržovat tak koncentraci týmu na důležitých úkolech. Integrací Jira a Confluence můžete vytvořit prostor pro podrobný popis zadání přímo propojený s odpovídajícími požadavky. Tím vzniknou vhodné podmínky jak pro business dodávající vstupy, tak pro vývojový tým dodávající výstupy. Jako další příklad podpory spolupráce lze uvést integraci Jira s komunikačními nástroji jako je Slack. V případě potřeby tak můžete rychle začlenit do online chatu relevantní členy týmu přímo v kontextu dotčeného požadavku. V neposlední řadě stojí za zmínku Trello sloužící pro vizualizaci úkolů napříč týmem.

Jak vidíte, možností podpory spolupráce týmu pomocí Atlassian produktů a jejich rozšíření je poměrně dost, a toto ještě není kompletní výčet.

Na co se můžete těšit příště

V dnešním příspěvku jste si mohli přečíst a udělat si rámcovou představu o tom, jak Atlassian produkty a jejich rozšíření podporují vývoj dle principů agility a jak vám mohou pomoci implementovat agilitu. V navazujícím článku se podíváme podrobněji na konkrétní možnosti využití Atlassian produktů a jejich rozšíření v rámci principů pokrývajících oblast plánování a vyhodnocení.

Miroslav Suchopar Miroslav Suchopar

Atlassian Solution Architect

Mirek se jakožto bývalý IT projektový manažer věnuje primárně oblasti řízení projektů a portfolia. Navrhuje a implementuje související procesy pomocí Atlassian nástrojů s důrazem na efektivitu a uživatelskou přívětivost. V poslední době se zaměřuje zejména na oblast řízení projektů dle principů agility.

Komentáře

Podobné články

Nechte nám na sebe kontakt a naši odborníci se vám ozvou. Neradi píšete? Kontaktujte experta na telefonním čísle +420 725 761 338

Důvěřují nám tyto firmy