Co mi přineslo WebExpo 2010 – část 1

WebExpo 2010 mělo letos oproti minulým ročníkům sekci zaměřenou na agilní metody. Když bych měla hodnotit úspěch agilní sekce, kterou jsem po programové stránce celou organizovala, myslím, že splnila má očekávání. Úroveň přednášejících byla dobrá, přednášky zajímavé a témata různorodá. Lidí přišlo hodně, něco mezi 60-100 účastníky. Tedy se zdá, že agilní metody zajímají hodně firem. Nemá smysl opakovat, co bylo na WebExpu řečeno, ale ráda bych se podělila o pár zajímavých myšlenek, které přednášky přinesly mě osobně.

Panel Discussion at WebExpo 2010 - Andrea, Lubos, Paul, Alex, Maria, Pierluigi (from the right)

Davis Hussaman mi mluvil z duše, když říkal, že Scrum není dogma. Není to žádné náboženství, které byste měli slepě následovat bez toho, aniž byste pochopili smysl Vašeho počínání. Lidé ve spoustě firem “chtějí Scrum“ ale málo z nich přemýšlí, proč ho vlastě chtějí a co je jejich cílem. A to nemluvíme ani o tom, že cíl se často někam posouvá a mění a možná právě proto jsou iterativní metody úspěšnější než ty klasické, kde všichni očekávají, že to co si jednou rozmyslíte tak bude navěky věků.

Další zajímavou myšlenkou bylo, že co neznáte, Vás bolí nejvíce. A jsme zase zpět u toho proč je vlastně Scrum iterativní. Abychom se pravidelně zastavili, udělali reflexi, něco se naučili, něco změnili, zrevidovali, jestli je cíl ještě stále tam kde si myslíme, a co se nám to vlastně děje. Protože víte-li že nestihnete projekt dodat včas již v polovině projektu, máte pořád ještě spoustu možností to napravit (přidat resourcy, omezit funkcionalitu, vyjednávat, … ). Ale zjistíte-li to až těsně před odevzdáním, máte jen velmi omezené možnosti s tím cokoli udělat.

Víte co je nejčastější metodologie řízení projektů? ‘Hope methodology‘. Všichni do jednoho nakonec jen doufají, že projekt bude úspěšný a že to nějak stihnou.

A nečekejte, že někde najdete best practices jak zavádět agilní metody. Best practices fungují na jednoduché situace jako je pečení dortu. Ale proces zavádění agilních metod je komplexní a komplikovaný. Jediné co Vám pomůže je mít vizi a jasný cíl a tuto vizi sdílet s celým týmem či firmou. Ale taková vize většině firem chybí a možná přesahuje rámec jejich myšlení. A tak se raději zaměřují na jednotlivé praktiky. Je to jako již zmíněné náboženství, kde se vize vytratila…

Ostatně když nevíte, kam směřujete, je snadné minout cíl i kdyby Váš iterativní proces byl sebelepší.

Ještě jedna větu jsem si poznamenala: Lidé nechtějí špatné produkty včas. Tedy jestli si říkáte, že dodržíte termín za každou cenu, a že to zákazník ocení, nemusí to tak být. Zákazník bude většinou radši, když dostane to, co potřebuje, i kdyby to mělo být o pár dní později. Zvláště když tuto skutečnost ví s předstihem.

Pozvánka na WebExpo 2010

Ráda bych Vám doporučila Agilní sekci na letošním WebExpu, kterou po programové stránce organizuji. Jedná se o v českých podmínkách unikátní akci, kterou by si neměl nechat ujít nikdo, kdo se o agilní metody zajímá.

Konference WebExpo 2010 v září

Třetí ročník konference WebExpo přináší novou sekci zaměřenou na agilní metody. V posledních několika letech výhody agilního přístupu oceňuje čím dál více firem a začínají být často používané i v českých společnostech. Agilní metody se zaměřují na týmovou spolupráci, zavádí efektivní procesy a posilují kvalitu produktu. Agilní sekce WebExpa je vyjímečnou příležitostí dozvědět se více o agilních metodách a vytváří unikátní platformu pro sdílení zkušeností z firem, které agilní metody úspěšně používají, s agilními metodami začínají, či o agilních procesech teprve uvažují.

Během dvou dnů přednášek promluví deset zahraničních odborníků z praxe, přednášky budou zaměřeny jak pro začátečníky tak i pro pokročilé, budou zaměřené na konkrétní agilní praktiky používané vývojáři, testery a teamleadery, ale zhodnotí i význam agilních metod pro managery firem. Program doplňují i dvě panelové diskuze, které jsou výbornou příležitostí konfrontovat vaše zkušenosti s odborníky z českých i zahraničních společností.

Čtvrtek je tradičně vyhražen praktickým půldenním workshopům, kde si můžete vyzkoušet Theory of Constraints spolu s Pierluigi Pugliese, který tento workshop povede. Pierluigi začínal jako programátor v telco sektoru, postupně přešel do role teamleadera a dnes se primárně věnuje konzultacím v různých firmách, kde pomáhá se zaváděním agilních metod. Pierluigi je původem z Itálie a dnes žije v Německu. Kromě již zmíněného workshopu bude mít i přednášku na téma Soft Skill Essentials for Software Craftsmen.

Dalším z pozvaných speakerů je charismatický David Hussman z Minnaepolis, USA, který agilní sekci konference v pátek zahajuje. David je jeden z nejlepších odborníků na agilní metody, organizuje lokální agilní komunitu v USA, pomáhá různým firmám v nasazování efektivních agilních procesů. S důrazem na pochopení aktuální situace daného projektu se vyhýbá obecným a universálním řešením, která jsou často doporučována. David pracuje v těsné spolupráci se softwarovými týmy, vývojáři, teatery i teamleadery. Jeho přednáška Products and People over Process and Dogma je ideálním tématem k zamyšlení nad smyslem agilních metod. Jak David říká v úvodu přednášky – čím dál tím více lidí tráví čas diskuzemi o tom, co to znamená agilní, místo toho aby jednoduše začaly agilní praktiky používat.

Další z přednášek je o tom, jak správně dělat retrospektivu. Jestli se rozhodnete s agilními metodami v praxi začít, retrospektiva by měla být první metodou, kterou do svého týmu zavedete. O problémech retrospektivy bude mluvit belgičan Yves Hanoulle, který je zkušeným agile coachem a jeho přednáška How to make your retrospectives the heart of your agile proces by Vám rozhodně neměla uniknout.

Mezi dalšími pozvanými odborníky je v německu žijící Boris Gloger, kerý kromě plánovaného workshopu bude mluvit v přednášce Scrum for Executives – Six Secrets for Success with Scrum o tom, jak používat Scrum v různých prostředích. Ital Andrea Provaglio se ve své přednášce Beyond Agile podělí o zkušenosti se zaváděním Scrumu. Nenechte si ujít ukázku, jak prodávat agile, kterou bude prezentovat Američan žijící v Polsku Paul Klipp ve své přednášce Selling Agile. O své zkušenosti z praxe se s vámi podělí i Maria Diaconu a Alex Bolboaca z Rumunska v přednášce Software Development = Learning.

Z českých speakerů představí Tomáš Pergler praktickou studii z firmy Seznam.cz, kde se podělí o zkušenosti Seznamu se Scrumem – A Year with Scrum in Seznam.cz. Dalším z českých speakerů je Luboš Král, který se v přednášce Agile acceptance and implementation by East and Western mindsets zaměří na otázky spojené s nasazováním agilních metod v multikulturním prostředí, jak převzaté techniky fungují v české kultuře, co se osvědčilo a co je naopak nutné změnit. Na ukázkách z praxe poukáže na hlavní rozdíly mezi agilními přístupy a klasickými metodami.

Konferenci doplňují dvě panelové diskuze, kde první je zaměřená na Agile z pohledu managementu. Podíváme-li se na největší překážky v zavádění agilních metod, nepochopení managementu bude jednou z nejčastějších příčin jejich neúspěšného nasazení. Pojďme se tedy společně s managery předních českých firem podívat na agilní metody z pohledu jejich managemetu. Diskutovat budou Zuzana Šochová (Managing Director, Lotofidea), Vlastimil Pečínka (R&D Director, Seznam.cz), Jan Bezdíček (Director, Rockwell Automation), Pavel Šuk (Vice President, Kerio Technologies), Martin Rýzl (Software Engineering Manager, Sun Microsystems).

Budete-li mít i po všech vyslechnutých přednáškách nějaké dotazy, panelová diskuze Everything you’ve ever wanted to know about agile methods je ideálním místem pro jejich zodpovězení. Všichni přednášející agilní sekce Vám budou plně k dispozici. Takže přijďte a zeptejte se na vše, co jste kdy chtěli vědět o agilních metodách.

Konference WebExpo se koná již tradičně na půdě ČZU v Praze, tentokrát již 23-25.9. Více informací se dočtete na každý den aktualizovaných stránkách WebExpa.

Scrum hra

Plánujete školení Scrum metody a přemýšlíte, jak nejlépe zajistit aby si účastníci co nejvíce zapamatovali? Kolikrát jste se vrátili z kurzu a školení, nadšeni jaké to bylo zajímavé, a už po několika dnech jste vlastně nevěděli, o čem to bylo. Říká se, že lidé se nejvíce učí z vlastní zkušenosti a prožitku. Testy na toto téma uvádějí, že si člověk zapamatuje jen přibližně 20 % z toho, co slyší, a pouhých 30 % z toho co si přečte nebo je mu názorně ukazováno. Ale již 50 % informací si zapamatuje, pokud má možnost nabízené informace vidět i slyšet. Kolem 70 % informací si pak člověk zapamatuje, když má možnost něco vidět, poslouchat a následně o tom navíc hovořit. Pokud k těmto třem činnostem přiřadíme ještě možnost aktivního vykonání, získáváme až 90 % šanci si dané informace zapamatovat [Soňa Hermochová, Teambuilding; Grada, 2006]. Tedy chcete-li naučit někoho Scrum, musíte mu vysvětlit jak na to, ale to nestačí. Aby to celé mělo smysl, musí si účastníci Scrum vyzkoušet na vlastní kůži a zpětně zhodnotit jak jim to šlo, co bylo dobré a co by měli naopak příště vylepšit.

Her se dá hrát mnoho, mohou být různě složité a komplexní, ale v podstatě jde o to, vyzkoušet si pár základních principů – Plánování, týmovou spolupráci, komunikaci se zákazníkem, reakci na změnu. A retrospektivu. Jednou z možných her zaměřených na prožitek ze Scrum procesu jsme navrhli s Petrem Olmerem stavbu železnice. Základem je postavit železniční spojení mezi městy USA a dovést zákazníka kam potřebuje/chce. Produkt backlogem je vyhlášen cíl spojit města A, B a C. Tým si zvolí ScrumMastera a hra může začít. Každý sprint si tým po diskuzi se zákazníkem naplánuje Sprint Backlog v závislosti na daných prioritách. Pak si každý člen vytáhne kartičky určující jeho rychlost, a případnou změnu celkových bodů. Tyto individuální rychlosti se sečtou a tým prezentuje, kolik železnice postavil. Cílem je mít funkční produkt a spokojeného zákazníka.

Potřebujete:

  • Mapu USA s před vyznačenou trasou – my jsme zvolili tuhle. Za jednu user story se považuje dokončení úseku z jednoho města do druhého (města jsou označena čísly). Stavba jednoho lomeného úseku trati odpovídá 4 bodům.
  • Lepítka na jednotlivé user story v backlogu.
  • Tabuli rozdělenou na tři části: Backlog | In Progress | Done.
  • Kartičky s rychlostí, které byl daný člen týmu schopen dosáhnout, které můžou vypadat třeba takto:
    • Proslýchá se, že nejpracovitější dělník dostane prémii, zkusím pracovat víc – 10
    • Odbory prosadily kratší pracovní týden – 5b
    • Je Den Železničářů, v poledne se jde do hospody – 4b
    • Včera pršelo, vypili jsme moc rumu – 3b

    Ale také třeba takto:

    • Měřiči špatně vykolíkovali trasu: +5b nová úloha: bourání špatně postaveného úseku – 3b
    • Vichřice povalila stoletý dub: +10b nová úloha: odstranění stromu – 0b
    • V tomto případě se do backlogu přidá nová úloha, která se musí z odpracovaných bodů dokončit jako první a pak je teprve možné pracovat dál na naplánovaných úlohách.

  • Větší hodiny měřící délku Sprintu, my jsme zvolili:
    • 5min – pre-planning & planning – tým na tabuli naplánuje user stories pro daný sprint
    • 5min – vyhodnocení & customer demo – každý člen týmu si vylosuje kartičku s rychlostí a podmínkami ve kterých daný sprint pracoval, Scrum Master je zodpovědný za zpracování výsledků a zorganizování customer dema.

    Nestihne-li tým všechny úkony včas (plán, vyhodnocení, customer demo, …), nejsou mu jinak hotové úseky uznány.

  • Zákazníka – toho budete pravděpodobně hrát Vy – který může:
    • Chtít vidět další města
    • Změnit svá přání

    Je už jen na týmu a jeho vyjednávacích a prezentačních schopnostech, aby zákazníka uspokojil, či mu vysvětlil, že daný požadavek na změnu nestihne.

Cílem, jak jsem psala nahoře je mít funkční produkt a spokojeného zákazníka. Hodnotí se tedy, jestli byl tým schopen dokončit úlohy v backlogu a jestli je zákazník spokojen s výsledkem.

Celkem jsme hráli na 6 Sprintů, tedy celá hra vyjde na hodinu. Před hrou budete potřebovat cca 15 minut na vysvětlení a cca 15 minut na organizaci týmu a vytvoření úvodního backlogu. Po hře cca 30 minut na prezentaci celkových výsledků jednotlivých týmů a retrospektivu.

Na závěr přikládám prezentaci ke hře. Jestli budete mít jakékoli dotazy, náměty pro zlepšení, nebo zkušenosti, dejte vědět.

Retrospektiva – kolečko

Jednou z nejdůležitějších agilních praktik je retrospektiva. Cílem je zapojit tým do rozhodování o procesu, nechat je vyjádřit svůj názor, ale hlavně poslouchat se navzájem a pochopit, že ne každý se dívá na věc stejně. Retrospektivou se učíme a uvědomujeme si, co jsme dělali dobře a co ne. Ideální frekvence je po každém sprintu, aby se problémy zbytečně neprohlubovaly a tým měl pravidelnou a častou možnost zhodnotit, jak sprint probíhal z pohledu každého člena.

Jak retrospektiva vypadá? Možností je několik, ale začneme tou nejjednodušší. Tou je takzvané kolečko kdy všichni členové týmu odpoví na dvě základní otázky:

  • Co se mi líbilo, co co jsme dělali dobře a chtěli bychom v tom pokračovat
  • Co se mi nelíbilo a chtěli bychom to změnit

Nezapomeňte, že retrospektiva je o pocitech, jak jsem to viděl já, co jsem si myslel, jak jsem se cítil. Pocit je osobní, neklade si nároky na to být universální pravdou.

V dobře fungujícím týmu se vám může lehce stát, že nikdo v týmu nemá pocit žádných problémů a že tým subjektivně funguje dobře. Potom se popsaný framework rozšiřuje o další oblast:

  • Co by se mohlo vylepšit nebo zefektivnit

Ideální tým ani proces neexistuje, vždy se dá něco najít, jen je to občas těžké si uvědomit.

Začnete-li s retrospektivou, tým začne přemýšlet o věcech jinak, jednotlivý členové budou mít pocit, že má smysl promluvit a zapojit se. Přestanou být pasivními členy čekajícími na úkoly. A jste zase o krůček blíže k vysněnému ‘self-organized‘ týmu.

Posílení týmu – ‘self-organized‘ tým

Jedním z často skloňovaných výrazů je ‘self-organized‘ tým. Týmy přecházející na agilní metody často začínají ranním Scrum meetingem, jako první zaváděnou praktikou. Jistě pomůže při sdílení informací a posílí týmovou spolupráci, ale nedá sám o sobě jednotlivým lidem pocit, že i na jejich názoru záleží, a že je tedy jen na nich, jak si vše zorganizují. K tomu, aby tým byl opravdu zapojen do procesů, je třeba dát všem prostor se k procesu vyjádřit a ovlivnit ho. Proto je důležité dělat retrospektivu. Dalo by se říci, že vlastně nemusíte ani vymýšlet žádný do detailu zpracovaný proces, stačí začít s retrospektivami a proces odpovídající vašemu prostředí vznikne za pomoci lidí v týmu sám. A jako všechno to, kde se sami podílíte na rozhodnutí, je i takto vzniklý proces stabilnější, robustnější a efektivnější.

Retrospektiva vás donutí zastavit se a podívat se co jste dělali dobře, a co špatně. A tedy dává prostor ke zlepšení, vytváří podmínky ke změnám, a posiluje proces učení se z toho, co se stalo. Měla by proto probíhat pravidelně, po každém Sprintu. Každý by měl dostat prostor vyjádřit své pocity, jak to vnímal on sám, co se mu líbilo a co by naopak změnil či vylepšil. Nastaví se tak týmu zrcadlo, kde je najednou vidět, co funguje dobře a co ne. A aby jako takové zrcadlo fungovalo, musí mít jednotliví členové stejnou možnost svoje pocity prezentovat. Aniž by je někdo hned opravoval, že nemají pravdu a že s nimi nesouhlasí. Jsou to přeci pocity konkrétního člověka, ne univerzální pravda. A vnímat věci jinak má každý právo.

Aby byla retrospektiva funkční, musí vždy, bez vyjímky, na identifikované problémy následovat akce, která se pokusí problém minimalizovat či odstranit. Řešením může být jak změna identifikovaného procesu, tak i vysvětlení proč takový je. Na spoustu problémů může tým již během retrospektivy pomocí brainstormingu navrhnout řešení, na složitější problémy si můžete vzít čas na rozmyšlenou. Ale něco by se mělo stát a při příští retrospektivě by se mělo vyhodnotit, jestli akce pomohla, či ne. Čím více zapojíte tým do navrhování řešení, tím rychleji se problémy spraví. Tým ví obvykle nejlépe sám, co mu chybí, co je dobré, a co ne.

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.