Proč mě má kvalita jako manažera vůbec zajímat

Kvalita SW produktu je často velmi podceňovaná oblast. Na svých konzultacích a kurzech na to narážím velmi často. Sám si to vysvětluji tím, že management si neuvědomuje následky vedoucí z tohoto podcenění, a proto jsem se rozhodl celou situaci více objasnit. 

Každý manažer chce úspěšný produkt a vyšší zisky. Obojího se dosahuje díky zákazníkům. Chcete získat víc zákazníků (nebo lepší zákazníky) i vy? Soustřeďte se na kvalitu – kvalita přináší spokojené zákazníky a ti přináší vyšší zisk. To jsem to vzal trochu zhurta, že? 

A to není vše, pokud se bavíme o ziscích, druhou možností je snížit náklady na opravy. Co vlastně způsobuje zvýšení nákladů na opravy? Souvisí to s kvalitou? 

Tak se pojďme na vše podívat více dopodrobna.

CO je kvalita?

Pokud se bavíme o kvalitě, je dobré uvést, co to vlastně je. Všichni tomu nějak intuitivně rozumíme. Pokud se ale zeptám konkrétně vás, co je kvalita, co odpovíte?

Slovo kvalita pochází z latinského výrazu qualis, čili jaký. Jedná se o souhrn vlastností, které produkt – v našem případě software – má. Jinými slovy: kvalita znamená, jaký produkt vlastně je.

Existuje více definic kvality: 

  • Kvalita jako vhodnost pro zamýšlené použití
  • Pohled orientovaný na uživatele
    • Kvalita je to, co uspokojuje potřeby uživatele/zákazníka.
  • Pohled orientovaný na výrobu
    • Kvalitu určuje míra, do jaké splňuje specifikované požadavky.
  • Pohled orientovaný na produkt
    • Kvalita je určena přítomností určitých známých měřitelných atributů a ty lze objektivně posoudit.
  • Pohled orientovaný na hodnotu
    • Kvalita je závislá na nákladech, ceně produktu a užitku, který z něho plyne pro zákazníka.
  • Z toho nám pak plynou výroky jako:
    • Kvalita je míra shody s explicitními a implicitními požadavky.
    • Kvalita je hodnota pro někoho, na kom záleží.

Poznámka: Pro ty z vás, kteří rádi zkoumáte varianty, doporučuji knihu Kvalita softwaru, teorie a praxe od Petra Roudenského, kde je vše více rozebráno.

Na kvalitu softwaru se také můžeme dívat z více pohledů, tzv. dimenze kvality.

Abychom se v těch definicích neutopili, je dobré se na celou věc podívat selským rozumem a zamyslet se nad tím, co nám z toho o kvalitě plyne. 

Kvalitu určují zákazníci, díky nim vznikají požadavky a to, jak moc se nám daří v SW produktu tyto požadavky realizovat. Tím myslím, aby byly funkční, tak to nám určuje míru kvality. A tedy také spokojenost s produktem. Pokud máme více spokojených zákazníků, jsou ochotní platit a také se informace o kvalitě našeho produktu šíří do světa a my tak získáváme další spokojené zákazníky.

Co ztratím, pokud se o kvalitu nebudu zajímat

Pojďme se teď podívat na negativa, která se rychle objeví, pokud se nám produkt nepodaří vytvořit v dostatečné kvalitě, nebo pokud kvalitu úplně ignorujeme. 

  • Ztráta zákazníka – pokud jej rozčílíte tak, že již váš produkt nebude chtít používat.
  • Ztráta reputace – veřejná ostuda, když váš produkt nebo služba vůbec není dostupná a nebo poškodila zákazníka (avast).
  • Finanční postihy za nedodržení smlouvy, podmínek, nebo garantovaných služeb.

A co získám, pokud o kvalitní produkt usiluji

Přínosů kvalitního produktu je hned několik:

  • Úspory vlivem redukce přepracovaných komponent
  • Úspory vlivem redukce odstávek
  • Přínos plynoucí z rychlejšího uvedení na trh
  • Přínos plynoucí z vyšší konkurenceceschopnosti
  • Přínos plynoucí ze zlepšení způsobu práce zaměstnanců
  • Pozitivní vliv na návratnost investice

Jak vidíte, důvodů proč věnovat kvalitě pozornost, je hodně. Proč se jim tedy většina manažerů nevěnuje? Protože podléhají mýtům, které je svádí z cesty. Které to jsou?

Časté mýty a chyby v úvahách o kvalitě

Zajištění kvality nám nic nepřinese, a tedy mě nezajímá  

Někteří to neřeknou takto na rovinu, ale chovají se tak. Často se to projevuje větami typu: „Chci jen, aby byl produkt včas a ostatní mě nezajímá.“ Ano, dodat produkt včas je určitě důležité, ale nemělo by to být na úkor toho, že to, co zákazník dostane, ho akorát vytočí. Tento přístup totiž obvykle vede k velkým problémům, protože manažer tohoto typu podceňuje ověření kvality a to, že produkt vůbec rozuměně funguje.

Zrovna nedávno jsem potřeboval odeslat peníze z internetového bankovnictví. Dost jsem spěchal a v tu chvíli mi bankovnictví oznámilo, že se není možné přihlásit, protože došlo k chybě, na jejímž odstranění se intenzivně pracuje. Dost mě to rozčílilo, ale říkal jsem si, to se stává. V průběhu týdne se ale celá situace opakovala, a to ne jednou a moje rozčílení narostlo natolik, že jsem začal hledat jinou banku. Tohle je to, čemu čelíme během vývoje SW, a je dobré si to uvědomit. O zákazníka vlivem chyb můžeme přijít velmi snadno a manažer, který vydával tento produkt, určitě také chtěl „jen“ splnit termín.

To, že zajištění kvality přináší produktu velkou hodnotu, je očividné již z předchozích odstavců – viz odstavec Co získám, pokud o kvalitu usiluji. Důležitá je samozřejmě míra, která souvisí s dalším mýtem.

Zajištění kvality je drahé a náš produkt přece není Mercedes

Nebezpečí tohoto pohledu spočívá v černobílém vidění kvality a jejího zajišťování. To, že neděláte Mercedes, přeci neznamená,že nemusíte mít jednoduchý proces, který zajistí, že SW produkt bude dostatečně kvalitní pro vaše zákazníky.

Nikdo po vývojovém týmu nechce, aby vytvářel produkt, který je téměř dokonalý, a díky tomu jeho cena bude astronomická. Bavíme se tu o základních podstatách uvědomění si, jak kvalita vzniká a jak se zajišťuje, a to není nikdy drahé. Tedy pokud tým ví jak na to. 🙂

Představte si stavbu domu a vy jste hlavní manažer celého stavebního projektu. K dispozici máte architekta, dělníky a stavební dozor. Vaším úkolem je rozhodnou, které role potřebujete a v jaké míře. Máte následující možnosti:

  • Varianta 1: Můžete se soustředit maximálně na rychlost a snížení nákladů a díky tomu naprosto škrtnou role, jako je stavební dozor.
  • Varianta 2: Najmout stavební dozor pro každého dělníka, který mu bude stát u zadku a kontrolovat vše. co dělá.

Asi cítíte, že obě dvě varianty jsou extrémy, které nepovedou k rozumné výstavbě domu. Proč to tedy při vývoji SW často děláme stejně?

Nabízí se tedy 3. „rozumná“ varianta: Pokud se zamyslím nad tím, jaká je kvalita, kterou zákazník potřebuje. Mohu se soustředit pouze na ni, to by mělo být cílem stavebního dozoru v našem příkladu. A na to stačí možná jen 1 nebo 2 stavební dozory, kteří tyto požadavky hlídají.

A díky tomu zajištění kvality nemusí být vůbec drahé. Navíc ušetříte na nákladech za reklamace a opakované opravy.

Zajištění kvality bude stát tolik, kolik si určíte. 

Zajištění kvality projekt hrozně zpomalí, a to si nemůžeme dovolit 

Chci jen, aby byl produkt vyvinut včas, a kvalita je pro mě zpoždění… slyším říkat jednoho manažera. Bude se na to muset vyhradit člověk, který to bude kontrolovat (testovat), bude diskutovat s vývojáři… a to vše přeci stojí spoustu času! Navíc se bude čekat na dokončení jeho práce. Ano, je to tak. Ale pokud to neuděláte, budete ten release dělat 3x místo jednou, a to stojí o hodně víc času. Představte si opět situaci se stavbou domu a stavebním dozorem, který chodí na stavu 1x za měsíc. Přijde do koupelny a co nezjistí: Umyvadlo je posunuté o 10 cm, takže když majitel bytu (zákazník) bude vylézat z vany, práskne se o umyvadlo do zad.

Dozor tedy oznámí problémy (chybu) dělníkům. Ti ale musí odstranit umyvadlo, silikon, obklady, vyvrtat nové díry, znovu usadit umyvadlo, nové obklady, nový silikon, možná i nově vymalovat a znovu uklidit. Vše bude dost časově náročné.

Pokud by tam ale stavební dozor chodil každý den, tak stačí jen dělníkům říct: Chlapi, umyvadlo máte o 10 cm vedle. A oni jej jen posunou bez návaznosti na další práci a pracovníky. A to je velká úspora času. Při vývoji softwaru je to úplně stejné – čím dřív chybu najdeme, tím je to levnější. Říká se tomu včasné testování, anebo dnes moderně Shift-left testing.

A teď si představte, že stavební dozor na stavbu přijde až na konci při předávání zákazníkovi. Jak by to dopadlo. 🙂 

Správná kontrola kvality dodání produktu zrychlí! Zajištění základní kvality nemusí být ztrátou času, ale naopak projekt zrychlí.

Co teď

Jak zpomalení, tak vysoké náklady jsou často způsobeny tím, že členové týmu ani manažer neví, jak správně kvalitu zajistit. Bohužel vinou toho spousta projektů skončí neúspěchem a manažer je pak často za blbce.

Jak tomu předejít je na samostatný článek. Důležitou roli v zajištění hraje testovací pyramida, automatizace, správná architektura produktu, automatické reporty a v neposlední řadě i rozumná strategie zajištění kvality. 

Na závěr bych chtěl říci, že investovat do kvality se tedy určitě vyplatí, protože důvěra zákazníků ve váš produkt se tím výrazně zvýší a usnadní se i celý vývoj.

Pokud nevíte, jak se kvalita softwarového produktu zajišťuje, a zajímá vás to, tak se můžete těšit na další článek, který se bude jmenovat „Jak zajistit kvalitu SW produktu“.