Vedení projektu v souladu s metodikou SPICE vyžaduje celou řadu záznamů. Všechny mají smysl, všechny jsou provázané. Jak s nimi v projektu pracovat a proč to všechno dělat?
Cílem tohoto příspěvku není samotný SPICE nebo jiná norma, ale pohled na práci auditora, který hodnotí projekt vedený podle procesní metodiky. Vysvětluje, že pečlivost a podrobná dokumentace, kterou všechny metodiky vyžadují, nejsou samoúčelné.
Nejdříve se článek velmi stručně věnuje tomu, co vyžaduje obvyklý model vývoje V-SPICE. Cílem části není výklad, ale ilustrace požadavků. Druhé část se soustředí na samotný audit, jeho problémy a cíle.
SPICE a V-model
Základem metodiky SPICE je příprava řešení od uživatelských požadavků k systémové analýze, designu a vývoji dílu. Kroky se zakreslují do V-modelu vývoje, protože tvoří levé rameno písmene V. Pravou stranu pak tvoří testování na několika úrovních, které odpovídají úrovním požadavků, tedy unit tesy, integrační testy, funkční testování.
Co obsahuje V-model
Co všechno V-model zahrnuje
V-model a fakticky i všechny standardy, které na něm staví (SPICE, A-SPICE, ISO26262, ale i mnohé další) působí docela, že se opakují. Pro každou z minimálně 3 úrovní analýzy a testování požadují v podstatě to samé:
- Vstupem jsou požadavky, které je třeba zpracovat
- Zpracováním požadavků se myslí vymyslet a dokumentovat, jak a kde (v jaké části systému) budou řešeny, jak se řešení má ověřit. Krom toho je správné nějak pospojovat požadavky, které mají společný cíl (např. se týkají ovládání) a hodí se je proto zpracovávat společně.
- Všechno, co je analyzováno, má být zaznamenáno. Alfou a omegou kvalitní analýzy je traceability, tedy schopnost i v dokumentaci ukázat, co s čím souvisí a co z čeho pochází.
- Ke každému požadavku se vážou testy, ideálně i přímo součástí požadavku je návrh, jak se má požadavek kontrolovat.
Co se dá jednoduše shrnout do dvou vět, je v praxi docela náročný proces. Když se předvádí V-model na sadě pár požadavků, všechno uděláte rychle. Ale jak postupovat, když jsou požadavků stovky a tisíce? Bez solidní systémové podpory to nejde a i s ní je analýza pořádná práce. Mnoho lidí tu práci vnímá jako příliš složitou, rádi by rovnou ze zadání vytvářeli komponenty. Ale pak se ozve auditor a všechny úrovně chce vidět.
V-model není jenom pro software
V-model je nejčastěji vnímán jako definice vývoje software, ale stejný prinip používají všechny standardy zabývající se vývojem výrobku, ať už software obsahuje, nebo ne. Jenom se místo slova unit používá komponenta.
Pokud výrobek vyvíjíte interně pouze pro použití ve firmě, můžete se sami rozhodnout, jak kvalitně chcete svou práci i její průběh dokumentovat. To ale platí jenom do chvíle, než se objeví někdo, kdo bude chtít, abyste pracovali ne jak vy chcete, ale podle pravidel, které se mají kontrolovat. Kontrolám se říká audit a ty vždycky kontrolují, že práce byla udělána a udělána byla kvalitně.
Audit a inspekce
Inspektor
Co znamená kvalitně? Když vezmeme příklad oběda, tak kvalitní oběd můžete hodnotit při konzumaci: chutná, dobře vypadá a není vám po něm špatně. Když tohle všechno splní, strávník je spokojen a nemusí se pídit po tom, co se předtím dělo v kuchyni. Strávník fakticky testuje různé aspekty produktu – vzhled, vůni, chuť i složení. Stejně bude postupovat auditor, který dává restauracím hvězdičky do Michelinského katalogu. Ale proč tak nepostupuje hygienik? Proč hygienik leze do kuchyně a ptá se, z čeho jste včera vařili, jak stará jsou vajíčka a jakou teplotu má jídlo, než ho dáte strávníkovi. Hygienik ví, že vzhled není všechno a ani ochutnáním se nedozví, jestli je jídlo zdravé. A v neposlední řadě, hygienik si chce ověřit, že stejně v pořádku bude jídlo i zítra nebo za měsíc. Takže ho zajímá, jestli za měsíc budete vařit stejně, jako dnes. Odborně, jestli dodržíte postupy.
Hygienik přijde do kuchyně, když se vaří a může vidět reálné postupy. Hygienik nedělá audit, ale inspekci (taky se podle toho jmenuje – inspektor).
Inspektor má postupy pro kontrolu v průběhu děje:
- Jakou teplotu má olej ve fritéze
- Vidí, kde se krájí zelenina, kde maso a kde hotové knedlíky
- Zda má kuchař čisté ruce a není nemocný
Auditor
Za co auditor odpovídá
Odpovědnost auditora
Auditor není odborník
Auditor nemůže být odborník na všechny činnosti, které se ve větším projektu dělají. Nemůže se stavět do role toho, kdo vyhodnotí odbornou kvalitu práce každého pracovníka.
Není výjimkou, že zejména techničtí pracovníci mají tendenci pohrdat auditorem. Domnívají se, že někdo, kdo práci naplno nedělá, se nemůže vyjadřovat k tomu, jestli oni jí dělají správně nebo ne. A samozřejmě přitom mají dojem, že to, co auditor kontroluje – tedy záznamy o práci, kvalifikaci apod. – o kvalitě nic neříká.
Auditor je odborník. Na audit
Auditor je – nebo by měl být – odborníkem na to posoudit, jestli jsou dobře nastavená pravidla a podle pravidel odvedeny. A klíčovým pravidlem, které zásadně přispívá ke kvalitě, je kontrola jiným odborníkem. Auditor nepotřebuje hodnotit, jestli inženýr správně spočítal nosnost mostu. On hodnotí, jestli inženýr má kvalifikaci, aby most spočítal a zda to po něm kontroloval někdo druhý, kdo tu kvalifikaci má také.
Za co skutečně auditor odpovídá
Skutečnou odpovědností auditora je zkontrolovat, že i s odstupem času je možné zodpovědně tvrdit, že pravidla, která měla být dodržována, skutečně dodržována byla.
Auditor je na tom ještě hůř, než inspektor. Nemůže se opřít o to, že výrobek nějak vypadá a nějak se chová, protože ví, že tím nezkontroluje ani daný výrobek, natož výrobky, které budete dělat za měsíc. Nemůže si změřit, jaká byla teplota, když se oběd vařil.
Auditor se musí spoléhat na to, že celý proces, projekt nebo vývoj se dá zpětně zkontrolovat. K tomu potřebuje záznamy. A záznamy jsou jádro pudla. Jsou nezbytné pro audit, ale fakticky jsou často zbytečné pro samotný děj. Můžete mít geniální tým, který věcem skvěle rozumí, udělá úžasné výrobky, ale auditor si pak ani neškrtne. Pokud nevzniknou záznamy, bude se auditor cítit jako host v cirkusovém varieté, kam přišel hodinu po konci představení.
S jakými záznamy potřebuje pracovat auditor:
- Jaká práce byla skutečně udělána
- Zda ji dělal člověk, který je k tomu kompetentní (má kvalifikaci i pravomoci)
- Zda proběhly činnosti, které zajišťují dobrý výsledek – review, zkoušky, testy
- Zda nebyly věci uspěchané – kolik času se práci věnovalo
Metodika dává auditu smysl
Možná vám připadá, že nic z uvedeného o skutečné kvalitně moc nevypovídá. Když necháte 10 bláznů něco dělat (třeba vést stát), tak i když tomu věnují spoustu času, vyrobí hromadu záznamů o své práci (např. tiskové konference), stejně bude výsledek odpovídat jejich schopnostem.
Aby kvalitu vůbec bylo možné kontrolovat, je nutné, aby kontrolované postupy dávaly smysl. A přesně ten smysl určují metodiky. Metodiky jsou externí – např. v úvodu zmíněný SPICE i další normy, ale ty nestačí, protože neříkají, jak se má pracovat. To trochu řešení CMMI-DEV (to je fakticky SPICE + hromada doporučení), ale konkrétní naplnění externích metodik musí upřesnit interní metodiky – SMJ / QMS. A k tomu schopní a kompetentní lidé.
Auditor tak kromě samotné práce musí také ověřit:
- Interní metodika je kvalitní – naplňuje cíle, které externí metodika (norma) požaduje
- Podle interní metodiky se skutečně postupovalo – lidé ji znají, nebo mají její popis při ruce a výstupy metodice odpovídají
- Práci nedělali blázni, ale kompetentní a schopní lidé – kontroluje kvalifikace
Auditní riziko
Více k auditnímu riziku
Co je auditní riziko
Auditní riziko je přesně definovaný pojem pro audit účetnictví. Vyjadřuje riziko, že auditor se vytvoří nesprávný výrok k účetní závěrce.
I když neřešíme finanční audit, auditní riziko má stejný význam i stejné základní vstupní parametry:
- Riziko, že hodnocené podklady jsou už před auditem nepravdivé. Je přitom jedno, zda nepravdivost vznikla omylem nebo úmyslně
- Riziko, že auditor tuto nepravdivost neodhalí.
Povinnost auditora auditní riziko posuzovat
Auditor musí v úvodu auditu stanovit akceptovatelnou míru rizika. Ve finančním světě se dá vyčíslit maximální neodhalenou nepřesností. Riziko se vztahuje k problémům, které může způsobit, když výrok bude významně nesprávný. Je samozřejmě něco jiného, když auditor neodhalí problematické platby za desítky tisíc v obratu stovek tisíc nebo stovek milionů.
Při auditu projektu nebo činností obecně, je posuzované riziko podobné: Jaký dopad může mít nesprávný audit na další rozhodování lidí, kteří se na výsledek auditu spoléhají.
Důvěryhodné podklady zjendnodušují audit
Auditor svou prací ovlivňuje riziko odhalení. Pokud jsou podklady dobře připravené a důvěryhodné, je výrazně menší riziko, že problém bude přehlédnutý. Auditor proto může postupy zjednodušit. Pokud ale podklady nevytváří auditní jistotu, audit musí jít do větších podrobností.
Audit vzorového projektu
Auditní riziko u vzorového projektu
Vzorovým projektem se rozumí projekt, na kterém dodavatel demonstruje svou schopnost dodávat kvalitní výrobky nebo služby.
Z hlediska auditu je posuzování vzorového projektu zajímavé, protože tým na něm demonstruje schopnosti a postupy, které svou pečlivostí typicky přesahují to, co daný projekt vyžaduje svým významem. Pro tým proto bývá těžší všechno zpracovat s potřebnou pečlivostí, protože pro to nevidí opravdový důvod. Nezastupitelnou roli pak má vedoucí projektu a týmu, který musí jasně vysvětlovat skutečné důvody. Auditor si ve vzorovém projektu na nic nehraje, on hodnotí potenciál a důvěryhodnost. Míra rizika je dána výstupem a tím je u vzorového projektu kvalifikovaný tým, kterému se může svěřit náročnější projekt.
Auditor musí při auditu vždy přemýšlet, zda obrázek, který si o práci vytvořil na základě záznamů, je dostatečné spolehlivý. Externí metodiky i na to pamatují, takže stanovují pravidla tak, aby se auditní riziko minimalizovalo. Lidově řečeno, aby se nemohlo podvádět. Když auditor vidí, že pracovní nástroje, podmínky a doklady nejsou přesvědčivé a snadné podvádění umožňují, nemůže věřit tomu, co ke kontrole dostává.
K minimalizaci rizika slouží řada nástrojů, které jsou povinné. Auditor si musí ověřovat, že věci jsou v pořádku a kontrolovaný tým ho o tom musí přesvědčit:
- Záznamy, které práci dokládají, skutečně dokládají práci. Nemohly vzniknout jindy a jinak jenom pro audit. Musí být účinné nástroje, které zajistí jejich autenticitu a pravdivost včetně doby vzniku a autorů
- Záznamy si křížově odpovídají. Auditor musí mít o každé činnosti 2 – 4 důkazy, že proběhla a jak proběhla. Audit vždy vyžaduje alespoň jeden přímý důkaz (výstup z činnosti) a nějaké nepřímé (plán prací a výkaz, protokol z činnosti, záznamy z revize apod.) Je tedy nutné, aby se úkoly vztahovaly k tomu, s čím se pracovalo, protokol časově odpovídal době úkolu a důkaz a čase byl spolehlivý.
- U každé činnosti je zřejmé, s čím pracovala a kdo ji dělal. Typicky u požadavků je jasné, z čeho pocházejí, kdo je analyzovat a co vytvořil.
- Musí existovat nástroje, které lidem brání podvádět. Běžné jsou:
- Technické prostředky – systém, kterým lidem neumožňuje např. antidatovat činnost
- Kontrolní – v průběhu činností vždy platí metoda 4 očí, tedy že pod každou prací jsou podepsání alespoň dva lidé. (Obvykle jeden dělat a druhý revidoval) Oba jsou odpovědní.
- Právní – lidé nesou právní odpovědnost v případě porušování pravidel. Metodiky většinou nejsou přímo právně vymahatelné, ale jsou vymahatelné obvykle smluvně. Nejdůležitější součástí právní odpovědnosti je, že pokud je pracovník pod něčím podepsán, tak odpovídá za to, že věci děla tak, jak tvrdí. Nepodepisuje práci za někoho jiného.
Pokud se vyvíjejí výrobky, které mají vliv na bezpečnost, je ve skutečném zájmu všech v projektu, aby jejich podíl na projektu byl jasně zaznamenán a nikdo nemohl tvrdit, že dělali něco, co ve skutečnosti ani neviděli. A stejně tak auditor odpovídá za to, že správně posoudit auditní riziko. Pokud dokladům nevěří, bere na sebe odpovědnost za špatný audit. (Arthur Andersen, kdysi velká auditorská společnost, by mohla vyprávět, jak ji zničily pochybné audity v Enronu.
Auditor, který pochybuje, který chodí do detailu, který nedůvěřuje tomu, co někdo tvrdí, není ani paranoidní, ani nepřátelský. Není hnidopich, ale chápe svou odpovědnost. Případ Enron ukazuje, že kvalita auditů pokulhává všude na světě a Česko na tom není jinak. Pokud ale audit žádá váš odběratel, rozhodně nebude stát o audit, který problémy nevidí. K čemu by mu byl?
Auditor a umělá inteligence
Umělá inteligence – nová hrozba pro audit
Umělá inteligence dává úplně nové možnosti, jak podvádět. Během chvilky pomůže vytvořit spoustu záznamů, které působí na první pohlede dokonale, ale v týmu je ve skutečnosti nikdo neviděl a hlavně nijak nesvědčí o kvalitě práce.
Pro auditory jsou záznamy tvořené pomocí AI novou výzvou. Samozřejmě jim komplikují práci, ale počítají s nimi a budou s nimi počítat čím dál víc. Systém, který podporuje vytváření záznamů umělou inteligencí, je pro auditora a priori nedůvěryhodný, protože jde o funkci podporující podvod, ne kvalitu. (Takové systémy skutečně existují!)
Týmy musí počítat s tím, že na všechny výstupy z AI se auditoři musí dívat podezíravě. AI za nic neodpovídá, za nic neručí. Možná se to jednou změní, ale brzy to nebude. Podobně jako autopilot dokáže řídit v jednoduchých podmínkách, pomůže AI s jednoduchými situacemi i v projektech a je to v pořádku. Její pomoc ale nesmí směřovat k tvorbě falešných záznamů budících dojem, že někdo dělal něco, co nedělal. Nebo možná i dělal, ale kvůli dokumentaci od AI už se nedá poznat, zda ano nebo ne.
AI poslouží i samotným auditorům, protože může rychleji prohledat mnohem větší počet dokladů, než by stihl auditor osobně. Týmy tak musí počítat s tím, že kontroly budou podrobnější. I proto by si měly dávat záležet na tom, aby od začátku v projektu stanovili priority a důležitým oblastem věnovaly maximální pozornost.
SPICE a V-model aneb co chce auditor vidět
Úvodní kapitola dostatečně vysvětlila, proč záznamy z projektu jsou zcela nezbytné, musí být průkazné, nezměnitelné, konzistentní a všechny tyto vlastnosti je možné prověřit. To platí pro každou auditovanou činnost, ať už jde o finanční audit, audit přípravy výrobku nebo cokoli jiného.
Výčet, co všechno musí auditor kontrolovat, je velmi dlouhý, má několik set položek. Následující seznam proto zůstává v poměrně obecné rovině.
- Interní postupy plní všechny cíle externí metodiky posuzované auditem. Podle interních postupů se skutečně pracovalo (přímé i nepřímé důkazy o tom svědčí.)
- Interní metodiky i projektové plány a cíle jasně definují, co znamená kvalitní výstup. Postupy jsou přiměřené tomu, aby kvalitu skutečně zajistili a to jak postupy, tak požadavky na kvalifikaci, součinnost i časovou dotaci určenou na jednotlivé činnosti.
- Všechny požadavky jsou řádně zpracovány – mají vazby, testy, je zřejmé, kdo, kdy a jak a jak dlouho je zpracovával
- Každá práce byla revidována (i o tom musí existovat doklady!) a revize proběhla bezprostředně po dokončení. Všechny nedostatky byly odstraňovány dřív, než mohly způsobit problémy v návazných činnostech.
- Práce byla organizována a dokumentována tak, že se nikde nic nemohlo ztratit, bylo vždy jasné, kdo na čem pracuje a kdo za do odpovídá.
- Všechny výstupy jsou jasně identifikovány, je zřejmé, v jakém kdy byly stavu, když se s nimi pracovalo. Způsob jejich správy a používání zajišťuje, že nemohly být použity nesprávně, upraveny mimo pravidla práce nebo poškozeny. (Typicky jsou všechny výstupy zamčeny a chráněny, aby je nikdo nemohl – omylem nebo naschvál – změnit nebo poškodit, když nemá.
- Postupy, nástroje a doklady dávají auditorovi jistotu, že věci probíhaly skutečně tak, jak jsou pomocí záznamů a pohovorů prezentovány.
Poslední bod přímo souvisí s auditním rizikem a patří pro odpovědné auditory na první místo. Není zásadním problémem, když některé doklady chybí. Je ale naprosto zásadním problémem, když se jim nedá věřit. Auditní metodiky přímo definují, kolik problémů se může najít. Hodně zjednodušeně řečeno stačí věci mít v pořádku ze 70%. Když např. některým úkolům chybí výkaz práce, nevadí. Když někde není jasné, zda proběhla revize, nevadí. Pokud to ale chybí většinou, nebo v projektu nebyl nikdo, kdo tu práci mohl dělat, nebo ten někdo nemohl mít čas, protože naplno dělal jiné věci, to vadí. A je nepřípustné, pokud se tým tváří, žě dělal něco, co nedělal. Stačí malá neupřímnost a auditor ví, že nemůže věřit ničemu.
Jak se připravit na audit
Tou základní přípravou samozřejmě je mít všechno v pořádku. Auditu navíc předchází příprava, kdy si auditor vyžádá podklady a domluví se, jak bude audit probíhat. Tomu všemu je třeba věnovat velkou pozornost. Doporučení ale přesto směřují na průběh.
Prioritizovat podle rizik
Od začátku prací je velmi důležité rozlišovat, kde z nepořádku, zanedbání, lehkomyslnosti nebo prostě neopatrnosti hrozí průšvih. Říká se tomu analýza rizik. Když budete vědět, kde je třeba hlídat každý detail a dáte si skutečně pozor, můžete v ostatních oblastech i trochu polevit. Je ale nezbytné, aby analýza rizik proběhla před samotnými pracemi a byla součástí plánu. Když to auditor uvidí, pochopí, že vám na rizicích skutečně záleží.
Např. ISO26262 definuje tzv. požadavky na bezpečnost (safety requirements). Fakticky tím stanovuje samostatnou úroveň priorit. Norma také říká, že všechno, co bezpečnostních požadavků týká, má velkou prioritu – testy, revize, dokumentace.
V projektu ale nestačí jenom bezpečnostní požadavky. Jsou ale i jiné oblasti, které jsou rizikové a je třeba jim věnovat zvýšenou pozornost. např.:
- Práce svěřená pracovníkovi, se kterým nejsou dostatečné zkušenosti (nebo nejsou dobré)
- Použití nových postupů, které nejsou vyzkoušené
- Místa za jakéhokoli důvodu extrémní, např. díly procházející rázovými změnami teploty, nebo i náročné postupy, např. nutnost během krátké doby přesouvat tým mezi různými místy.
Důsledně sledovat a řešit jakékoli problémy
Co je dostatečně malý problém, aby nestálo za to ho zaznamenat? Doporučuji limit 30 minut řešení tím, kdo problém našel. Pokud je třeba víc, určitě by problém měl být zaznamenán. Proč?
- Pokud se řešení protáhne na více než půl hodiny, už určitě nabourává denní režim tomu, kdo ho řeší. Nejenom, že by k tomu měl vzniknout záznam o práci, ale hlavně je velká pravděpodobnost, že už bude třeba problém nebo někdo jiného odložit.
- Pokud je třeba k řešení někoho pozvat nebo přímo řešení někomu předat, je velmi pravděpodobné, že ten druhý na to nemá aktuálně čas. Bude se tomu chtít věnovat, až bude mít čas. A ten řada lidí nemá nikdy. Pravděpodobnost, že se problém zapomene, je hned o hodně větší.
- Při delším časovém úseku se snadno stane, že řešení ukáže další problém. Vzniká tak řetízek na sebe navazujících nebo se nabalujících problémů, takže z půl hodiny může být i půl roku. A i když většinou to půl roku nebude, řetízek navazujících problémů, když nejsou poznamenány, si nikdo nezapamatuje (i když si myslí, že ano). Po vyřešení několika prvních části už začnou tlačit jiné úkoly a zbytek se odsune na neurčito.
I kdyby žádný z předchozích argumentů nebyl pro vás ten podstatný, tak tomu poslednímu se nevyhnete: Když budete auditorovi tvrdit, že žádné problémy nebyly, žádné chyby nevznikly, nebude vám věřit. Kdežto seznam zachycených a odstraněných problémů je významným dokladem o tom, že jste o práci a jejích výstupech přemýšleli a problémy hledali.
Víte, co pro auditora znamená, že ze zkoušek nevnikl žádný problém? Že se nezkoušelo, netestovalo.
Vést si projektový deník
Projektové záznamy jsou jedna věc, ale deník je ještě o kus dál. Na konci týdne zaznamenat, co se udělalo, jaké problémy se řešily a co podstatného se stalo. Kdo chyběl, u koho se řešilo nejvíc problémů. Napsat pár řádek, podepsat, uložit. Deník nepatří mezi povinné záznamy a např. CMMI ho vyžaduje v podstatě až v nejvyšší 5. úrovni. Přesto je to dobrý nápad hned od začátku, protože v poměru k přínosům nestojí mnoho času.
- Sebereflexe pomáhá dělat věci lépe
- Ohlédnutí zpět je důležitým krokem, kdy si můžeme všimnout, že se něco důležitého zapomnělo.
- Vzniká další záznam, co se dělalo.
Deník se jmenuje od toho, že má denní záznamy. Např. na fyzické stavbě je to povinnost. Největší frekvencí pro deník je týden. Pokud ho neuděláte v pátek, v pondělí už určitě ne. Nejlepší formou jsou poznámky ze stand-up meetingů (nebo tradičně operativních porad), které si poznamená vedoucí projektu.
Školení krátce před auditem
Důležitou součástí auditu je rozhovor s týmem. Auditor potřebuje vědět, zda lidé znají postupy a řešení problémů. Školení, které týmu připomene, co mají všichni znát, tak pomůže, aby s odpověďmi netápali. Důležité ale je, aby školení bylo pro celý tým, společné a otevřené diskuzi a praxi. Kdyby na školení byl jen někdo, rozhodí pohled jedněch a druhých a vytvoří pochybnosti, co je tedy skutečná praxe.