Blog
15. januára 2020 Samuel Titka

Scaled Agile Framework (SAFe) v Jira

V predošlom období sme boli svedkami agilných transformácií vo veľkých podnikoch.
Očakávame, že aj v roku 2020 bude tento trend pokračovať. Zameriame sa pritom na jeden z najpopulárnejších framework-ov – SAFe.

V predošlom období sme boli svedkami agilných transformácií vo veľkých podnikoch.
Očakávame, že aj v budúcnosti bude tento trend pokračovať.

Jira Software je jednotkou na trhu medzi nástrojmi pre vývoj softvéru agilnými tímami.
V dnešnom blogovom príspevku vám priblížime ako využiť prednosti nástroja Jira Software pri škálovaní agilných princípov.

Zameriame sa pritom na jeden z najpopulárnejších framework-ov – SAFe.

SAFe v kocke

SAFe® je skratka odvodená od Scaled Agile Framework®. Vo svojej podstate ide o súbor

  • overených praktík,
  • pravidiel,
  • integrovateľných princípov
  • a definícií právomocí.

SAFe je vyvíjaný ako produkt registrovanej spoločnosti Scaled Agile, Inc.
Jeho prvé vydanie prebehlo v roku 2011. Odvtedy sa tento tento produkt evolučne vyvíja, aktuálna verzia je 5.0 (predošlé verzie: 1.0, 2.0, 3.0/LSE, 4.0, 4.5 a 4.6).

SAFe je cielený na transformovanie väčších podnikov smerom k metodikám akými sú AgileLean DevOps.
Využívanie princípov týchto metodík umožňuje podnikom vykonať rýchlu a efektívnu odozvu na meniace sa podmienky na trhu, na náhle zmeny potrieb zákazníkov či na vzostup nových technológií.

SAFe pomáha dodávať produkty, služby a riešenia efektívne.
Jeho prednosti potvrdzujú aj viaceré prípadové štúdie z veľkých aj menších podnikov. Patria medzi ne:

  • zvýšenie produktivity o 20 – 50%
  • zlepšenie kvality o 25 – 75%
  • skrátenie času dodania riešenia o 30 – 75%
  • zvýšenie zapojenia zamestnancov a ich spokojnosti o 10 – 50%

Keďže ide o škálovateľný a konfigurovateľný rámec, podniky si ho môžu prispôsobiť, aby odzrkadľoval ich potreby, návyky a firemnú kultúru.
Popísané sú 4 štandardné konfigurácie:

  • Essential SAFe (Najjednoduchšia konfigurácia, ktorá prináša hlavné výhody. Začleňuje minimum elementov, ktoré sú potrebné pre úspešné praktizovanie SAFe.)
  • Large Solution SAFe (Zastrešuje vývoj väčších komplexných riešení.)
  • Portfolio SAFe (V porovnaní s Large Solution navyše popisuje úroveň portfólia – jeho strategické riadenie, financovanie atď.)
  • Full SAFe (Plná a obsiahla konfigurácia. Je cielená pre vývoj veľkých zložitých integrovaných riešení, ktoré treba spravovať a vyžadujú spoluprácu stoviek zamestnancov.)

Ako vidno, SAFe môže praktizovať zopár zainteresovaných zamestnancov alebo až stovky zamestnancov.
Je dobré mať na pamäti, že SAFe je rámec, t.j. striktne nenúti prevziať do bodky všetky popísané princípy a pravidlá.

SAFe je zacielený na riešenie problémov vznikajúcich škálovaním za hranice jedného tímu.
Agilné metódy (Scrum, Kanban a pod.) sa sústredia iba na individuálne tímy. Cieľom SAFe je synchronizovať spoluprácu a výstupy týchto individuálnych tímov.

Samozrejme, SAFe nie je jediným framework-om, ktorý popisuje riešenia na tieto problémy. Iné známe alternatívy sú, napríklad:

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

Kedy použiť SAFe?

Nasadenie SAFe nie je len o nasadení nástroja, v ktorom sa eviduje práca.
Je to zmena, ktorá si vyžaduje myslenie zamestnancov v smere Lean/Agile princípov. Pochopenie týchto metodológií je nevyhnutné už na začiatku procesu transformácie.
Kľúčoví zamestnanci by mali byť motivovaní aplikovať agilné princípy, a to konzistentne cez rôzne projekty a portfólia.

Kedy uvažovať nad transformáciou?

  • Keď chcú tímy vykonávať pridelenú prácu autonómne, samostatne.
  • Keď viacero tímov už využíva Agile praktiky (zväčša Scrum), avšak sa často oneskoria ich výstupy z dôvodu blokovania práce iným tímom.
  • Keď je cieľom škálovať Agile praktiky naprieč podnikom avšak nie je úplne jasné, ktoré roly je potrebné zmeniť a ako.
  • Keď je potrebné zvýšiť produktivitu a skrátiť čas dodania riešení.
  • Keď počas vyvíjania riešenia narážate na množstvo technických alebo biznis závislostí, prípadne sa jedná o komplexnú koordináciu spolupráce.
  • Keď je podnik veľký alebo keď sa vyvíjajú komplexné riešenia vyžadujúce spoluprácu viacerých tímov.
  • Keď podnik dosiahol tzv. bod zvratu:
    • „A burning platform“ – Podnik má ťažkosti byť konkurencieschopní a je problematické zvrátiť tento stav dostatočne rýchlo.
    • „Visionary leadership“ – Podnik chce vykonať proaktívne aktivity pre zabezpečenie lepšieho postavenia na trhu v budúcnosti.

Viacero korporácií označilo nasadenie SAFe za jednu z najväčších výziev, no zároveň dodáva, že prinieslo množstvo benefitov, čo bolo zaslúžené zadosťučinenie.

Možnosti nástroja Jira Software v kontexte SAFe

Jira Software štandardne ihneď po nainštalovaní:

  • Obsahuje šablónu pre projekt riadený metodológiou Scrum (prípadne Kanban, Kanplan), ktorá zahrňuje
    • backlog – pre prioritizáciu a plánovanie úloh
    • Kanban tabuľu – pre riadenie úloh aktívneho šprintu
    • hierarchiu úloh Epic → Story → Sub-task – pre rozpad práce
    • metriky a reporting (napr. Burndown graf alebo velocity graf) – pre retrospektívne účely
  • Umožňuje prepájať Jira úlohy pomocou väzieb a tak evidovať ich závislosti.
  • Vo všeobecnosti, umožňuje sledovať akúkoľvek jednotku práce – evidovať jej stav a pomocou prípadných vytvorených atribútov, či dodatočnej konfigurácie ju ďalej podrobne popisovať či kategorizovať.

Táto štandardná funkcionalita z časti pokrýva najnižšiu úroveň v SAFe, tzv. Essential level. Tu ide, okrem iného, o riadenie práce v rámci individuálnych tímov a synchronizovanie ich výstupov za účelom integrovania čiastkových riešení do celkového diela.

Taktiež sa rôzna čiastková štandardná Jira funkcionalita využíva aj vo vyšších dvoch úrovniach – v tzv. Large solution level Portfolio level.
Príkladom môže byť použitie Kanban tabúľ pre riadenie tzv. Portfolio alebo Solution backlogu, prípadne evidencia strategických tém ako jednotlivé Jira úlohy a podobne.

Na plné pokrytie potrieb SAFe v Jira Software treba však využiť jej plný potenciál, menovite:

  • Flexibilitu nástroja Jira a jej konfigurovateľnosť. Ide o adaptovanie štandardných nastavení za účelom prispôsobenia sa na konkrétne potreby SAFe a potreby podniku. Ako príklad môžeme spomenúť adaptovanie pracovných postupov, atribútov, prístupových práv či notifikácií.
  • Rozšíriteľnosť nástroja Jira. Ide o doinštalovanie modulov označovaných ako Jira apps z platformy Atlassian Marketplace. Možno tak do Jira nástroja priniesť veľké množstvo novej, potrebnej funkcionality. Konkrétne príklady sú uvedené nižšie.

Príklad z praxe

U klienta prebiehala agilná transformácia. Riešenie postavené na Jira platforme uprednostnil kvôli rýchlosti nasadenia a flexibilite, nakoľko postupne plánuje z Jira spraviť centrálny nástroj pre riadenie a evidenciu práce zamestnancov.
Taktiež náš klient ocenil jednoduchosť použitia a moderný UI Jira nástroja. Modularita a rozšíriteľnosť Jira boli tiež prednosťami, ktorými Jira zaujala v procese výberu nástroja. Požadovanou vlastnosťou bol aj jednoduchý prechod na vyššie verzie, čo Jira spĺňa na jednotku.
V neposlednom rade, Jira možno natívne integrovať s nástrojom Confluence. Confluence je dokumentačný/wiki nástroj od Atlassian.

Počas nasadzovania a implementácie princípov SAFe do Jira nástroja pre jedného z našich klientov sme, okrem iných, riešili nasledovné výzvy:

Viacúrovňová hierarchia úloh

Za účelom vizualizácie hierarchie úloh, prakticky od najvyššej úrovne až po najnižšiu, sme siahli po Jira aplikácií Structure.
Možno tak získať prehľad nad rozpadom iniciatív manažmentu až na jednotlivé úlohy pre vývojárov a podobne.

 

Structure umožňuje budovať a zobraziť hierarchiu Jira úloh na základe rôznych pravidiel, my sme hierarchiu úloh budovali na základe prepojení (Issue Links).
Ďalšou veľkou výhodou je možnosť zobraziť aj rôzne atribúty, a dokonca ich priamo editovať z daného pohľadu. V neposlednom rade, Structure dokáže agregovať hodnoty atribútov smerom nahor, čo sa veľmi hodí pri analýze odpracovaného času či odhadov na vyšších úrovniach.

Terminológia vs. funkcionalita

Aby sme tento bod zbytočne zložito nepopisovali, jedná sa o nasledovné: Z pohľadu SAFe by bolo lepšie, aby sa štandardná entita v Jira Epic volala Feature. Jira však štandardne neumožňuje premenovať túto entitu.

Je pravda, že v Jira možno vytvoriť mnoho nových typov Jira úloh, a tak by sa mohlo zdať, že stačí vytvoriť nový typ úlohy s názvom Feature.
Toto sa síce môže javiť ako vhodné riešenie, avšak neprenesie sa špecifická funkcionalita Jira, ktorá je naviazaná na Epic. A táto funkcionalita by presne pasovala do potrieb práce s Feature.

Existuje však veľmi elegantné riešenie. Je ním Jira aplikácia SAFe EPIC to Feature Translator for Jira, ktorá používateľom zobrazí „Feature“ namiesto „Epic“. Technicky však na pozadí je Epic stále Epic-om, a preto je zachovaná všetka štandardná funkcionalita či kompatibilita s inými Jira aplikáciami.

 

Riadenie iniciatív manažmentu

Riadenie iniciatív manažmentu, t.j. ako ich evidovať, prioritizovať a plánovať, sme pokryli štandardnou funkcionalitou Jira Software – vytvorili sme Kanban tabuľu.
Táto Kanban tabuľa obsahuje všetky iniciatívy – sú to Jira úlohy špecifického typu, ktoré majú potrebné atribúty. Príkladom môže byť atribút použitý pre plánovanie – Programový inkrement.

 

Stačí jeden pohľad na takúto tabuľu a hneď je jasné, ktorá iniciatíva je v akom štádiu jej životného cyklu a ktoré iniciatívy sú najdôležitejšie.

Nástenka plánovania programového inkrementu (PI Planning Board)

Udalosť PI Planningu, t.j. plánovania programového inkrementu je nevyhnutnou, ak chceme synchronizovať spoluprácu a výstupy viacerých agilných tímov.
Veľmi užitočným pomocníkom na tejto udalosti je PI Planning Board. Ide o nástenku, na ktorej sú zobrazené naplánované úlohy pre jednotlivé tímy, jednotlivé iterácie a, v neposlednom rade, tu vidno závislosti. Môže vyzerať približne takto:

 

Jira Software však v štandardnej konfigurácií neobsahuje potrebnú vizualizáciu pre takúto nástenku. Preto sme siahli po Jira aplikácií BigPicture (spolu s BigPicture Enterprise).
BigPicture obsahuje modul, ktorý dokonalo spĺňa potreby plánovania programového inkrementu.

Tento modul umožňuje na riadkoch zobraziť tímy, ktoré spolupracujú na danom riešení, na stĺpcoch zobraziť zvolený počet iterácií no a v jednotlivých bunkách kartičky, ktoré predstavujú úlohy naplánované do danej iterácie pre daný tím.
Taktiež vizualizuje závislosti medzi úlohami – červenou, zelenou či sivou farbou (viď šípky na obrázku vyššie). Podľa toho, či nastal konflikt v naplánovaní alebo nie (napr. úloha A musí byť splnená pred úlohou B avšak boli naplánované do iterácií naopak…) sa prepojenie zobrazí zelenou alebo červenou farbou.

Dokonca tento modul obsahuje sekciu pre tzv. programový backlog – tu sa hromadia všetky úlohy, ktoré ešte neboli naplánované.

Rôzne riešenia a prístupy

Tak ako existujú rôzne alternatívy k SAFe, existujú aj rôzne prístupy k implementácii SAFe v Jira. Nami aplikované popísané prístupy vyššie sú len jednými z nich.
Rôzne riešenia popisujú niektorí významnejší autori Jira aplikácií:

Všimli sme si, že hoci sa riešenia líšia, často využívajú kombináciu existujúcich Jira aplikácií, napríklad:

Pre úplnosť informácií, existuje riešenie aj od Atlassian – Jira Align (predtým známe pod názvom AgileCraft).
Jedným dychom však dodávame, že toto riešenie momentálne využíva menší počet veľmi veľkých korporácií, je postavené nad viacero Jira inštanciami.

Zaujala Vás táto téma? Radi by ste sa dozvedeli viac?
Neváhajte nás kontaktovať.

Samuel Titka

Atlassian konzultant

 

Zdroje a ďalšie užitočné informácie:

Podobné projekty