Zdeněk Jonáš
1.10.2009

Jak přesvědčit zákazníka, že potřebuje QA?



Dost často jsem v minulosti slyšel od obchodníků: „QA nikdo nechce platit. Jste drazí, nepotřebujeme vás“. Po zkoumání tohoto problému jsem přišel na následující dvě věci:

  • Obchodník neví jak nabízet QA
  • Zákazník netuší, proč by QA měl platit, chtít a vyžadovat.

Hledal jsem přirovnání, které by pomohlo odstranit tuto neznalost a vysvětlit člověku neznalému softwarového vývoje, proč je QA nezbytné.

Začínáme

Potřebuje Vaše firma vyvinout software na míru? Vyberte si spolehlivého dodavatele, neboť výběr kvalitního dodavatele je polovinou úspěchu. Co prosím? Pouze polovinou? Cožpak dobrý dodavatel nezaručí úspěšnost projektu? Nezaručí. Abyste skutečně dostali software, jaký potřebujete, bude se i Vaše firma muset naplno zapojit do vývoje – a právě na nezkušenosti zadavatele krachuje značná část softwarových projektů.

 

Vývoj softwaru jako stavba domu

Vývoj softwaru na míru se dosti podobá stavbě domu, hlavně v tom, neboť jak stavba domu, tak i vývoj softwaru Vás nakonec může stát daleko více, než jste původně čekali. Pro omezení tohoto rizika je zapotřebí se pečlivě připravit, nepodcenit plánování, najmout dobrého architekta a na samotnou realizaci najmout stavební dozor, který je nezávislý a zajistí dobrou kvalitu stavby. Tohle je stejné ve stavebnictví i při vývoji aplikací. Pouze v IT místo stavebního dozoru nastupuje QA.

Jak budete stavět? (zajištění prostředků)

Dnes si již málokdo postaví dům svépomocí. Splnit všechny normy a požadavky je příliš složité, než aby to běžný člověk dokázal sám zvládnout. Najmout ty správné lidi je první podmínkou úspěchu. Ale dokážete to? Poraďte se s někým, kdo se na trhu vyzná, vyžádejte si reference a zajistěte, aby Váš nezávislý dozor byl opravdu nezávislý. Dejte si pozor na příliš nízké, ale i neobvykle vysoké cenové nabídky. A nezapomeňte na průběžné testování po celou dobu projektu, neboť náklady na odstranění chyby v hotovém softwaru mohou být mnohonásobně vyšší, než když je chyba odhalena v raných stádiích vývoje.

Co budete stavět? (stanovení cílů)

Než začneme, je třeba se rozhodnout, co budeme stavět – zda rodinný dům, chatu, garáž nebo činžák. Víte to u Vašeho softwaru? Řeknete-li dodavateli „Potřebuji program na mzdy“, bude z toho asi tak moudrý jako když architektovi řeknete „Chci dům na bydlení“. Ale kolik má mít pater a místností, pro kolik lidí je určen, jakému životnímu stylu má dům vyhovovat, jak má být vybaven? Mnoho otázek je třeba zodpovědět i při vývoji softwaru a je na dodavateli, aby Vám ty správné otázky položil. Ale jak zjistíte, že opravdu nic nezanedbal? Je zřejmé, že již ve fázi plánování budete potřebovat nezávislého poradce, který zajistí, že cíle projektu se opravdu budou shodovat s Vašimi skutečnými potřebami.

Kde budete stavět? (integrace)

Při stavbě domu je nesmírně důležité také okolí. Je na Vašem pozemku zavedená voda, elektřina, plyn, je zde telefonní signál? Nebude stát pozemek vedle čističky či dálnice? Jak snadno se Vaše dítě dostane do školy? I ve Vaší firmě již určitě je nějaké softwarové prostředí, běží tu další aplikace a je téměř jisté, že bude třeba nějak je s novým systémem propojit. Tomuto procesu říkáme integrace a může výrazně zvýšit náklady na realizaci projektu. Abyste se vyvarovali nepříjemných překvapení, je třeba integraci předvídat a zahrnout ji do svých plánů i finančních odhadů.

Opravdu se staví to co chcete? (testování)

Jak zjistit, zda se staví přesně to, co chceme? Jste schopni poznat na základě diagramu tříd, zda je vše v pořádku? U stavby to poznáte? Stojí zdi tam kde chci? To zjistíte letmým pohledem. Ale jsou zdi postaveny tak jak mají? Má vrstva malty správnou tloušťku? Je tloušťka zdi dostatečná? Nezkazí zedník práci hned zítra? Tohle jsou věci, které musíme pečlivě kontrolovat v průběhu celé stavby. I u softwaru musíme provádět kontroly kvality průběžně. Ponechat testování až na dodání produktu může být cestou do pekel. Testování není pouze finální proklikání aplikace, ale důsledná kontrola, ověřování a měření po celou dobu softwarového vývoje.

Bude dům pořád stejný? (rozvoj)

Stavba se vydařila, dům stojí a dokonce se v něm dá i bydlet. Ale ouha, místo plánovaného potomka se narodily trojčata a jeden pokoj jim už nestačí. Co s tím? Je možné dům upravit nebo dokonce něco přistavět? Nebo budete potřebovat jiný dům? Stejné problémy řeší i provozovatelé firemních aplikací – firma se rozrůstá a stávající software přestává stačit. V platnost vstupují nové směrnice a zákony a aplikace se jim musí přizpůsobit. Úpravy jsou nezbytné, ale nerozbije zdánlivě drobná změna celý systém? Pokud dodavatel při vývoji nedodržel správné postupy a neodevzdal kvalitní práci, může i malá změna vést k nutnosti přepracovat velké části softwaru. To může vést k neadekvátním nákladům, oprava může trvat neúměrně dlouho a můžete se dokonce stát „rukojmím“ nesolidního dodavatele, který těží z toho, že jediný rozumí Vašemu systému, a tudíž je nenahraditelný. Co s tím? Opět doporučujeme si najmout tzv. „stavební dozor“ a dopředu zhodnotit návrh systému. Mezi firmami dodávajícími software totiž existuje spousta garážových firem, které se naoko tváří jako profesionální. Ovšem kvalita jejich práce bývá mizerná a tyto firmy přežívají právě díky tomu, že se staly nenahraditelnými pro své odběratele, neboť jejich aplikacích a řešením nemá šanci nikdo jiný rozumět. V době realizace je tedy vhodné kontrolovat architekturu aplikace a zároveň dohlížet na použité technologie, kvalitu kódu i kvalitu architektury. Pouze kvalitní produkt je dále udržovatelný bez výrazného nárůstu investic.

Proč zrovna stavebnictví

Proč jsem si zvolil zrovna tento příklad? Většina lidí, co má pravomoc rozhodnout povětšinou staví, nebo již má postaveno. Budete-li se s nimi bavit, jsou Vám schopni odvykládat kompletní několikahodinové historky o zkušenostech se stavbou svého domu. Lze tedy využít jejich zkušenosti v náš prospěch. Máte podobnou zkušenost i vy? Museli jste někdy obhajovat testování jako takové v projektu? Napište nám svoje zkušenosti.

Vaše emailová adresa nebude zveřejněna

Komentáře

Děkujeme za váš komentář
Další
  • uf

    Je ten obrazek vhodny k ilustraci QA?

  • uf: To je velmi dobrá otázka. Po pečlivém zvážení jsem dospěl k názoru, že odpověď zní "rozhodně ano" ;-)

  • Petr Schliksbier

    Článek je velice povedený, vystihuje reálný stav věci a nenásilnou formou vede k zamyšlení nad tímto stavem. Sám mám zkušenosti jak se stavbou, tak i s vedením IT projektů a mohu konstatovat, že použité přirovnání je velice trefné. Článek bych doporučil k přečtení nejen každému zadavateli IT projektů, ale mnohdy i samotné realizační firmě.

  • uf

    K obrazku: Ano, obrazek je vhodny. Ale proc jsem si sakra vzpomnel na klasickou serii s houpackou?

  • pepper

    Obrázek je vhodný, protože to je dobře postavený dům. :-) Velice dobře zvládnutý a architekt nebo zadavatel, zdá se, přesně věděl co dělá.