Hlavní navigace

SW kvalita / ISO 9000, CMMI

19. 9. 2013 13:23 (aktualizováno) | Petr Závodský

Když vyvíjíme softwarový produkt, jistě chceme, aby uspěl mezi konkurenčními produkty. Chceme vyvíjet efektivněji, kvalitněji, levněji, dosahovat lepších obchodních výsledků. To se neobejde bez toho, aniž bychom byli schopni porovnat se s konkurencí, předvídat náklady, plánovat a určovat dosaženou a dosažitelnou kvalitu. Zhodnotit svůj firemní výkon a rozhodnout, co zlepšit. Pokud náš úspěch byl doposud dán například jedinečností produktu a tedy absencí konkurence, nějak to doposud všechno fungovalo, ale od té doby, co nás ve firmě postupně přibývá, komunikace se zesložiťuje, celkový výkon klesá anebo neodpovídá velikosti firmy, kvalita již není to co bývalo a zjišťujeme, že někdy jednotlivec zvládne ve firmě pracovat úspěšněji než tým … Často se snažíme nějak se s tím poprat sami, vymyslet něco, co by výkon, kvalitu komunikace … zlepšilo. Vymýšlíme, teoretizujeme, reorganizujeme, vzájemně se mezi kolegy obviňujeme a ono to k ničemu dobrému stejně nevede. Zjišťujeme, že je zapotřebí „to“ nějak řídit. Ale jak? Když si přiznáme, že nic nového již nevymyslíme, začneme zjišťovat, jak to dělají jinde, jak to dělá konkurence? Tak u konkurence to dělají buď stejně jako my, ještě hůře anebo jim to opravdu nějak funguje a některé firmy se chlubí tím, že mají nějaké certifikáty ISO 9001, CMMI aj. A tak zjišťujeme, co to to ISO 9000, CMMI aj. vlastně je.

Historický kontext

Přístup na kvalitu/jakost se ostatně měnil s dobou. Velmi dávno, v dobách prvotně pospolných, kdy si člověk byl sám výrobcem i spotřebitelem, jakost byla taková, jaká zrovna jemu vyhovovala. Se vznikem a rozvojem obchodu se objevily míry a váhy a jimi také byla jakost určována. Ve středověku se ke kontrolám jakosti také připojovali různé cechy. Jak se rozvíjela průmyslová výroba a rostl počet manufaktur, vznikala čím dál tím větší potřeba kontroly jakosti. Kontrolu jakosti si zajišťovali nejdříve dělníci, mistři, majitelé firem. To převažovalo do začátku dvacátého století. Postupně, s tím jak rostla výroba, se začali objevovat specialisté na jakost, modely procesů výroby a specializované útvary technické kontroly. Statistické metody použitelné pro regulaci výrobních procesů, které se staly mocným nástrojem kontroly, se začaly objevovat po první světové válce, zejména v Japonsku (zásluhou W. E. Deminga). Japoncům se statisticky řízené procesy dařilo rozšířit i mimo výrobní činnosti firmy (do předvýrobních etap aj.) – tak se začal objevovat moderní systém jakosti Company Wide Quality Control (CWQC). Péče o jakost se objevovala i jinde ve světě, zejména při zpomaleném tempu ekonomického růstu v 70. letech, s rostoucí konkurencí a zvyšujícími se požadavky zákazníků na jakost. Začaly se objevovat podnikové standardy, které definovaly požadavky systému jakosti. Plánování, průzkum trhu, vývoj, servis … to vše bylo čím dál tím více koordinováno a s tím se objevuje pojem Total Quality Management (TQM, autorem je A. V. Feigenbaum). Roku 1987 Mezinárodní organizace pro normalizaci do světa vypustila sadu norem ISO 9000, které vznikly z řady norem BS 5750 (British Standard). Podle norem ISO 9000 si firma může vytvářet svůj systém jakosti a jeho funkčnost si může nechat posvětit certifikačním auditem (přesněji – lze se certifikovat podle ISO 9001). V tentýž rok Software Engineering Institute (SEI) – Carnegie Mellon University (SEI-CMU) představil první předzvěst modelu pro softwarové procesy (pozdeji CMM a pak CMMI). Spíše než o procesní model se jednalo o nástroj pro identifikaci oblastí, které je zapotřebí při vývoji a dodávkách softwaru zlepšit a za zmínku jistě stojí fakt, že impulsem byl požadavek americké vlády na zhodnocení způsobilosti dodavatelů softwaru pro vládní zakázky (Nepotřebovali bychom podobný impuls také u nás v Česku? Podle stavu různých státních softwarových projektů se zdá že ano. Problematika dodávek softwaru pro český stát je kapitola sama o sobě. Myslím si, že polistopadové události žádoucí jakosti softwaru příliš nepřály.).

Zvýšení produktivity a účinnosti procesů, maximální spokojenost zákazníků, upevnění pozice firmy (nebo produktu) na trhu, zlepšení hospodářských výsledků firmy, zvýšení účinnosti firemních procesů … se postupem času, zejména v posledních několika dekádách, staly primárními významy jakosti a jejich zajištění. Se zvyšováním produktivity a účinnosti procesů může ruku v ruce jít i rozvoj firemní kultury, rozvoji zaměstnanců, různým úsporám (materiálu, energie, času, …).

Ať již sada norem ISO 9000 anebo CMM/CMMI, je to o dobrovolnosti firmy – chce nebo nechce uspět, chce či nechce využít pragmatických přístupů ISO či CMM/CMMI … je to na firmě. Každopádně nelze říci, že adopce ISO 9000 či CMM/CMMI, stejně jako jiného modelu řízení kvality, úspěch firmy mezi konkurencí stoprocentně zaručí, ale pouze může dopomoci.

Sada norem ISO 9000

Jak jsem již zmínil, sada norem ISO 9000 světlo světa spatřila roku 1987. Od té doby prošla mnohými změnami. První významné změny obsahu a struktury přišly roku 1994. Další důležité změny roku 2000, kdy se sloučili normy ISO 9001, ISO 9002, ISO 9003 a pak další změny.

Sadu norem ISO 9000 nelze chápat jako metodologii, která nám řekne, jak co dělat. Jedná se doporučující soubor minimálních požadavků na systém jakosti firmy, které nejsou závazné. Závazné nejsou do té doby, dokud se firma někomu dalšímu těmito minimálními požadavky na systém jakosti nezaváže (Např. se firma zaváže odběrateli, že u sebe zavedla systém jakosti. Přestože sada norem 9000 neříká, jak co dělat, je poměrně direktivním nástrojem, jenž firmu i její zaměstnance nutí dodržovat firmou přijaté směrnice, postupy aj.

ISO 9000 se zabývá různými aspekty řízení kvality a obsahuje některé z nejlepších známých standardů této organizace. Norma poskytuje pokyny a nástroje pro firmy, které chtějí, aby jejich produkty a služby splňovaly požadavky zákazníka a zajistit trvale se zlepšující kvalitu.

Existuje mnoho standardů v rodině ISO 9000, včetně:

  • ISO 9001:2008 – stanovuje požadavky na systém managementu jakosti, stanovuje kritéria pro systém managementu jakosti a je to jediná norma v rodině, podle které může být firma certifikována (i když to není podmínkou). Může ji použít jakákoliv firma, velká i malá, bez ohledu na její zaměření.
  • ISO 9000:2005 – pokrývá základní pojmy a jazyk
  • ISO 9004:2009 – zaměřuje se na to, jak udělat systém řízení kvality, účinnější a efektivnější
  • ISO 19011:2011 – stanoví pokyny pro interní a externí audity systémů managementu jakosti

Norma je založena na několika zásadách managementu jakosti, například na silném zaměření na zákazníka, motivaci vrcholového managementu, procesním přístup a neustálém zlepšování. Pokud firma získá certifikát (tj. formální uznání systému managementu jakosti nezávislým orgánem) ISO 9001:2008, její zákazníci mohou mít jistotu, že splňuje minimální požadavky na systém jakosti firmy, tedy že se firma kvalitou aktivně zabývá a neustále ji zlepšuje. To pro firmu může znamenat mnoho obchodních výhod.

Důležitou součástí ISO 9001:2008 je i kontrola, že systém funguje, jak má. Proto firma provádí interní audity. Firma může (ale také nemusí) přizvat i nezávislý certifikační orgán, který ověří, že systém je v souladu se standardem.

Capability Maturity Model Integration (CMMI)

Jak jsem již zmínil, roku 1987 Software Engineering Institute (SEI) – Carnegie Mellon University (SEI-CMU) představil první předzvěst modelu pro softwarové procesy. Až o několik let později se z této iniciativy vyklubal model použitelnější pro firemní praxi. Nejdříve obecný procesní model Capability Maturity Model (CMM) a o něco později Capability Maturity Model Integration (CMMI), ve volném překladu Stupňovitý model zralosti, který se zaměřuje především na oblast IT a proces vývoje softwaru.

K dispozici jsou tři modely CMMI, které sdílí téměř identické postupy, neboť se vychází ze zkušenosti, že tyto postupy platí pro jakékoliv podnikání. Avšak každý model má také jedinečné postupy, neboť se zaměřuje na něco jiného.

  1. CMMI pro akvizice (CMMI for Acquisition / SA CMMI): Tento model je vhodný pro firmy, které pracují převážně s dodavateli, na základě jejichž dodávek budují produkt (sestavují výrobek na poskytují službu). Model se zabývá tím, jak co nejúčinněji oslovit dodavatele, vytvořit dodavatelské smlouvy, shromáždit a předat požadavky na dodavatele, sledovat činnosti a artefakty dodavatele a jak uzpůsobit práci s dodavateli ku potřebám koncových uživatelů. Bližší popis CMMI for Acquisition, Version 1.3
  2. CMMI pro vývoj (CMMI for Development / CMMI-DEV) je určen firmám, které se zaměřují na vývoj a údržbou produktů a služeb. Tento model se zabývá převodem požadavků zákazníků na požadavky, které používají vývojáři, provádění technické analýzy, návrhy produktů a služeb a zajištění vývojářských prací tak, aby odpovídali ve výsledku potřebám koncových uživatelů a specifikacím. Bližší popis CMMI for Development, Version 1.3
  3. CMMI pro služby (CMMI for Services / CMMI-SVC) je určen pro firmy, které se zaměřují na vytváření, správu či poskytování služeb. Tento model se zabývá detaily plánování a řízení kapacit a dostupnosti služeb, vyřizování stížností, plánování přerušení služeb, zjištění, co je zapotřebí k provozu služby (včetně lidí, procesů, spotřebního materiálu, zařízení aj.). Bližší popis CMMI for Services, Version 1.3

Je na firmě, jaký model si vybere. Pravděpodobně si vybere model, který odpovídá jejím obchodním cílům. Uvedené modely však lze kombinovat. Blíže o tom, který model vybrat.

CMMI existuje ve verzi CMMI-SE (System Engineering), zaměřující se na vývoj komplexních systému a CMMI-SW (Software), zaměřující se na vývoj softwaru.

CMMI určuje skupiny procesních oblastí, které firma (tým) musí splňovat a cíle, které musí dosahovat:

Skupina Řízení procesů:

  • Zaměření na procesy organizace
  • Definice procesů organizace
  • Školení organizace

Skupina Řízení projektů:

  • Plánování projektů
  • Monitorování a řízení projektů
  • Řízení vztahů se subdodavateli
  • Řízení rizik
  • Integrované řízení projektů

Skupina Návrh a realizace (Engineering):

  • Řízení požadavků
  • Vývoj požadavků
  • Technické řešení
  • Integrace produktu
  • Verifikace
  • Validace

Skupina podpůrné procesy:

  • Řízení konfigurací
  • Zajištění jakosti produktů a procesů
  • Měření a analýza
  • Rozhodování na základě analýzy variant

CMMI určuje 5 úrovní zralosti:

  1. Počáteční (Initial): Týmy na této úrovni definované procesy nevykonávají nebo pouze částečně
  2. Řízená (Managed): Je stanoveno řízení projektů a činnosti jsou plánovány
  3. Definovaná (Defined): Postupy jsou definovány, dokumentovány a řízeny
  4. Kvantitativně řízení (Quantitatively Managed): Produkty i procesy jsou řízené kvantitativně
  5. Optimalizující (Optimizing): Tým soustavně optimalizuje své činnosti

CMMI je navrženo tak, aby firma mohla kvalitu svých procesů rozvíjet na základě své úrovně.

Ano, ale …

Je pravda, že CMMI i rodina ISO 9000 jsou schopny zvýšit a udržet ve firmě kvalitu. Je nutné však počítat s tím, že adopce těchto modelů nemusí být jednoduchá, rychlá, levná. Pominu např. drobné investice do ISO norem (nejsou volně šiřitelné, celkově za všechny potřebné můžete dát do několika tisíc Kč), CMMI materiály jsou naštěstí zdarma. Větší jsou náklady na člověka, jenž se zavedením modelů ve firmě aktivně a soustavně věnuje a bez něhož se prakticky zpravidla nepodaří potřebných změn dosáhnout. Podle složitosti firmy je možné, že náklady vzrostou i potřebou zajištění externích konzultací. Školení zaměstnanců, zavedení případných nových rolí/pracovních pozic (nemusí být nutně), … to vše může adopci modelu kvality prodražit. Přechod k ISO 9000 může trvat měsíce i několik let, je zapotřebí systém kontrolovat a udržovat. Přechod z jednoho stupně CMMI na druhý může trvat rok či dva. Je proto nutné, aby firma k adopci přistupovala pragmaticky, uvážlivě, včas a rozhodně, aby očekávala přínos postupný, nikoliv okamžitý.