Logo Roger KB

Počas svojho niekoľkoročného pôsobenia v IT som sa stretol s rôznymi podobami agilného a pseudo-agilného vývoja softvéru. Pracoval som v stredne veľkej firme, ktorá sa zrovna nachádzala v období prechodu zo startupovej kultúry do korporátu. Pracoval som v korporáte, kde sa s agilným vývojom zrovna začínali pohrávať. A aktuálne pracujem vo firme, ktorá svojou veľkosťou a kultúrou splňuje definíciu startupu. Počas tohoto obdobia som sa stretol s rôznymi uchopeniami slova Agile, z ktorých mnohé sa viac, či menej vzdialili od toho, čo bolo autormi tohoto slova pôvodne zamýšľané. V tomto článku by som preto chcel zhrnúť a vysvetliť bežné nepochopenia a zneužitia slova agile a to, ako sa tomu snažíme u nás v Rogerovi vyhnúť.

Agile je filozofia, ktorá sa zrodila koncom minulého storočia ako reakcia na nevhodnosť použitia tradičného projektového riadenia na vývoj softvéru. Tradičný projektový manažment, ktorý delí projekty do niekoľko-týždňových až -mesačných fáz ako zbieranie požiadaviek, analýza, návrh, implementácia, testovanie, písanie dokumentácie a nasadenie produktu (spolu označovanými aj termínom waterfall) sa hodí na projekty, ktoré majú predurčený priebeh. Typický softvérový projekt však vychádza z predpokladu, že sa požiadavky zákazníkov počas priebehu projektu ešte niekoľkokrát zmenia (a tomu verte, že sa zmenia :)). 

Nehovoriac o tom, že zákazník často zisťuje, čo vlastne chce, až keď vidí hotový produkt (alebo aspoň jeho časť). Anglický pojem agile teda vyjadruje flexibilitu projektov, ktoré sa touto filozofiou riadia. Pojem vznikol a bol zakotvený v tzv. Agilnom manifeste [1] obsahujícím 4 hodnoty, které sú pre Agile kľúčové:

Od deklarácie Agilného manifesta v roku 2003 uplynulo už pár rokov a medzitým sa agile tak rozšíril, že asi ťažko nájdeme IT spoločnosť, ktorá by ho v nejakej forme pri vývoji softvéru nepoužívala [2]. Aspoň to tvrdia samotné spoločnosti. Moja skúsenosť naopak hovorí, že aplikácia agilných hodnôt je výzva, ktorá okrem samotných vedomostí ako na to, vyžaduje aj určitú životnú skúsenosť a nastavenie mysle (po anglicky mindset). 

Často má však to, čo je na papieri agile od neho dosť ďaleko. Taký je charakter agile, je jednoduchý na pochopenie a ťažký na implementáciu. Tu nastupujeme my, agilní kouči, aby sme pomohli softvérovému teamu zvládnuť výzvy, ktoré jeho aplikácia prináša. Napriek tomu mnoho spoločností skĺzne k tomu, že ho aplikujú nesprávne a zo slova agile sa stáva korporátny buzzword alebo v horšom prípade sprosté slovo.

Agile ako prázdna skořápka

Asi najtypickejšie zneužitie agile-u spočíva v aplikácii jeho prejavov bez pochopenia významu jeho hodnôt. Stretol som sa s tým na viacerých úrovniach. Najčastejšou aplikáciou agilného vývoja je Scrum (popísaný v tzv. Scrum Guide [3]), ktorý popisuje role, artefakty a udalosti, ktorých implementáciou môže človek dosiahnuť agilný vývoj. Scrum je framework, ktorý v mnohom zjednodušuje nasadenie agilu, ale jeho použitie môže mať aj nežiadúce účinky. Hlavný problém je v tom, že mnohí si myslia, že keď nasadia Scrum, budú Agile. Takto to ale žiaľ nefunguje.

Stretol som sa s tým, že spoločnosť, ktorá chcela byť “agile” nijako nezmenila ani svoju organizačnú štruktúru (rozdelenie do tímov podľa funkcie, tj. tím pre vývoj, tím pre testovanie, tím pre dokumentáciu, atd...) ani spôsob práce (posúvanie si práce vo watefallových fázach medzi týmito tímami), ale jednoducho na to celé ako Potemkinovu dedinu namazala udalosti a role zo Scrumového frameworku. Výsledkom bolo, že sa efektivita práce nijako nezvýšila, iba pribudol zbytočný administratívny overhead spojený s použitím Scrumu (extra udalosti, extra nástroje a extra zodpovednosti...).

Verím, že v zdravom firemnom prostredí, kde vládne otvorenosť a nadriadení počúvajú názory svojich podriadených, by k tejto situácii nemalo dôjsť. Keď robíme zmeny v rámci nášho tímu v Rogerovi, vždy si ich najskôr prerozprávame a vysvetlíme si cieľ, ktorý sa za nimi skrýva. Tento proces pracovne nazývam nastavovanie mindsetu. Bez toho, aby sme boli na tej istej vlne a všetci chápali, v čom je prínos tej-ktorej agilnej zmeny, by sa tá zmena u nás v tíme pravdepodobne nestala.

Ako agilný kouč si uvedomujem, že základom dobrého fungovania je aby každý v tíme chápal, aký cieľ je za každou zmenou. Aby nám fungoval agile, nemôžme byť rozdelení do oddelení podľa funkcií, ale máme multifunkčný team, v ktorom máme všetkých ľudí, ktorých potrebujeme na úspešné doručenie produktov. Nerozlišujeme sa na vývojárov a testerov, ale každý z nás robí vývoj a aj testuje to, čo ostatní v tíme vyvinuli. Zároveň je tu sloboda, aby si každý našiel niečo, čo ho baví a v tom sa rozvíjal, pokiaľ niekoho baví iba práca na backende, venuje sa iba backendu a pokiaľ sa niekto chce stať full-stack vývojárom a pracovať aj na backende aj frontende, môže sa venovať obom oblastiam.

O dalších případech nepochopení a správného řešení se dočtete v druhé části článku, která vyjde příští týden!

[1] https://agilemanifesto.org/

[2] https://stateofagile.com/#ufh-i-661275008-15th-state-of-agile-report/7027494

[3] https://scrumguides.org/scrum-guide.html

Od roku 2013 spojuje Roger investory se společnostmi. Jeho posláním je, aby si podnikatelé nemuseli dělat starosti s dlouhými splatnostmi, měli dostatečné cash flow a mohli se soustředit na rozvoj svého podnikání. To je možné díky unikátní a Českou národní bankou licencované investiční platformě. 

© 2023 Platební instituce Roger a.s.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram