Blog
15. ledna 2020 Samuel Titka

Scaled Agile Framework (SAFe) v Jira

Jak využít přednosti funkce Jira Software při škálování agilních principů? Zaměříme se na jeden z nejpopulárnějších agilních frameworků – SAFe.

V předchozím období jsme byli svědky agilních transformací ve velkých společnostech.
Očekáváme, že tento trend bude pokračovat i v budoucnu.

Jira Software je jedničkou na trhu mezi nástroji pro vývoj softwaru agilními týmy.

V dnešním blogovém příspěvku vám přiblížíme, jak využít přednosti funkce Jira Software Server při  škálování agilních principů.

Zaměříme se přitom na jeden z nejpopulárnějších frameworků – SAFe.

Safe v kostce

SAFe® je zkratka odvozena od Scaled Agile Framework®. Ve své podstatě jde o soubor

  • ověřených praktik
  • pravidel
  • integrovaných principů
  • definic pravomocí

Safe je vyvíjen jako produkt registrované společnosti Scaled Agile, Inc.

Jeho první vydání proběhlo v roce 2011. Od té doby se tento tento produkt evolučně vyvíjí, aktuální verze je 6.0 (předchozí verze: 1.0, 2.0, 3.0 / LSE, 4.0, 4.5, 4.6 a 5.0).

Safe je cílený na transformaci větších podniků směrem k metodikám jakými jsou Agile, Lean a DevOps. Využívání principů těchto metodik umožňuje podnikům provést rychlou a efektivní odezvu na měnící se podmínky na trhu, na náhlé změny potřeb zákazníků či na vzestup nových technologií. SAFe pomáhá dodávat produkty, služby a řešení efektivně. Jeho přednosti potvrzuje i ​​několik případových studií z velkých i menších podniků. Patří mezi ně:

  • zvýšení produktivity o20-50 %
  • zlepšení kvality o 25-75 %
  • zkrácení času dodání řešení o 30-75 %
  • zvýšení zapojení zaměstnanců a jejich spokojenosti o 10-50 %

Jelikož jde o škálovatelný a konfigurovatelný rámec, podniky si ho mohou přizpůsobit, aby odrážel jejich potřeby, návyky a firemní kulturu.

Popsané jsou 4 standardní konfigurace:

  • Essential SAFe (nejjednodušší konfigurace, která přináší hlavní výhody. Začleňuje minimum elementů, které jsou potřebné pro úspěšné praktikování SAFe).
  • Large Solution SAFe (Zastřešuje vývoj větších komplexních řešení.)
  • Portfolio SAFe (V porovnání s Large Solution navíc popisuje úroveň portfolia – jeho strategické řízení, financování atd.)
  • Full SAFe (Plná a obsáhlá konfigurace. Je cílena na vývoj velkých složitých integrovaných řešení, které je třeba spravovat a vyžadují spolupráci stovek zaměstnanců.)

 

Jak lze vidět, SAFe může praktikovat pár nebo až stovky zainteresovaných zaměstnanců.

Je dobré mít na paměti, že SAFe je rámec, tj striktně nenutí převzít do puntíku všechny popsané principy a pravidla.

SAFe je zacílen na řešení problémů vznikajících škálováním za hranice jednoho týmu.

Agilní metody (Scrum, Kanban apod.) Se soustředí pouze na individuální týmy. Cílem SAFe je synchronizovat spolupráci a výstupy těchto individuálních týmů.

Samozřejmě, SAFe není jediným frameworkem, který popisuje řešení této problematiky. Jiné známé alternativy jsou, například:

    • DAD (Disciplined agile delivery)
    • LeSS (Large-scale Scrum)
    • Nexus

Kdy použít safe?

Nasazení SAFe není jen o nasazení nástroje, ve kterém se eviduje práce. Je to změna, která vyžaduje myšlení zaměstnanců ve směru Lean/Agile principů. Pochopení těchto metodologií je nezbytné již na začátku procesu transformace. Klíčoví zaměstnanci by měli být motivováni aplikovat agilní principy, a to konzistentně přes různé projekty a portfolia.

Kdy uvažovat nad transformací?

  • Když chtějí týmy vykonávat přidělenou práci autonomně, samostatně.
  • Když vícero týmů už využívá Agile praktiky (většinou Scrum), avšak často se zpozdí jejich výstupy z důvodu blokování práce jiným týmem.
  • Když je cílem škálovat Agile praktiky napříč podnikem avšak není úplně jasné, které role je třeba změnit a jak.
  • Když je třeba zvýšit produktivitu a zkrátit čas dodání řešení.
  • Když během vyvíjení řešení narážíte na množství technických nebo byznys souvislostí, případně se jedná o komplexní koordinaci spolupráce.
  • Když je podnik velký nebo když se vyvíjejí komplexní řešení vyžadující spolupráci více týmů.
  • Když podnik dosáhl tzv. bodu zvratu:
    • „A burning platform“ – Podnik má potíže být konkurenceschopný a je problematické zvrátit tento stav dostatečně rychle.
    • „Visionary leadership“ – Podnik chce provést proaktivní kroky pro zajištění lepšího postavení na trhu v budoucnosti.

Vícero korporací označilo nasazení Safe za jednu z největších výzev, ale zároveň dodává, že přineslo množství benefitů, což bylo zasloužené zadostiučinění.

Možnosti nástroje jira software v kontextu safe

Jira Software standardně ihned po nainstalování:

  • Obsahuje šablonu pro projekt řízený metodologií Scrum (případně Kanban, Kanban), která zahrnuje
    • backlog – pro prioritizaci a plánování úloh
    • Kanban tabuli – pro řízení úloh aktivního sprintu
    • hierarchii úloh Epic -> Story -> Sub-task – pro rozložení práce
    • metriky a reporting (např. Burndown graf nebo velocity graf) – pro retrospektivní účely
  • Umožňuje propojit Jira úlohy pomocí vazeb a tak evidovat jejich závislosti.
  • Všeobecně umožňuje sledovat jakoukoliv jednotku práce – evidovat její stav a pomocí případně vytvořených atributů či dodatečné konfigurace ji dále podrobně popisovat nebo kategorizovat.

Tato standardní funkcionalita zčásti pokrývá nejnižší úroveň v SAFe, tzv. Essential level. Zde jde mimo jiné o řízení práce v rámci individuálních týmů a synchronizaci jejich výstupů za účelem integrování dílčích řešení do celkového díla.

Také se různá dílčí standardní Jira funkcionalita využívá i ve vyšších dvou úrovních – v tzv. Large solution level a Portfolio level. Příkladem může být použití Kanban tabulí pro řízení tzv. Portfolio nebo Solution backlog, popřípadě evidence strategických témat jako jednotlivé Jira úlohy a podobně.

Na plné pokrytí potřeb SAFe v Jira Software třeba však využít její plný potenciál, jmenovitě:

  • Flexibilitu nástroje Jira a její konfigurovatelnost. Jde o adaptaci standardních nastavení za účelem přizpůsobení na konkrétní potřeby SAFe a potřeby podniku. Jako příklad můžeme zmínit přizpůsobování pracovních postupů, atributů, přístupových práv či notifikací.
  • Rozšiřitelnost nástroje Jira. Jde o doinstalování modulů označovaných jako Jira apps z platformy Atlassian Marketplace. Lze tak do nástroje Jira přinést velké množství nových, potřebných funkcionalit. Konkrétní příklady jsou uvedeny níže.

Příklad z praxe

U klienta probíhala agilní transformace. Řešení postavené na Jira platformě upřednostnil kvůli rychlosti nasazení a flexibilitě, protože postupně plánuje z Jira udělat centrální nástroj pro řízení a evidenci práce zaměstnanců.

Náš klient také ocenil snadnost použití a modernost UI Jira nástroje. Modularita a rozšiřitelnost byly také přednostmi, kterými Jira zaujala v procesu výběru nástroje. Požadovanou vlastností byl i jednoduchý přechod na vyšší verze, což Jira splňuje na jedničku.

V neposlední řadě, Jira lze nativně integrovat s nástrojem Confluence. Confluence je dokumentační/wiki nástroj od Atlassian.

Během nasazování a implementace principů SAFe do Jiry pro jednoho z našich klientů jsme mimo jiné řešily následující výzvy:

Víceúrovňová hierarchie úloh

Za účelem vizualizace hierarchie úkolů, prakticky od nejvyšší úrovně až po nejnižší, jsme sáhli po Jira aplikaci Structure.

Lze tak získat přehled nad rozložením iniciativ managementu až na jednotlivé úkoly pro vývojáře a podobně.

safe-jira-software

Structure umožňuje budovat a zobrazit hierarchii Jira úloh na základě různých pravidel, my jsme hierarchii úkolů budovali na základě propojení (Issue Links).

Další velkou výhodou je možnost zobrazit i různé atributy a dokonce je přímo editovat z daného pohledu. V neposlední řadě, Structure dokáže agregovat hodnoty atributů směrem nahoru, což se velmi hodí při analýze odpracovaného času či odhadů na vyšších úrovních.

Terminologie vs. Funkcionalita

Abychom tento bod zbytečně složitě nepopisovali, jedná se o následující: Z pohledu SAFe by bylo lepší, aby se standardní entita v Jira Epic volala Feature. Jira však standardně neumožňuje přejmenovat tuto entitu.

Je pravda, že v Jira lze vytvořit mnoho nových typů Jira úloh, a tak by se mohlo zdát, že stačí vytvořit nový typ úlohy s názvem Feature. Toto se sice může jevit jako vhodné řešení, avšak nepřenese se specifická funkcionalita Jira, která je navázána na Epic. A tato funkcionalita by přesně pasovala do potřeb práce s Feature.

 

Existuje však velmi elegantní řešení. Je jím Jira aplikace SAFe EPIC to Feature Translator for Jira, která uživatelům zobrazí „Feature“ místo „Epic“. Technicky však je Epic na pozadí stále Epic-em, a proto je zachována veškerá standardní funkcionalita či kompatibilita s jinými Jira aplikacemi.

 

safe-jira-software

Řízení iniciativ managementu

Řízení iniciativ managementu, tj. jak je evidovat, prioritizovat a plánovat, jsme pokryli standardní funkcionalitou Jira Software – vytvořili jsme Kanban tabuli.

Tato Kanban tabule obsahuje všechny iniciativy – jsou to Jira úlohy specifického typu, které mají potřebné atributy. Příkladem může být atribut použit pro plánování – Programový inkrement.

safe-jira-software

Stačí jeden pohled na takovou tabuli a hned je jasné, která iniciativa je v jakém stádiu jejího životního cyklu a které iniciativy jsou nejdůležitější.

Nástěnka plánování programového inkrementů (PI Planning Board)

Událost PI Planning, tj. plánování programového inkrementů je nezbytná, pokud chceme synchronizovat spolupráci a výstupy několika agilních týmů.

Velmi užitečným pomocníkem na této události je PI Planning Board. Jde o nástěnku, na níž jsou zobrazeny naplánované úlohy pro jednotlivé týmy, jednotlivé iterace a v neposlední řadě jsou zde vidět závislosti. Může vypadat přibližně takto:

PI Planning Board Jira SAFe

Jira Software však ve standardní konfiguraci neobsahuje potřebnou vizualizaci pro takovou nástěnku. Proto jsme sáhli po Jira app BigPicture (spolu s BigPicture Enterprise).

BigPicture obsahuje modul, který dokonale splní potřeby plánování programového inkrementu.

PI Planning Board Jira SAFe

Tento modul umožňuje na řádcích zobrazit týmy, které spolupracují na daném řešení, na sloupcích zobrazit zvolený počet iterací a v jednotlivých buňkách kartičky, které představují úlohy naplánované do dané iterace pro daný tým.

Rovněž vizualizuje závislosti mezi úkoly – červenou, zelenou či šedou barvou (viz šipky na obrázku výše). Podle toho, zda nastal konflikt v naplánování nebo ne (např. Úloha A musí být splněna před úkolem B, avšak do iterací byly naplánovány naopak …) se propojení zobrazí zelenou nebo červenou barvou.

Dokonce tento modul obsahuje sekci pro tzv. programový backlog – zde se hromadí všechny úkoly, které ještě nebyly naplánované.

Různá řešení a přístupy

Tak jako existují různé alternativy k SAFe, existují i ​​různé přístupy k implementaci SAFe do Jira. Námi aplikované popsané přístupy výše jsou jen jedněmi z nich.

Různá řešení popisují někteří významnější autoři Jira aplikací:

Všimli jsme si, že ačkoliv se řešení liší, často využívají kombinaci existujících Jira aplikací. Např.:

Pro úplnost informací, existuje řešení i od Atlassian – Jira Align (dříve známé pod názvem AgileCraft).

Jedním dechem však dodáváme, že toto řešení momentálně využívá menší počet velmi velkých korporací a je postavené nad vícero Jira instancemi.

Zajímá vás toto téma? Chcete se dozvědět více?
Neváhejte nás kontaktovat.

Samuel Titka
Atlassian konzultant

Zdroje a další užitečné informace:

 

Kontaktujte nás

Podobné projekty