Dubnová Agilia

Protože Agilii pořádáme už déle než rok, rozhodla jsem se, že se tentokrát pokusím změnit formát této akce a udělat jí zajímavější a jinou. Dubnová Agilia bude organizována formou ‘Lighting talks‘, tedy krátkých 10min příspěvků jednotlivých účastníků – včetně diskuze. Tématem může být cokoliv, agilní praktiky, zkušenosti, nové metody, doporučení,… . Je to jen na Vás.

Kdy: Středa 14. Dubna v 18:30 / Wednesday April 14th, 6:30pm
Místo: Al Cafetero, Blanická 24, Praha 2.

Program:
1. Michal Aichinger – Od Scrumishe pro maintanence ke Kanbanu/ From Scrumishe for maintanance to Kanban [Seznam]
2. Eduard Kunce – Koucink a agilni metody / Agile and Coaching [CA]
3. Lubos Racansky – Osm sprintů produktového vývoje / 8 Sprints of Product Development [AspectWorks]
4. Igor Kopriva – Od waterfallu ke Scrumu / From Waterfall to Scrum [CA]
5. Rudolf Kutina – Flexible IT in Agile world – Dynamic Data Centers

Přijďte se podívat a zapojte se do diskuze.

Agilní kultura

Jak jsem již psala minule, agile není proces, ale filozofie. A agile také znamená změnu. A to obzvláště pokud uvažujete o jeho zavedení v hierarchicky řízené procesní firmě.
Organizace a firemní kultura, do které se bude agile jen těžko prosazovat:

  • Na vše existuje striktně definovaný proces
  • Hierarchická struktura řízení
  • Předpis je důležitější než dohoda mezi lidmi
  • Individualismus místo spolupráce

Naopak hodnoty definované agilní firemní kulturou budou obsahovat:

  • Spolupráce
  • Důvěra
  • Samoorganizovaný tým (self-oragnized team)
  • Komunikace
  • Sdílení zkušeností a znalostí

Agilní kultura by se dala popsat ještě mnoha výrazy, ale tyhle patří k nejdůležitějším. Zavádíte-li agilní metody, měli byste v první řadě rozumět firemní kultuře a být si vědomi toho, že vhodné kultura změny podpoří, direktivní kultura naopak v podstatě znemožní jejich nasazení.
Co tedy musí být splněno, aby mělo smysl se do zavádění agilních metod pouštět?

  • Věřit v agilní firemní kulturu
  • Přijmout změnu a překonat odpor k ní
  • Věřit v potenciál a schopnosti lidí
  • Být ochoten přijmout riziko
  • Mít TOUHU zkusit agilní metody

Co je to agile?

Agilní metody vyžadují nejen aktivní zapojení jednotlivých členů týmu, ale i pochopení těch co agile zavádějí, že agile není jen soubor praktik ale celková filosofie. Jednotlivé praktiky se vzájemně podporují a jen jejich kombinací vznikne synergický efekt.

Jak vůbec poznáme, že náš proces je agilní? Nebo spíš jak poznáme, že není?

Používáte Agile?

Zákazník (co by nemělo nastat externě):

  • Se zákazníkem komunikuje jen vybraný člen týmu (obvykle project manager, account manager)
  • Zákazníkovi se prezentuje až hotový produkt
  • Smlouvou definované požadavky se nemění
  • Zákazník je nespokojený s výsledkem, či odmítne převzít výsledek

Tým (co by nemělo nastat interně):

  • Denní status meeting je ztráta času
  • Věříme, že homeoffice je efektivnější než práce v týmu
  • Každý člen týmu je zodpovědný za samostatný celek
  • Co jsme jednou naplánovali, to neměníme
  • Integrace pouze velkých celků
  • Psaní automatických testů je ztráta času
  • Architekt jen navrhuje, ale nekóduje
  • Testování je separátní aktivita
  • Nepřesné odhady
  • Direktivní přidělování úloh
  • Review je zbytečná formalita

Většina firem, co o agile ví, pravděpodobně některé metody zavedla, ale už se příliš nezabývala pochopením agile jako celku, která se vzájemně podporuje. Co se používá nejčastější? Pravděpodobně to bude Scrum (daily stand-up) meeting, který je jednoduchý na pochopení a za málo energie přináší snadno efekt – tedy komunikace a informovanost v rámci týmu se zlepší. Na druhé straně spektra jsou pravděpodobně odhady v bodech, které jsou relativně těžké na pochopení a proto je většina firem ani nezkusí zavést.

Čím bychom tedy měli začít, abychom byli opravdu agilní?

  1. Přečíst si agilní manifest
  2. Pochopit, že agile není proces, ale filozofie
  3. Jakou máme firemní kulturu a hodnoty?
  4. Akceptovat, že agile přinese jinou firemní kultury

Agile je změna, a jako jakákoliv jiná změna musí být v organizaci či její části dostatek energie a chuti změnu vysvětlit, prosadit a udržet.

Výsledky ankety – Jak začít pracovat Agilně (Agile Adoption Survey) 2009

Před casem jsem publikovala anketu Agile Adoption Survey 2009, a nastal čas pro vyhodnocení. Anketa byla součástí mé disertační práce, takže vyhodnocení je tentokrát v angličtině.

Výsledky jsou publikovány včetně detailní sumarizace doporučení a zkušeností jednotlivých respondentů, takže doufám, že budou pro Vás užitečné.

Podrobnosti se dočtete tady.

Používáte Test Driven Development (TDD)?

Jedním z předběžných výsledků ankety (Dotazník Jak začít pracovat Agilně (Agile Adoption Survey) 2009) který je vidět již v průběhu je, že většina lidí považuje Test Driven development (TDD) za příliš složitý na nasazení, jen čtvrtina lidí ho opravdu používá, ale skoro polovina si myslí, že je to užitečná agilní metoda. Proč tomu tak je?

Zkuste si představit třeba automobil, který by někdo vyráběl stejně, jako je píše software. Prostě by se navrhnul, poskládal dohromady, a někdo s dělníků by na půl oka zkouknul, že to vypadá jako automobil. V lepším případě by motor vypadl až někde cestou, dveře by nešly zevnitř otevřít a nádrž na benzín by byla shodou náhod hermeticky uzavřená. O bezpečnosti jízdy ani nemluvě.

Než takový automobil pustíte na silnici…
picture1

nejdříve připravíte testy, třeba tento:
připravit testy

pak testy spustíte…
sputit testy

a teprve když jsou všechny v pořádku, dáte auto zákazníkovi…
hotový výrobek

Takže proč když to můžeme dělat při výrobě automobilu, neděláme to při výrobě software? Myslím, že je to jen zvyk. U softwaru totiž většinou nic moc nehrozí. To že programy nefungují, už jsme si přeci zvykli.

Ale i tak, Test Driven Development (TDD) rozhodně stojí za zamyšlení. Odhlédneme-li od spokojenosti zákazníka, je tu i spousta interních aspektů. Např. máte-li kód plně automaticky testován, snižujete riziko refactoringu a případné chyby, které způsobíte v jiných částech aplikace, najdete hned a sami. A na tom že každý systém jednou potřebuje třeba jen drobný refactoring se asi shodneme. Myslím, že investice do testů na začátku se Vám vrátí velmi brzy.

Proč to tedy nezkusit… Mimochodem, víte, jak se pozná, že už jste opravdu v Test Driven Developmet světě? Než upravíte nějakou funkcionalitu, nejdříve ‘rozbijete‘ test (tedy upravíte ho podle nových požadavků, a spustíte) a teprve až test neprojde, opravíte funkcionalitu tak, aby všechny testy byly v pořádku. Je to jiné, zdá se to být zvláštní, ale funguje to.

Open space diskuze na WebExpu: Vše, co jste kdy chtěli vědět o agilních metodách…

Ráda bych Vás pozvala na WebExpo 2009, kde pořádáme s Agilním konsorciem open space diskuzi:

Vše, co jste kdy chtěli vědět o agilních metodách*

Přijďte se něco dozvědět o agilních metodách, popovídat si, zapojit se do diskuze.
A máte-li již teď nějaké otázky, stačí je přidat jako komentář pod článek. Rádi odpovíme.

Diskuze se bude konat v sobotu 17. října 2009 od 14:15 v prostorách konání konference WebExpo (viz letáčky na místě). A povídat si s vámi budu já, tedy Zuzi Šochová (CERTICON), Petr Olmer (GoodData) a Andrej Zachar (SimpleWay).

___
* ale báli jste se zeptat

Extreme Scrum přednáška na Agileee

První ročník konference Agile Eastern Europe 2009 v Kievě je za námi. Agileee měla dobrou atmosféru a spoustu velmi zajímavých lidí. Mám-li vybrat top 2 přednášející, určitě by to byli J.B.Rainsberger se svojí přednáškou “An Introduction to Agile Through the Theory of Constraints” a David Hussman s přednáškou “Agile Journeys: How Did We Get Here and Where are We Going?”. Budete-li mít někde možnost si je poslechnout, určitě to stojí za to.

Moje přednáška je ke shlédnutí níže. Pojednává o speciální case study kdy byl použit Scrum v extrámním prostředí kde se projekty počítají na hodiny. Řešením specifické situace bylo nasazení Scrum metody a půldenního sprintu. Výsledky byly velmi pozitivní.

Část case study byla také publikována na konferenci SoMeT, 8th International Conference on Software Methodologies, Tools and Techniques.

Konference Agile Eastern Europe

Rada bych Vás pozvala na Konferenci Agile Eastern Europe. Konference vytváří otevřenou platformu pro výměnu zkušeností s Agilními metodami nejen v rámci východní Evropy. Mezi pozvanými speakery jsou specialisté z celého světa, na bližší informace se podívejte na stránky Agileee.org.
Agileee Speaker

KDE:
Kyiv (Kiev), Ukrajina

KDY:
18-19 Září 2009 (Pá-So)

Rádi Vám pomůžeme s organizací a cestou na konferenci.

  • Možnost skupinové slevy (od 10 lidí);
  • Letenky, doprava z letiště, rezervace ubytování

Kontakt: kontakt.

Aginli konsorcium Agile Eastern Europe

Agile Eastern Europe Conference

WHERE:
Kyiv (Kiev), Ukraine

WHEN:
18-19 Sep 2009 (Fri-Sat)

The conference mission is to setup a collaborative environment for professionals in the Software Development domain to share their experience on applying Agile practices and techniques that foster efficiency.

The conference is to bring together specialists from the Eastern European countries who are interested to learn from each other’s experience in adopting Agile since we have a lot in common due to our economical and geopolitical situation.

The conference welcomes guests (attendees and speakers) from all around the World since we would like to demonstrate our hospitality in exchange to the experience that the Western countries have obtained over the last decade in the field of Agile Software Development.

Agilia – neformální setkání příznivců agilních metod

Agilia je neformální setkání příznivců agilních metod které pořádáme pod hlavočkou Agilního konsorcia každou druhou středu v měsíci. Potkáte různé lidi kteří se zajímají o nejrůznější agilní metody. Lidi z různých firem, různých prostředí.
Agilia se obvykle koná v nekuřácké kavárně Al Cafetero. Přijďte a vezměte s sebou i své kolegy a kamarády!

Program:
18:30 – 19:00 seznamování se
19:00 – 19:10 krátká prezentace na předem zveřejněné téma
19:10 – 21:30 diskuse a volná zábava

Date: každá druhá středa v měsíci
Time: 6:30pm – 9:30pm
Location: Al Cafetero
Street: Blanická 24
City/Town: Praha, Czech Republic

Více informací a detailní program najdete na stránkách Agilního konsorcia či LinkedIn.

Přijďte se podívat a podělte se s námi o Vaše zkušenosti.

Zavádíme Agilní metody agilně

Jistě jste si už mnohokrát zkusili zavádět v praxi nějaké novinky. Obvyklý postup je začít prezentací, ukázat o čem nový způsob práce je, co jsou jeho výhody, jaká jsou očekávání. Začnete-li takto ‘po staru‘ prezentovat Agilní metody, pravděpodobně se dočkáte spousty připomínek, že metody jsou moc americké, ve vašem případě z nejrůznějších důvodů nevhodné, přinesou spousty overheadu a sníží efektivitu. Proto se mě osvědčilo zavádět Agilní metody ‘agilně‘, tedy po částech a takříkajíc plíživě.

Základ je nikomu v týmu neříkat, že od teď nastane změna a bude se pracovat jinak. Lidé obecně změnu nemají rádi. Naopak. Vše je při starém, jen zavedeme každý den krátký meeting. Začneme neformálně, nějakou historkou, statusem projektu (stejně si všichni stěžují, že chtějí vědět co se děje) a postupně se začneme ptát jednotlivých lidí na to, co dělali včera a budou dělat dnes… zní to povědomě? Asi ano. A máme Scrum či Stand-up meeting tak jak má být. Tým si pozvolna zvykne, a ani mu to nepřijde. Vcelku snadný začátek.

K tomu aby se opravdu začalo plánovat v bodech sice nějaké vysvětlování potřebujete, ale když už umíte pěkně Scrum meetingy, znáte status jednotlivých úloh a i to jak vám jdou od ruky, máte pro to informace, co potřebujete. Mě se osvědčilo koncept seznamu úloh (nemusíte mu hned říkat backlog) vysvětlit, vysvětlit že ohodnocení odpovídá náročnosti a že ho budeme dělat v bodech. Pak už stačí nechat odhadovat úlohy jednotlivé členy týmu, klidně v hodinách, ale toto ohodnocení hned převádět na body. Složitější celky odhadnete sami. Po čase, kdy budete body vysvětlovat na konkrétních úlohách lidé koncept vstřebají a budou ho umět sami používat.

Dalším krokem je vytvořit plán na nějaké iterace (sprinty), ze začátku ho uděláte vy, později jeho vytváření delegujete na tým. A rovnou jim můžete dát burndown na nástěnku. Když budete mít týmů víc a podpoříte soutěživost, o pozornost máte postaráno. Někde během tohoto procesu zavedete prezentace zákazníkovi (customer demo) a začnete se ho ptát na zpětnou vazbu a priority. A to už máme v podstatě celý Scrum proces, aniž by o tom někdo věděl. A když už vám to tak pěkně funguje, můžete metody pojmenovat a dopilovat jejich formu.

Hledáte-li rady jak začít s Agilními metodami, většinou začínají komplexní teorií, kterou stejně tým bez vyzkoušení nepochopí a hlavně všemi metodami najednou (neboť jinak by to přeci nebylo dost agilní, to by nebyl ten pravý Scrum proces). Výše zmíněný postup je jen alternativou, která vám umožní dělat změnu procesu, aniž by to bylo vnímáno jako změna procesu. Jsou to jen takové drobné novinky, takové malé vrtochy našeho projekt managera, to přejde, chvíli budeme chodit na meetingy a on se třeba unaví…