neděle 21. září 2014

QA v roli Důmyslného rytíře dona Quijote de la Mancha

Čas od času slýchám, jak si někdo v agilním vývoji stěžuje na nedostatečnou kvalitu a zároveň vzývá QA inženýry a jejich klíčovou roli. Mýtus spočívá v přesvědčení, že především QA zajišťuje v agilním vývoji kvalitu. Použiji sportovní paralelu. To, že máte v brance nejlepšího brankáře na světě, ještě nic neříká nic o tom, kolik gólu inkasujete. Defenziva je věcí celého týmu nikoliv jednotlivce. Brankář podobně jako QA inženýr je pomyslný dirigent s nejlepším přehledem o celém dění. S architekturou a dalšími aspekty vývoje je to velmi podobné. Ať již vezmeme jakýkoliv aspekt, je za něj vždy odpovědný tým jako celek. V týmu, kde se kvalita produkovaného softwaru odsouvá kamsi na pozadí, vám nepomůže ani QA s brokovnicí mířící na zátylek každého vývojáře. Jaká je tedy role QA v agilním vývoji?


Předně je stejně důležitá, jako jakákoliv jiná v daném týmu. Stejně jako nemůžete hrát bez brankáře (až na malé výjimky jako je hra bez brankáře v hokeji), nemůžete fungovat bez kvaliťáka. A to bez ohledu na to, jestli z vás padá kód s jednou nebo deseti chybami. Čím lepší kvalitu produkovaný kód vykazuje, tím rozdílnější roli bude QA člen týmu hrát. V jakémkoliv případě bude jeho role nezastupitelná, protože vždy může nabídnout minimálně jiný úhel pohledu na daný problém. Roli QA lze rozdělit podle toho, jak je tým zkušený, kdy zkušenost je přímo úměrná důrazu na kvalitu. Čím zkušenější tým, tím větší pozornost věnuje kvalitě.


Nezkušený tým

QA zde funguje jako bič na vývojáře. Je to autorita, která nejenom rozhoduje o tom, co splňuje či nesplňuje kritéria kvality, ale zároveň působí jako mentor pro vývojáře. Jejím úkolem je vysvětlovat vývojářům roli testů, pomáhat se zaváděním automatických testů (cukr) a držet štábní kulturu psaní testů. Samozřejmě pokud testy neprocházejí je jeho důležitou povinností vývojáře tepat. Nezkušené týmy mnohdy chtějí psát testy, jenom nevědí jak na to. Právě proto je důležité, aby fungoval nejenom v roli represivní, ale i v roli osvětové. Přerod nezkušeného týmu přichází ve chvíli, kdy tým začne chápat přínos testů jako integrální součásti vývoje a nijak jej nezpochybňuje např. výmluvami na nedostatek času.

Středně zkušený tým

Tým už chápe všechny výhody, oceňuje přínos testů a role QA je postrčit na další úroveň. To mohou být další řekněme specializované testy např. výkonu, výdrže nebo různých katastrofických scénářů. QA hraje opět roli osvěty a pomáhá se zaváděním. Větší roli začíná hrát automatizace celého testovacího procesu - testovací pipeline - a vůbec měření kvality a sledování trendů. Role QA je stále nezastupitelná například během odhadování míry rizika regrese a definice akceptačních testů. Obecně by se dalo říci, že jeho role se pomalu posouvá směrem od mentora k partnerovi.

Zkušený tým

Testovací pipeline je nastavená, tým koučuje, co se testů týká, sám sebe, a QA role se posunula. QA je partner, který poskytuje podporu při testování. Jeho role je klíčová v tom, že jednak nabízí pohled nezatížený vlastním vývojem a jednak pomáhá se složitějšími případy testování - to mohou být testy ve specifickém prostředí nebo testy speciálních okrajových případů. QA již nehraje roli represivní složky a vývojáři velmi dobře chápou, že jim QA usnadní život a nikoliv hází klacky pod nohy.

Hranice mezi zkušeností týmu, rolí a konkrétními aktivitami QA se může prolévat a mnohdy závisí i na jiných okolnostech jako je například firemní kultura a procesy. Rád bych ješte jednou zdůraznil, že QA samo osobě nikdy kvalitu nezajistí, pokud ji jako nedílnou součást nepřijme vývojářský tým. V jakémkoliv jiném případě hraje totiž QA roli Důmyslného rytíře dona Quijote de la Mancha.

neděle 14. září 2014

CZ Podcast 105 - Osmibity

Do dalšího dílu jsme pozvali Martin Malého alias A. Denta, nestora osmibitové scény, aby zavzpomínal na staré dobré osmibitové počítače. Tenhle díl stojí za poslechnutí ať již osmdesátá léta a hrátky s osmibitovými počítači pamatujete či nikoliv.

čtvrtek 4. září 2014

CZ Podcast 104 - Akka, Spray, Play

Hostem 104. dilu je Jan Macháček, autor několika knih například Pro Spring, který se nyní věnuje vývoji reaktivních aplikací nad TypeSafe stackem tj. Scala, Akka, Play.io, Spray.io.

středa 13. srpna 2014

CZ Podcast 103 - vývoj indie her aneb pankáčem snadno a levně

Hostem dílu 103. byli Vladimír Hrinčár, Ján Ilavský indie vývojáři ze studia Hyperbolic magnetism. Na jedné straně romantismus indie game vývoje a na druhé straně složenky za nájem. Pankáčové každým coulem. No tedy až na ty cloudové aplikace ;-).