Agilní Architektura

Poslední dobou dostávám hodně otázek na to, jak má fungovat architektura v Agilních týmech. Čistý Scrum roli architekta nemá. Mluví o samoorganizujících se zastupitelných týmech. Když to škálujeme dál, tak se mluví o Scrum of Scrums. Ale architekti nikde. To ale neznamená, že nejsou potřeba.

Jak to tedy vypadá v jednoduchém případě jeden Product Owner, jeden produkt, jeden Scrum tým. Tam je architekt součástí týmu. Je to zkušený vývojář, který se dívá dopředu na celý produkt a pomáhá týmu zvolit takové řešení, které vyhovuje celkové vizi produktu. A protože Scrum má pravidlo, že tým pomáhá Product Ownerovi, pak takový architekt spolupracuje s Product Ownerem na tvorbě Backlogu. Pomáhá mu odstraňovat rizika, dodefinovává akceptační kriteria.

Když to škálujeme na větší produkty, kde je více týmů, pak obvykle máme dva typy architektů. Jednoho – ‘velkého‘ – který je na úrovni celého produktu a stanovuje pro týmy takzvanou runway, v rámci které by se měli držet. Takový architekt je součástí týmu Product Ownera a dívá se spolu s ním klidně i několik let dopředu. Zároveň v každém týmu je takový ‘menší‘ architekt, který týmu pomáhá porozumět dané architektonické runway a dělat v rámci ní každodenní drobná rozhodnutí. Všichni tito architekti jsou samozřejmě v častém kontaktu a společně definují architekturu produktu. Jedna z dobrých best practices je, že na takovýchto velkých projektech dělají týmy nejen review mezi sebou, ale věci zrevidované v rámci týmu posílají na takzvané architecture review ‘velkému‘ architektovi. Ten samozřejmě neprochází v detailu všechny změny, ale dává pozor, aby změny byly konzistentní a odpovídaly dané architektonické runway.

No a jestli chcete o Agilní architektuře vědět víc, přihlaste se na workshop “Architecture with Agility“ který vede Kevlin Henney před konferencí Agile Prague 2014, v pátek 12. září. Nebo na konferenci samotnou 15.-16. září, kde jedna z keynote, kterou přednese Peter Eeles, je na téma “Architecture, Agile and DevOps“.

A co o workshopu píše Kevlin?

  • I will be covering the following topics during the day:
  • Defining software architecture as a service to the business
  • The relationship between development process and software architecture
  • The relationship between architecture and development teams and practices
  • The importance of code habitability
  • Empirical processes and architectural decisions as hypotheses
  • The Worse Is Better approach versus the up-front approach to architecture
  • Dealing with uncertainty and change, and using uncertainty and change to define the architecture
  • Architectural properties and requirements
  • Different architectural styles and patterns and their trade-offs
  • Identifying and managing technical debt
  • Refactoring, rewriting and re-engineering
  • Decoupling and dependency management

Jsou odhady zbytečné? #NoEstimates

Poslední dobou začíná být hodně populární neodhadovat User Stories. Proč? No když je umíte dobře definovat, stačí spočítat počet User Stories za Sprint a máte velocity. Bez dlouhých diskusí o bodech. Umožňuje vám to jak plánovat reálné množství práce, tak předvídatelnost v rámci produktu. Ono na tom něco je, když totiž umíte dobře definovat User Stories, tak to opravdu stačí. Ale… Co když neumíte, a teprve začínáte se Scrumem, nebo Agilem experimentovat? Jste zvyklí na mandays a hodiny, místo User Stories máte klasické requirementy? Pak je tato praktika téměř nereálná. Relativní jednotky – body – vám totiž pomáhají se spoustou věcí. A to číslo je překvapivě jen vedlejším produktem. Není samo o sobě důležité. Takže proč odhadujeme v bodech? Pomáhá nám to soustředit se na hodnotu pro zákazníka a ne na technické komponenty. Pomáhá nám to zvolit takové řešení, abychom co nejsnadněji dosáhli business cíle. Pomáhá nám to učit se komunikovat napříč departmenty (development, testing, business), a všechna ta diskuse, kterou okolo funkcionalit vedeme, z nás dělá dobrý tým. Učíme se dobře definovat funkcionality tak, aby tomu tým rozuměl. Diskuse okolo ohodnocení nám také pomáhají prioritizovat jednotlivé funkcionality. Ze začátku jsou nekonečně dlouhé. Tak byste radši vzali zkratku a než se naučíte chodit, jezdit na kole, lyžích, bruslích byste raději začali rovnou řídit auto nebo pilotovat letadlo. Teoreticky to možné je, ale v praxi takové zkratky moc nefungují. Takže jestli už nejen děláte Agile, ale jste opravdu Agilní, rozumíte Agilnímu mindsetu, máte pravý samoorganizující Scrum tým, tak je možná na čase to zkusit.

Jestli chcete vědět víc, ráda vás pozvu na konferenci Agile Prague 2014, 15.-16. září, kde o tom bude mluvit Vasco Duarte ve své přednášce “How to improve software project estimates – The #NoEstimates view“.

Podcast – Agile vs. Scrum

Poslední ze série agilních podcastů, které jsme spolu s Etneterou natočili, je na téma jak se Agile a Scrum. V Agilních metodách a Scrumu jde primárně o pochopení jiného mindsetu, změnu hodnot, přístupu. Nejde o to používat agile a řídit se Scrumem, ale být agilní a žít podle hodnot Scrumu.

A jestli se vám videa líbily, nemusíte být smutní, že tato série Agilních rozhovorů končí. Po delší pauze jsme se rozhodli s Etneterou natočit druhou sérii Agilních rozhovorů, tentokrát více profi. Tak uvidíme, jak se to podaří zlepšit.

Jaké to je když vám vyjde kniha

První pocit? Překvapení. Přijde tlustý balíček se třemi autorskými výtisky. Jen tak, z ničeho nic. Jeeeee už je to tady! Ta je pěkná 🙂 a pak se vám začne honit hlavou, jak to celé bylo. Já v podstatě knihu psala v nejrůznějších koutech světa. Doma prostě nebyl čas se zastavit a přemýšlet. Proto tak ráda cestuju. Je to osvěžující. Kde to celé začalo? Já myslím, že v Indii. Seděli jsme u bazénu při konferenci a říkali si, že by bylo fajn napsat knihu. A vymysleli osnovu. A pak osnova pak dlouho ležela u ledu… A pak jsme začali pomalu psát. Kousek po kousku. Ale jak říkám doma mi to moc nešlo. Psát knihu je děsně práce. Trvá to nekonečně dlouho. Pořád to není hotové.

A tak jsem se rozhodla s tím pohnout a první rozumně velký kus jsem napsala v Indonésii. Bangka Island. Každý den po odpoledním ponoru, až do večeře. Jsou tam úžasné soft korály. Jedny z nejhezčích na světě. To je stejně můj sen, pracovat někde pod palmičkou. Pak bylo po dovolené. Pak další části vznikaly v letadlech a při čekání na letištích do Kalifornie – v San Fransicsu je úžasně, taky je tam moře. Pak cestou do Kieva, Rigy, Barcelony, Talinu, Kodaně, Krakova, Moskvy, New Yorku, v Las Vegas – nic jsem v casinech nevyhrála. Škoda, pár miliónů by se mi ke splnění snu sedět pod palmičku hodilo.

Další velký kus jsem napsala na Filipínách. Zase potápění. Odpolední dvě hodinky po ponorech na Moalboalu, pak v thajské restauraci na pláži v Boholu a finální části v Coronu, kde mají Japonské vraky plné podmořského života. Nádhera. Ale pořád to tak nějak nebylo hotové. Už mi to začínalo vadit, nemám ráda dlouho nekonečnou práci… a tak jsem poslední kusy dopsala ve Vietnamu v Saigonu nebo Ho Chi Minh City chcete-li. Hodina taxíkem do práce, hodina zpět do hotelu. Tam jsem ve finále četla i celou knihu ještě jednou v rámci finálního review. To si teprve uvědomíte, kolik jste toho napsali. To už bylo povzbudivé. Skoro hotovo. A jsem moc ráda, že jsem na knihu nebyla sama. Vždycky je daleko větší zábava s někým spolupracovat.

A pak nastal ten největší problém, kde sehnat vydavatele. Nakonec to šlo celkem snadno. A tak děkujeme nakladatelství Computer Press za vydání naší knihy “Agilní metody řízení projektů“ a doufáme, že se vám bude líbit. Co se dočtete?

„Snažili jsme se čtivou formou popsat všechna možná zákoutí a nástrahy, které vás při přechodu na Agilní metody mohou potkat. Kniha nepopisuje jen teorii, co to Agilní metody jsou, jak funguje Scrum Proces a Kanban, a jak by jednotlivé artefakty těchto procesů měly správně vypadat, ale primárně se snaží vysvětlit filozofii Agilního přístupu a zaměřit se na vysvětlení, proč jednotlivé metody fungují. Součástí textu jsou praktické příklady a doporučení co dělat a čeho se naopak vyvarovat.

Kniha se zabývá Agilními metodikami vývoje software v různých typech společností, od malých firem až po nadnárodní korporace. V první části knihy jsou popsány základní stavební prvky Agilního vývoje, od vlastní definice procesu až po ukázky z praxe. Čtenář se dozví všechny potřebné informace k adopci Agilních metodik, kulturní odlišnosti Agilních firem a další základní stavební kameny nutné pro úspěšnou adopci Agilních principů. Kniha dále obsahuje podrobný popis rolí, které se typicky vyskytují v Agilně řízených firmách. Vedle těchto popisů obsahuje kniha i “kuchařky”, resp. doporučené postupy adopce agilního řízení pro různé velikosti a typy firem.“

Dejte nám prosím vědět, jak se vám kniha líbila, co vás zaujalo, nebo co byste viděli příště raději jinak. Hezké čtení. Naší knihu Agilní metody řízení projektů můžete získat zde.

Certifikace je mrtvá, nechte se certifikovat

A nebo taky ne. Hned v úvodu zopakuji svůj názor, že certifikace jsou jen drahý cár papíru. V případě Agilních certifikací hodně drahý. Většina certifikací nezaručuje, že rozumíte Agilu ani Scrumu. A ke stejně dobrým kurzům se dostanete i za nižší cenu, bez certifikace. Ale ač to všichni vědí, stejně i tak je certifikace v mnoha firmách ceněná a vyžadovaná. Tak si pojďme udělat přehled Agilních certifikací.

Klasikou je Scrum Alliance a její CSM – Certified Scrum Master a CSPO – Certified Product Owner. Jsou to certifikace zaměřené na Scrum proces, zakončené velmi jednoduchým online testem. Ideálně byste měli mít se Scrum procesem již nějaké zkušenosti, jen tak si z kurzu odnesete hodně. Začátečník si odnese jen ten papír a to je dost škoda. Trváte-li tedy na certifikaci, chcete aplikovat čistý Scrum jako Scrum Master nebo Product Owner, je to asi ta pravá volba pro vás.

Další z certifikací, které jsou dnes na trhu k dispozici je certifikace ICAgile. Je to certifikace zaměřená nejen na Scrum proces, ale primárně na pochopení Agilního mindsetu. V Čechách je dostupná od začátku letošního roku, v zahraničí je ale hodně známá a oblíbená. V rámci kurzu se probírají různé Agilní přístupy a praktiky. ICAgile Certified Professional je kurz zaměřený prakticky, tak aby účastníci získané zkušenosti mohli hned aplikovat v kontextu své firmy. Je také cenově dostupnější. ICAgile dále nabízí další kurzy pro pokročilé na základě této certifikace. Když už nějakou certifikaci chcete, doporučuji certifikaci právě od ICAgile.

No a pro úplnost ještě je tu hodně formální a z mého pohledu až “neagilní“ Scrum.org a ještě tradičnější PMI. Jestli nějaké certifikace nedoporučuji, tak to jsou právě tyto. Ale je to samozřejmě věc názoru.

Takže ještě jednou, zapomeňte na certifikace, o nic agilnější s nimi nebudete. Ale když už nějaký ten certifikát získáte, snažte se vybrat takový kurz, který vám přinese co nejvíce. Nemá smysl certifikací začínat. Certifikaci si nechte až jako třešničku na dortu, jako ocenění vaší dobré práce v Agilním nebo Scrum týmu.

Výsledky Agilního dotazníku

Přibližně před půl rokem jsme vás spolu s Etneterou prosili o vyplnění Agilní ankety. Výsledky pak byly prezentovány v rámci konference Agile Prague 2013. A tady je slíbený report.

Co se ve zkratce dozvíte? Že dotazník vyplňovali převážně firmy které agilní metody používají.

Snížení nákladů kupodivu považuje za nejdůležitější jen 13% respondentů. A vyšší efektivita, kterou slýchám velmi často se do první desítky ani neprobojovala. Asi je to dané tím kdo odpovídal.
Duvody pro zavedeni agilnich metod

A kde jsou Agilní metody lepší? V rychlosti dokončení, kvalitě a spokojenosti klienta.
Srovnani agilnich metod a klasickymi

Chcete se na výsledky podívat detailněji? Více se dozvíte na stránkách Etnetery která za celým výzkumem stojí: Výsledky Agilního dotazníku.

Jak vybrat Scrum Mastera aneb proč i zkušení Scrum Masteři selhávají v Agilní transformaci

Role Scrum Mastera není zdaleka snadná, a ne nadarmo se považuje za klíčovou k úspěchu týmu a nasazení Scrum procesu. Scrum Masterem je typově někdo jiný než se hodí na běžnou roli team leadera (který často vše určuje za tým), nebo experta (který se neptá, ale za tým rovnou odpovídá, protože jako expert zná vždy tu správnou odpověď), nebo projektového managera (který často mikromanaguje, vše řídí sám a to včetně organizace týmu, priorit a celé dodávky). Scrum Master není zodpovědný za dodání, ale za to, že tým funguje jako samoorganizovaný tým, že tým přebírá zodpovědnost za svůj vnitřní proces, že se zlepšuje, je motivovaný, prostě v dlouhodobém pohledu funguje optimálně. Krátkodobě klidně nechá tým v rámci Sprintu nedodat nic, ale nenechá takovou situaci vyrůst v běžný zvyk a obvyklý stav. Když máte plně Agilní firmu a zaběhnutý, zkušený tým, je to relativně snadné. Stačí najít Scrum Mastera, který rozumí Scrum procesu a podstatě své role, je vnímavý, empatický, umí naslouchat a dá týmu prostor, aby se sám rozhodoval a nesl v rámci procesu za svá rozhodnutí zodpovědnost. Koučuje, facilituje, staví tým. A tým funguje.

Problém nastává, když ale Scrum Mastera zvyklého takhle pracovat dáte do týmu, který ani neví, co je Scrum, proč jednotlivé praktiky aplikují a co by jim měly přinést. A takový Scrum Master si nevzpomene na své začátky, a jen pomocí coachingu a facilitace vykonává roli Scrum Mastera v ideálním týmu tak, jak byl zvyklý. To samozřejmě nestačí. Scrum Master musí být i mentorem a týmu Scrum proces vysvětlit, prodat. Ne přikázat, ale poradit. A postupně je učit Agilu jako mindsetu, Scrumu jako procesu, kde jde primárně o zodpovědnost, samoorganizaci. Čistý koučing a facilitace nestačí. Tým prostě neví co a jak. Nemá zkušenosti. Nikdy nic podobného nezažil.

Další častou chybou Scrum Mastera v začínajícím týmu (a takový tým může začínat i dva roky) je pocit, že tým musí ‘rychle začít fungovat a že vysvětlování ‘proč‘ by vše jen zdržovalo. Prostě jim řekne, jaké mají dělat meetingy a co na nich říkat, a žádným školením ani vysvětlováním proč to všechno se nebude zdržovat. Vždyť je to jasné. Výsledkem je v lepší případě technický Scrum. Bez pochopení, bez energie, bez výsledku. Takové loutkové divadlo. Kdo je za takový stav odpovědný? No zcela jistě nezkušený Scrum Master, který neupravil svůj styl týmu. Problém je, že na interview to často nepoznáte. Scrum Master ví, jaká je jeho role, co má dělat, ví proč a jak Scrum funguje, jen nepovažuje za nutné to týmu vysvětlit. Vždyť už agilní jsou, říkali to.

Dalším problémem, který je ve firmách častý, je Scrum Master idealista. Stejně jako v předchozích případech, na pohovoru vše vypadá dobře, ba ideálně. Scrum Master je pravým odborníkem na Scrum. Ví jak funguje, rozumí své roli, a v jednom dobře fungujícím týmu úspěšně Scrum Masteroval. Jen se často zapomene na to, že on ten Scrum neimplementoval a často ani nezažil v rámci větší organizace, a tedy se s mnoha problémy běžnými při transformaci velké organizace nikdy nesetkal. Stačilo rozumět Scrum procesu a mít nadšení. Ve velké organizaci ale nejde implementovat všechno hned a ideálně. Musíte dělat kompromisy. Zbytku organizace často trvá hodně dlouho, než Agilní proces vezme na vědomí a ještě déle, než ho akceptuje a pochopí. Předchází tomu hodně komunikace, diplomatického vyjednávání a PR. Ale Scrum Master idealista na nic nečeká a Scrum tlačí silou hlava nehlava. Product Owner musí, manager nesmí, tým neřekne, protože to není jeho zodpovědnost, proces se musí změnit, pozice upravit, ohodnocování změnit, … Výsledek je jak po procházce slona v porcelánu. Víc škody než užitku. A to nejen mimo tým ve zbytku organizace, ale i v rámci týmu, který takového Scrum Mastera často odmítne stejně jako v předchozích případech. Co z toho plyne? Transformaci velké organizace nemůžete nechat na lidech, co nikdy žádnou takovou organizaci neměnili a s podobnou transformací nemají zkušenosti. A to bez ohledu na to, jak dobrými se zdají být Scrum Mastery. Zdá se to být jasné, ale firmy si často roli Agilních coachů se Scrum Mastery pletou a pak jsou překvapení, že Scrum Master se neosvědčil.