Test-Driven Development

Máte pocit, že vývoj software ve vaší firmě už nejde tak rychle jako dřív? Hlásí vám zákazníci hodně chyb? Tráví vaši vývojáři hodiny a hodiny hledáním chyb? Pak je pro váš tým vhodný Test-Driven Development.

Na první pohled to vypadá nelogicky - vývojáři stráví dvakrát tolik času psaním kódu, protože píšou navíc ještě testy. Dlouhodobý efekt je ale ten, že pak netráví téměř žádný čas laděním a hledáním záhadných chyb, protože takové chyby v kódu, který byl napsán pomocí TDD, typicky vůbec neexistují. Vývojáři vám poděkují za to, že nemusí v práci trávit večery a zákazníci za to, že váš produkt je bez chyb. No a váš šéf vás pochválí za to, že vývoj se nezpomaluje, i když produkt a firma roste.

Jelikož TDD je poměrně obtížná technika, její naučení probíhá ve dvou fázích. První fáze je jednorázové školení. Trvá 1-2 dny a na něm se vývojáři naučí, jak používat TDD na jednoduchých “školních” příkladech. V průběhu školení jdeme postupně od nejjednodušších situací k těm složitějším, nicméně ze zkušeností není možné na školení pokrýt všechny situace, které ve svém produktu máte - zvláště pokud byl kód napsaný původně bez testů, tak se testy zpočátku velmi špatně pokrývá.

Proto obvykle navazuje druhá fáze - mentoring. V ní se vývojáři učí používat TDD na kódu vašeho produktu, konkrétně na těch částech produktu, na kterých je zrovna potřeba pracovat. Tato fáze může trvat několik týdnů (v menší intenzitě i měsíců) a já při ní působím jako mentor vašich vývojářů. Účastním se běžné práce na produktu, typicky pomocí párového programování a starám se o to, aby TDD přešlo vývojářům do krve.