Malé organizace s několika agilními vývojovými týmy si kvalitu kódu a produktivitu vývojářů dokážou zpravidla ohlídat samy. Ve větších firmách, které mají typicky desítky agilních týmů, je pro manažery už ale podle Michala Bulánka, ředitele pro komerční sektor v Ness Czech, problematické zjistit, jak efektivně tým pracuje a jakou reálnou byznysovou hodnotu přináší. Proto ve společnosti Ness Czech vyvinuli řešení Matrix, které na konkrétních datech a číslech dokáže velmi rychle a jednoduše vyhodnotit kvalitu a efektivitu agilního vývoje. Ukáže také, na co by se měli vedoucí pracovníci zaměřit.
Má agilní vývoj kromě jasných výhod i nějaké slabé stránky?
Dříve se vývoj software řídil tzv. prediktivními modely dodávek, kdy pro každý projekt existoval jasný časový plán, očekávané náklady a přínosy. V agilním světě to funguje jinak. Organizace si typicky sama řídí programátory, analytiky a testery v malých decentralizovaných týmech, které dodávají software po malých částech v krátkých, typicky dvoutýdenních, iteracích. Tím firma získává řadu výhod. Výsledkem je rychlejší reakce na potřeby trhu, zadavatel průběžně vidí vznikající dodávku a snadněji testuje nové vlastnosti, produkty či nabídky zákazníkům. Transformací tímto směrem prochází dnes v ČR řada organizací i mimo obor IT, například banky, pojišťovny či telco operátoři.
Pro vyšší management je však současně agilní vývoj méně transparentní, a to i jeho byznysový přínos a plnění časových harmonogramů. Z principu agility plyne, že časový plán v podstatě neexistuje. Tým si sám říká, co chce udělat v příštích týdnech a odbavuje úkoly podle aktuálních priorit, které stanoví vlastník produktu. Pro management tak přestává být zřejmé, jaký je například celkový přínos týmu za celý rok, nebo jaký je poměr plánovaných vlastností vůči těm reálně dodaným. Vytrácí se měřitelný pohled na obchodní přínosy, efektivitu a dodávky softwaru.
Co umožňuje řešení Matrix v praxi?
Matrix, jakožto nástroj pro měření a řízení produktivity a kvality agilních dodávek softwaru, sám o sobě nezlepšuje vývoj aplikací, ale ukazuje, jak funguje vývojový tým. Posun k lepšímu závisí na tom, jaké rezervy jsou z hlediska vyspělosti agilního řízení a jak chtějí vedoucí pracovníci s nastaveným zrcadlem naložit.
Zavedení Matrixu může posloužit k revizi nastavení procesů a řízení týmů. Jsou firmy, které mají agilní týmy bez jednotného fungování. V organizaci pak rostou ostrůvky, mezi nimiž je složité přesouvat lidi, protože jsou zvyklí na různý styl práce a metriky. Velkou přidanou hodnotou zavedení Matrixu může tedy být i standardizace agilních týmů, postupů a nástrojů v rámci organizace, což umožňuje právě porovnatelnost metrik.
Je možné se zaměřit na kvalitu či efektivitu agilního vývoje?
Tím, že Matrix ukazuje tvrdá data, napomáhá odhalovat různé problémy a týmy i lidi lépe hodnotit. Nelze to samozřejmě provést na 100 %, každý člověk má jiný styl práce a v týmu mohou mít různé úlohy. Každá metrika však nabízí určitý pohled, který je dobré brát v úvahu, samozřejmě v kontextu dalších ukazatelů. Někdo z vývojářů například vytváří hodně kódu, ale ten je také hodně chybový.
Systém Ness Matrix má v sobě prvky strojového učení a umělé inteligence, díky čemuž je schopen odhalovat anomálie jak ve výkonu tak kvalitě odvedené práce. Pak je na manažerovi, aby vše správně vyhodnotil a případně z toho vyvodil potřebná opatření. Jde o velký posun, který pomáhá efektivněji řídit týmy a odhalovat potenciální problémy dříve, než se projeví.
Například se ukáže, že tým pouze 60 % efektivního času věnuje obchodní hodnotě v podobě odbavování uživatelských příběhů, které popisují funkcionalitu, tvořící hodnotu systému pro budoucího uživatele nebo kupujícího. Odborníci Nessu umí říct, jak si tým vede ve srovnání s jinými týmy nebo společnostmi a čím by to mohlo být způsobeno. Ostatní metriky mohou například ukázat na velkou chybovost odevzdaného kódu nebo problémy s plněním obchodních požadavků. Tým pravděpodobně tráví hodně času opravami chyb, které se dostaly do produkce. Manažer si pak může říct, že zautomatizuje či zlepší testování, čímž zmenší počet chyb a týmu odlehčí.
Neobávají se uživatelé o své zdrojové kódy a know-how?
Ness Matrix chrání data svých uživatelů v maximální možné míře a nikdo jiný se k nim nemůže dostat. Nestahuje žádné zdrojové kódy ani názvy nebo popisky Jira ticketů, ze systémů získává pouze ID jednotlivých týmů, ticketů, počty chyb a editací. Ani tato data se dlouhodobě neuchovávají, až na výsledné hodnoty metrik. Celé řešení je certifikované z hlediska bezpečnosti a GDPR.
Máte příklady toho, jak Matrix reálně pomáhá vašim zákazníkům?
U jednoho z uživatelů po tříměsíčním provozu Matrixu a konzultacích ze strany Nessu došlo k nárůstu podílu dokončených úkolů o 14 %. Jiný uživatel měl problém s kvalitou kódu. Díky měření se zvýšil podíl automatizovaného testování ze 30 % na 80 % a mimo jiné došlo i k urychlení dodávek do produkčního prostředí. U dalšího zákazníka měli před nasazením Matrixu o 20 % vyšší plány, než byly týmy reálně schopny dodávat. Řešení pomohlo lépe predikovat skutečný výkon.
Článek vyšel na portálu ITbiz.