Scrum jako interní proces

Určitě jste se setkali s jistou nedůvěrou zákazníků ke Scrum procesu. Takže co s tím? Otevřete-li si knihu Art of War od vojevůdce Sun Tsu, jedna z nabízených strategií je “When you are going to attack nearby, make it look as if you are going to go a long way; when you are going to attack far away, make it look as if you are going just a short distance.” Tedy jinými slovy, proč vše zákazníkovi říkat explicitně a tím ho vyděsit? Honosné názvy, za kterými zákazník neví, co si představit moc nepomůžou, navíc při představě, že se bude pravidelně muset účastnit plánování spolu s týmem v něm nutně musí vzbudit podezření, že na něj chcete hodit Vaší práci. A demo? No ukažte mu produkt, až bude hotový, a neotravujte s nedodělky. Nemá přeci čas se Vám pravidelně věnovat tolik času. I to se Vám může stát. Takže co v takových případech dělat? Zkuste pozvolna a po malých krůčkách zákazníka naučit, v čem je Scrum pro něj výhodný. Ukažte mu, že jednotlivé kroky pro něj mají smyls. Komunikujte a naslouchejte. A hlavně, zákazník přeci nutně vědět, že to, co zcela neformálně děláte, se jmenuje Scrum.

Prvním bodem bude účast na pre-planningu. Jestli-že nejste schopni zákazníka dostat na váš pre-planning přímo, vždy máte možnost se s ním před meetingem zkontaktovat a to buď osobně, a nebo klidně i po telefonu. Dejte mu na výběr, co by on nejvíce ocenil, co by rád viděl nejdříve. Jeho přání pak následně můžete hájit na pre-planningu vy. Ušetříte tak zdánlivě jeho čas. Následně, po ukončení sprintu, zákazníkovi ukažte, co se udělalo. Zajeďte za ním, a vyžádejte si jeho zpětnou vazbu. Nedělejte příliš formální customer dema. Ty můžete udělat pro týmy navzájem, ale pro zákazníka udělejte soukromou prezentaci. Až si na vaše návštěvy zvykne, můžete ho postupně začít zapojovat. V dnešní době velice pěkně poslouží i různé internetem přenášené prezentace (WebEx), takže zákazník vlastně ani nemusí nikam cestovat a neztrácí čas.

Scrum má primární cíl pro Vás. Má Vám pomáhat jak být efektivní, jak zorganizovat tým, jak motivovat lidi. Jak úspěšně dokončit projekt. Nedílnou součástí je samozřejmě i zapojení zákazníka. Ale cest, kterými to docílíte, je mnoho. A nemusí být zdaleka přímočaré. Psychologie je nejmocnějším nástrojem.

IT Governance

IT governance je poslední dobou oblíbeným buzzword. Definice jsou obvykle nic neříkající, těžko se definuje co to vlastně je. O to více mě překvapil článek Best practices for lean development governance http://www.ibm.com/developerworks/rational/library/jun07/kroll/index.html.

V úvodu je popsán IT governance program, jehož cílem je nastavit pravidla a systém pro zodpovědnost, autoritu a komunikaci který bude podporovat klíčové hodnoty, cíle a strategii firmy. Systém musí brát v úvahu porovnání risků a zisků z investice v IT, nastavovat efektivní procesy a praktiky, definovat jasné cíle a role pro jednotlivé skupiny a lidi. Lean governance se zaměřuje na spolupráci, která sama o sobě motivuje členy týmu k lepšímu výsledku. V porovnání s tím jsou běžné IT governance přístupy (CobiT, …) málo flexibilní a neodpovídají tolik reálnému životu a praxi.

Lean governance je tedy jakousi obdobou Agilních metod, z hlavních bodů bych jmenovala adaptaci procesu, přizpůsobení HR k IT hodnotám, organizovat tým podle architektury systému, business-driven projekt a scenario-driven development, inkrementální zlepšování procesu, inkrementální vývoj.

Bohužel, pokračování tohoto článku, část dvě, která se měla zabývat procesy a metrikami a část tři, která měla popisovat role, zodpovědnosti, postupy a standarty mi nepodařilo dohledat. Škoda. Ale i tak článek doporučuji k přečtení.

Jak nejlépe sledovat aktuální stav úloh

V minulém příspěvku jsem doporučovala Excel pro vizualizaci výsledků Sprintu a zobrazení Burndown grafu, jako jednoduchou, levnou a efektivní metodu. Podobně se můžeme postavit k trackování statusu jednotlivých úloh, plánování na sprinty a sledování úloh v backlogu. Systémy navržené na Scrum proces Vám samozřejmě dají všechny informace o aktuálním stavu, plánu, atd. nicméně často je to velmi komplexní řešení, jehož filozofii musíte přizpůsobit svůj Scrum proces, alespoň do jisté míry. Každý produkt má své pro a proti, těžko vybrat ideální.

Mantis - úvodní stránka

Jedním z možných řešení, které je zdarma, a je poněkud lepší než uchovávat backlog úloh a jejich status v Microsoft Excelu, je Mantis (bug tracking system). Originálně je to systém na trackování chyb, ale poměrně jednoduše jde použít na sledování statusu jednotlivých úloh, přiřazení úloh konkrétním lidem, plán. Mantis umožňuje posílat automatické notifikace emailem, nastavit různá práva, automaticky zobrazuje historii změn. Vzhledem k velmi dobrému filtrování si každý může přednastavit takové zobrazení, které vyhovuje jeho roli (vlastní úlohy, naplánované úlohy, backlog pro danou story, …).

Mantis - detail úlohy

Co je třeba udělat navíc. Pomocí Custom Fields si velice jednoduše přidáte nové položky – pro Scrum proces to bude Points (Body). V ideálním případě, bude-li se Vám chtít, jde pod seznam úloh přidat součet bodů, to už je ale nutné naprogramovat přímo ve zdrojovém kódu. Nic složitého. Nicméně i bez toho je funkcionalita dostatečná. Pro každý projekt dáte do seznamu kategorií (Categories) Sprinty. Mantis neobsahuje ve své originální podobě datum, tedy délku Sprintu si určujete sami. Asi by nebyl problém to doprogramovat, ale nám to vlastně nikdy moc nechybělo. Stavy jednotlivých úloh je zase ve zdrojáku velice snadno možné přejmenovat, aby více odpovídaly vašim zvyklostem. A můžete začít. Naplníte backlog úlohami, tým naplánuje Sprint, přiřadí úlohy jednotlivým lidem, a pak už jen každý den sledujete co se děje.

Mantis - celkový přehled úloh

Bohužel, verze Mantisu se hodně liší, takže výše popisované změny ve zdrojovém kódu nejsou jednoduše popsatelné tak, aby se daly rovnou použít. My máme skoro na každý projekt jinou verzi Mantisu a změny děláme projektu vždy znovu na míru. A není to nijak zvlášť časově náročná aktivita.

Co se týče spojení s Burndown grafem, každý konec sprintu se udělá rychlá synchronizace. Přepíšeme, kolik bodů se z které úlohy dokončilo, které úlohy vznikly, a graf je hotový. Je to jistá část manuální práce, ale zabere pár minut. Komplexní Scrum systém to udělá za vás, ale zase třeba nebude tak jednoduchý a obecný.

Burndown graf template

Jak na Burndown? Možností je několik. Můžete začít provozovat jeden z mnoha systémů na Scrum proces a Burndown graf se vám bude zobrazovat víceméně sám od sebe, v jedné z mnoha podob. Systémy jsou komplexní, většinou placené a ne vždy plně odpovídají Scrum procesu tak, jak by se vám hodil. Flexibilita je relativně nízká, obvykle se musíte přizpůsobit vy. Za ty nejznámější vybírám ScrumWorks, ScrumDesk, Rally, Version One. Detailně se jim budu věnovat příště.

Druhou možností je, že si napíšete vlastní Burndown v Microsoft Excelu.

Já osobně tuto možnost preferuji. Za prvé, je to transparentní, přesně víte, co zobrazujete a jak, máte to pod kontrolou. Přikládám pro inspiraci svůj XLS Burndown template. Nic složitého. První sheet obsahuje kopii produkt backlogu s vyhodnocením bodů přes jednotlivé sprinty. Druhý sheet obsahuje výpočty pro grafy. Každý sprint se do něj přenesou dvě hodnoty z sheetu Backlog – Points Remaining a Velocity (Actual Points Complete). Zbytek se počítá sám. Na začátek projektu ještě musíte naplánovat rychlost týmu a buffer do kolonek – Planned Velocity a Planned New Points (Buffer). Další dvě záložky už zobrazují grafy: Project Velocity Plan a Burndown.