Díky mnohaletým zkušenostem s testováním, audity (např. ISO 9001), zajištěním spolehlivosti kritických systémů a znalosti potřebných statistických technik pomáhám s projekty, kde je třeba sledovat kvalitu v průběhu vývoje i při dodání
Proč je zajištění kvality opomíjené?
Stavební dozor
Nejznámějším jménem pro zajištění kvality je stavební dozor. Stavební dozor má na starost kontrolovat pracovní postupy, průběh prací, kvalitu používaných materiálů a kvalitu práce party. Pravděpodobně nikdo nepochybuje o tom, že kvalitní stavební dozor může významně ovlivnit celkovou kvalitu díla.
I v případě, že je dodavatelský je prověřený a má za sebou řadu realizací, je pro poučené nebo opatrné stavebníky–investory samozřejmé, že na stavbě stavební dozor vyžadují.
SW není od budovy daleko
Přestože u fyzické stavby o užitku stavebního dozoru nikdo nepochybuje, většina projektů implementace software (i když jde třeba o nákup na klíč), se bez něj snaží obejít. Přitom obě stavby: postavit fyzickou stavbu a informační systém nebo softwarový produkt, mají mnoho společného:
- Po dodělání nejsou nekvalitně udělané věci vidět. Jistě, řádky kódu se dají prohlédnout, ale pochopit je dá většinou více práce, než zjistit, proč se 2 roky stará dálnice začala vlnit. Stavební dozor musí už v průběhu stavby sledovat, zda všechno, co se dělá, splňuje požadavky cílového řešení, ať už jde o nasákavost materiálu, nebo robustnost kódu před chybami
- Důkladná příprava je zcela nezbytným předpokladem úspěchu. Když děláte nový systém a nerozumíte skutečně detailně prostředí, ve kterém bude používán, způsobu, jak jej uživatelé budou chtít využít, jste na tom stejně, jako když postavíte most a nezjistíte si, jaké je podloží. Pak se vám začne dálniční most hýbat dřív, než na něj vjede první auto. A softwarový produkt bude řešit potřeby zásadních úprav pro každého klienta, Nasazovaný informační systém nebude možné propojit s jinými informačními systémy.
- Zanedbání postupu se nedá z výsledku snadno zjistit, a přesto může mít fatální následky. Když zkrátíte dobu zrání betonu nebo nedodržíte složení směsi, mohu vzniknout mikrotrhliny, které se projeví možná za rok, možní za deset let. V každém případě zhorší pevnost a stabilitu a je jen otázkou času, jaká vnější událost katastrofu vyvolá. Když nedodržíte design, který myslel na udržitelnost, robustnost, škálovatelnost a další nutné vlastnosti systému určeného pro léta používání, po pár letech zjistíte, že se systémem už se nedá žít.
- Čím později se začneme o kvalitu zajímat, tím hůře. I stavební dozor na budově by měl zahájit svoupráci před prvním kopnutím to země, dokonce před podepsáním smlouvy s dodavatelem a každý zkušený stavební dozorce potvrdí, že před zahájením stavby vám dokáže ušetřit nejvíc peněz i problémů. Např. vymezením odpovědností a záruky. Se sofware je to ještě významnější, protože počáteční etapy – business analýza a analýza rozsahu – jsou pro projek klíčové a nejhůř opravitelné. A přesto: naprostá většina projektů se o kvalitu začne zajímat až na konci, při testování dodávky. V době, kdy se závažné chyby většinou nedají odstranit vůbec, pouze zamaskovat.
- Dodatečně se opravy dělat nedají nebo jsou velmi drahé. Když vám stavební firma nezavede rozvody do koupelny, ale do obývacího pokoje, protože si někdo otočil v&nbps;ruce plány, budete muset rozkopat celou stavbu. Když se ukáže, že podlahové topení v&nbps;zimě nestačí, taky ho jen tak snadno nespravíte. A stejně tak, když se zapomene na důležitý vztah mezi daty a systém s&nbps;nimi neumí pracovat, taky nebude oprava snadná. (Jen se zeptejte programátorů, co znamená předělat systém, aby podporoval dynamické seznamy míst statických hodnot nebo M:N vztah místo 1:N). Mnohé z problémů, které jsem potkal, by si člověk ve stavbě domu ani neuměl představit: zapomenuté zamykací dveře na záchod (nastavování rolí), chybějící nekvalitní vstupní dveře (chybějící zabezpečení přístupových práv), kuchyň na WC (objednávka a dodávka v systému jedno jest) a další.
- Obojí je podobně drahé, takže jde o velké ztráty. Tuzemské velké softwarové projekty jsou v řádu stovek miliónů korun a velké systémy státní správy si cenově nezadají s velkými dopravními stavbami. Přesto fyzická stavba automaticky vyčleňuje prostředky i na stavební dozor – a to nezřídka i pro stavby v rozsahu desítek tisíc korun, kdežto s projektem stavby softwarového díla se váže málokdy.
Snad jediným zásadním rozdílem je, že stavební dozor na stavbě je vymezen zákonem (§103 a 104 stavebního zákona č.183 / 2006 Sb.), ale pro informační systémy takové pravidlo není.
Druhým rozdílem je, že i když jde o podobné částky, tak u informačních systémů méně často riskujeme život. Ale i to je relativní, protože na mnohých informačních systémech závisí život lidí také. Přinejmenším jejich psychická pohoda v zaměstnání. Naštěstí existují normy, jako např. ISO 26262, které se starají o to, aby v systémech, kde o život skutečně půjde, dozor fungoval.
Kdy se na mě obrátit
Typické projekty, kde můžete zkušenost využít
- Řízení kvality při vývoji produktu
- Nákup nového systému
- Dohled nad interním projektem změny procesů a souvisejících úprav informačních systémů