Časté otázky k modelům CMMI

Modely CMMI nejsou v Česku příliš známé a proto je k nim řada dotaů týkajících se jejich přínosů a způsobu používání. Ty nejčsatější shrnujeme na této stránce.


Kde mohu CMMI zakoupit?

Samotný standard CMMI je zdarma ke stažení na webových stránkách.

Je CMMI použitelné pro malé firmy?

Je pravda, že CMMI je svým původním založením určeno především pro větší firmy. Hlavním problémem při implementaci CMMI ale není samotná velikost týmu, ale odlišný způsob práce. Malé firmy většinou mají výrazně jednodušší procesy, předávání práce funguje neformálně a různé role se kumulují jednomu pracovníkovi. Většinou pak není důraz na projektovou dokumentaci a to ani řídící ani vývojovou. CMMI od základu předpokládá formalizaci práce a dodržování projektových standardů, čímž se znašně liší od praxe běžné v malých firmách.

CMMI je vhodné pro každý vývojový tým velký i malý. Podstatné je, jestli tým má zájem pracovat podle dohodnutých pravidel, řádně svou práci plánovat a plány dodržovat. Důležité také je, aby skutečným cílem týmu bylo dodávat kvalitní produkty a pracovat projektovým způsobem. V neposlední řadě je také potřeba, aby tým uměl prosadit pravidla projektové práce i u svých zákazníků resp. odběratelů.

Důležité je si především uvědomit, že důrazy malých firem jsou jiné, než firem větších a je třeba tak i model CMMI aplikovat.

Kolik firem se nechává prověřit podle CMMI?

CMMI je zajímavé pro stále větší počet firem, i když jejich nárůst není nijak velký. Podle statistiky, kterou dělal v roce 2010 p. Yoram jsou počty následující:

2007
2008
2009
2010
Počet posouzení
1964
3113
4134
5499
Počet opakovaných posouzení
208
361
564
826
Podíl firem mimo USA
65%
69%
71%
74%
Počet zemí, kde jsou audit. spol..
59
63
67
69


Je také zajímavé vidět, že stále více společností je certifikováno externím auditorem, zatímco podíl interních auditů klesá. Důvod jsou patrné a to hned 2:

  • Externě prováděný audit vyjde levněji, protože náklady na interního auditora jsou velmi vysoké a většině firem se nevyplatí
  • Externí audit je důvěryhodnější a řada společní, i když má interního auditora, své týmy nechá prověřit externím auditorem kvůli svým zákazníkům.
  • Jak je vidět, dále, narůstá počet auditů malých a středních společností, které si interních auditora nemohou dovolit a neměl by pro ně smysl

Současně také klesá vazba CMMI na firmy pracující pro stát a armádu. (Připomeňme, že CMMI je v USA asi takovým požadavkem ze strany státní správy a armády, jako u nás ISO 9001.) Trvale se zvětšuje podíl společností, které žádají a audit CMMI i když důvodem nejsou dodávky státnímu sektoru.

2007
2008
2009
2010
Podíl komerčních ceritifkátů
70%
72%
74%
77%
Dodavatelé státu a armády
27%
23%
21%
19%
Podíl státních a armádních týmů
4,1%
5%
4,8%
4,5%


Ze statistik je dále zajímavé, že zatímco velkých organizací, které se nechávají posoudit (auditovat), mírně ubývá, malých naopak výrazně přibývá. Žádnou analýzu důvodů neznáme, ale možnými důvody je:

  • Dochází ke konsolidaci týmů ve velkých společnostech a díky významným akvizicím i celkový počet velkých organizací spíš poklesl, takže je celkově menší počet "velkých kandidátů"
  • Některé evropské společnosti začali využívat evropský standard ISO 15 504 místo "U.S. native" CMMI.
  • Pro malé organizace je stále důležitější vlastnit oficiální potvrzení jejich kvalit. Zvlášť významné je to při outsourcingu služeb. Pro pravdivost tohoto argumentu svědčí zejména fakt, že největší zájem o CMMI je v Asii, odkud se tradičně poskytují služby do USA.
Velikost organizace
2007
2008
2009
2010
1 - 100
46%
51%
54%
58%
101 - 200
20%
20%
20%
18%
201 - 1000
27%
23%
21%
19%
1000+ 7% 6% 5% 4%


Použití CMMI, to znamená jet podle procesů z normy, ne?

Především, CMMI není norma ale model. Tento na pohled banální rozdíl v sobě přináší důležité slovo model, které lze chápat i jako příklad, nebo také best practices. CMMI neobsahuje popis procesů, dokumentů a postupů jako např. Prince 2, PMBOK nebo jiné pracovní standardy. Procesy tedy nelze snadno převzít.

Na druhou stranu je nutné přiznat, že model CMMI je tak obsáhlý, že toho obsahuje hodně a pracovních postupů a výstupů v něm navrhovaných je tolik, že kdyby je normální komerčně fungující softwarová firma všechny převzala, do roka nejspíš zkrachuje. Model CMMI toho modeluje mnoho a pro každou firmu je třeba zvolit vhodné procesy a postupy a dost možná skutečně jiné, než jaké jsou popsány v příkladech v tomto modelu. Přímá aplikace doporučení z modelu CMMI v jejich čisté podobě by asi pomohla získání 2. nebo i 3. úrovně CMMI, určitě by ale nepomohla kvalitě, efektivitě a kultuře firmy. Na to je dobré se modelem inspirovat, ale především skutečně heldatoptimální řešení. To není v žádném modelu ani standardu, ale ve firmě, lidech a jejich cílech.

Je pro evropskou firmu důležitý standard CMMI? Není lepší využívat standard ISO/IEC 15504?

ISO/IEC 15504, známý také jako SPICE, je modelu CMMI velmi podobný. (CMMI se standardu ISO/IEC 15504 přizpůsobilo tím, že zavedlo kontinuální model implementace a upravilo některé požadavky). Použití obou standardů je v podstatě rovnocenné a i posouzení na shodu se CMMI a audit podle ISO/IEC mají v stejnou váhu. Rozhodnutí, zda usilovat o posouzení shody procesů se CMMI nebo certifikát na ISO/IEC 15504 tedy závisí ne na standardech, ale spíš na vašich zákaznících a trhu, pro který vaše firma pracuje..

Obecně CMMI je praktičtější pro implementaci, protože obsahuje řadu návodu a doporučení, kdežto evropský standard je mnohem stručnější.

Pro většinu firem, který standard CMMI implementují, je navíc často argumentem, že standard CMMI je volně ke stažení na Internetu, takže se s ním pracovníci snadněji seznámí. Na druhou stranu, certifikace podle ISO/IEC 15504 vyjde levněji než posouzení podle CMMI.

Software sami nevyvíjíme ale nakupujeme. Je pro nás CMMI k něčemu dobré?<

CMMI je modelem primárně určeným pro týmy, které se zabývají vývojem. Pokud vaše organizace software nakupuje a záleží vám na kvalitě dodávek, jistě od dodavatelů požadujete prokázání schopnosti dodávat kvalitní produkty. Požadavek na určitou úroveň CMMI je v rámci výběrových řízení obvyklým kritériem hodnocení dodavatele.

Kromě úvodního hodnocení jsou ale podstatná i možnost využít interních kontrolních a měřících mechanismů dodavatele, který svými procesy plní cíle modelu CMMI, pro vlastní potřebu. Od dodavatele je možné získat podrobné informace o průběhu projektu a tak projekt efektivně sledovat. Rádi vám poradíme, jak konkrétně postupovat.

CMMI je celou rodinou modelů a jedním z dalších modelů je SA CMMI (Software Acquisition CMMI), což je model určený právě pro organizace nakupující technologie a systémy ať už vyvíjené na zakázku nebo na standardní (krabicový software, typizované produkty). Model je podobný modelu CMMI for Development a i jeho přínosy pro společnost jsou podobné - lepší sledovatelnost, vyšší pravděpodobnost úspěchu projektu a hlavně rychlejší odhalení nedostatků případně nerealizovatelnosti projektu.

Týká se CMMI pouze vývoje software?

I když je CMMI známé zejména v souvislosti s vývojem software, od počátku bylo navrhováno jako model pro řízení vývoje složitých systémů ve kterých je nutné kombinovat různé dodávky a technologie. Vzhledem ke svému původu měli autoři pochopitelně na mysli informační a zbrojní systémy, ale model se uplatňuje v řadě příbuzných oborů. Obecně lze říci, že model je vhodný všude, kde je třeba koordinovat vývojové a výzkumné činnosti za účelem dosažení přesně definovaného cíle v daném čase resp. rozpočtu. V praxi se systém uplatňuje kromě oblasti vývoje software zejména ve strojírenství, elektrotechnickém, leteckém a částečně i automobilovém průmyslu. (Omezené využívání modelu v automobilovém průmyslu není způsobeno jeho nevhodností, ale řadou jiných standardů požadovaných velkými automobilovými společnostmi.)

Kolik dá práce dosáhnout úrovně 2?

Z vlastní zkušenosti i z publikovaných case-study víme, že přechod z jedné úrovně na druhou trvá cca 18 měsíců s tím, že ve firmě je pracovník, který se dosažení zlepšení soustavně věnuje. Bez toho, že by byl jmenován pracovník, který má organizační a pracovní změny jako hlavní pracovní náplň, se změny většinou nepodaří dosáhnut. Kromě toho musí mít projekt jednoznačnou morální i faktickou podporu top managementu, který se změnám každý měsíc věnuje a poskytuje zdroje ze všech pracovních rolí a týmů.

Ačkoli je účelné spolupracovat s externími specialisty, kteří mají zkušenosti s organizačními změnami, systémy jakosti a se CMMI konkrétně, přesto je nezbytné, aby změny byly realizovány v rámci interního projektu ve kterém spolupracují interní pracovníci. Bez úzké spolupráce se zástupci interních týmů nebudou navrhované změny přijímány pracovníky a projekt nepřinese užitek. Stejně tak jako není možné vzít konkrétní metodologii a lidem ji vnutit, není možné ani direktivně nařídit plnění cílů CMMI, ale je nutné pro to připravit procesy, pracovní postupy, nástroje a zejména lidi vychovat, aby cílům rozuměli a tzv. "dostali je do krve".

Je možné získat rovnou posouzení na vyšší úroveň než 2 (např. 3 nebo 4)?

Teoreticky to možné je, nic nebrání tomu, aby firma požádala o posouzení na libovolnou úroveň CMMI ale v praxi se to nestává, protože každá úroveň je tak výrazným kvalitativním krokem, že je efektivnější při jejich plnění i provést kontrolu, jestli je postup skutečný nebo pouze formální.

Je možné implementovat současně CMMI a ISO 9001:2009?

Samozřejmě to možné je a pokud firma chce získat oba certifikáty (což je zvláště v Česku běžné), je rozumné projekt zavedení systému řízení jakosti  řídit tak, aby se plnily požadavky normy ISO 9000 i modelu CMMI.

Kolik nás bude zavedení CMMI stát?

Je třeba počítat s tím, že pro vývojovou firmu o 100 - 200 pracovnících, která dosud nemá žádný interní systém jakosti, znamená splnění cílů CMMI úrovně 2 práci v rozsahu cca 2 pracovních roků v rámci organizace a navíc čas školení jednotlivých pracovníků. V případě, že firma má systém řízení splňující ISO 9000:2009 (a nemá jej, jak je zhusta zvykem, pouze formálně), jsou změny pro CMMI úrovně 3 většinou poměrně malé, je možné je implementovat během cca 6 měsíců a nároky na pracnost mohou být řádově v člověkoměsících.

Tak jako všechny odhady náročnosti, i zde je třeba připomenout, že odhady vycházejí z předpokladů, že činnosti vykonávají pracovníci s potřebnými znalostmi, zkušenostmi a zejména s motivací dotáhnout projekt do konce.

Je pro nás CMMI vhodné?

Obecně lze říci, že CMMI je vhodné pro každou společnost, která se zabývá vývojem a/nebo výzkumem a musí v cíli splnit přesně zadání (včetně všech změnových požadavků) a dodat své řešení v definovaném čase a rozpočtu. Tato definice platí i v případě, že projekty, které firma realizuje, procházejí v průběhu vývoje řadou změn a jejich rozsah se mění. Stejně tak je CMMI (na rozdíl od staršího CMM) slučitelné s různými vývojovými cykly včetně spirálovitého i s principy agilního programování (Agile programming, reprezentovaný zejména Extreme Programming).

Naopak pro menší společnosti zabývající se zejména drobným vývojem, vývojem web prezentací firem, výukovými aplikacemi apod. je CMMI ve svém plném rozsahu často zbytečné. I tak z něj mohou čerpat zkušenosti bez toho, že se budou snažit jej v plném rozsahu splnit.

Už máme certifikát na plnění normy ISO9000:2009? Můžeme rovnou požádat o posouzení na CMMI? Na jakou úroveň?

ISO 9000:2009 je srovnáváno se 3. úrovní CMMI. I když byla vytvořena řada mapování standardu na normu, vždy je třeba pamatovat na základní rozdíl, který spočívá v orientaci norem. CMMI je podrobný model směřovaný na vývoj zatímco ISO 9000 normy jsou generické normy aplikovatelné v podstatě v každé oblasti produkce a vývoje. CMMI je proto v mnoha směrech mnohem podrobnější a obsahuje řadu specifických požadavků jdoucích daleko za rámec požadavků norem řady ISO 9000.

Pokud firma odpovědně a důkladně implementuje model ISO, lze říct, že má splněno cca 80% požadavků modelu CMMI úrovně 3 a dosažení shody se CMMI nebude vyžadovat žádné zásadní zásahy.

Naopak shoda s modelem CMMI v úrovni 3 je dobrým základem pro plnění požadavků normy ISO, ale plné pokrytí záleží zejména na tom, jak byly řešeny interní kontroly, evidence a výkazy. Norma ISO strikně požaduje vytváření záznamů z některých operací (např. interní audity, záznamy neshod, apod.) a je třeba v rámci činností realizovaných podle modelu CMMI zajistit s těmito požadavky shodu. Druhým zásadním rozdílem je, že model CMMI je implementován v rámci týmu, kdežto normu ISO musí plnit celá organizace. Tyto rozdíly jsou tak významné, že obecné tvrzení o míře plnění normy ISO by bylo hodně zavádějící a je třeba situaci posoudit individuálně.

Když je model CMMI volně dostupný, brání něco tomu, abychom jej implementovali sami?

Ne, nebrání tomu nic. Je několik zásadních důvodů, pro které je vhodné spolupracovat s externími specialisty:

1) Externí pohled na interní procesy je vždy více s odstupem než když se totéž snaží dělat interní pracovník. Externí konzultant může snadněji navrhnout změny, které se interní tým většinou navrhnout neodváží a pracovníci dobré nápady ani neprezentují, protože si rovnou řeknou řadu důvodů, "proč to nejde". Přitom v praxi právě tato zásadní řešení pomáhají nejlépe, ale chybí impuls.

2) Model CMMI je poměrně složitý a složitá je správná implementace procesů tak, aby firmě změny neuškodily. Pracovník, který změny navrhuje musí velmi dobře znát model CMMI, ale také musí umět navrhovat i řídit organizační změny a umět komunikovat a motivovat všechny pracovníky firmy. Jedná se o velmi odlišné požadavky (technické i organizační schopnosti) ke kterým jsou potřebné í zkušenosti. Ze zkušenosti víme, že pracovníků se všemi potřebnými předpoklady, je velmi málo.

3) Externí pracovník externí zkušenosti a má s modelem CMMI praxi, takže při implementaci nejde do neznáma.

Je pochopitelné, že spolupráce s externím subjektem má smysl pouze pokud bude mít skutečně přínosy. Důkladný výběr kvalitní podpory je klíčový. Nutno proto upozornit, že není ani tak podstatné, jakou hlavičku má firma, ale jaké konkrétní znalosti a hlavně zkušenosti má ten konkrétní pracovník, který bude v rámci projektu pracovat, Je potřeba se proto zajímat o kvality konkrétního jednotlivce.

Je CMMI metodika?

Ne není a je to častá mýlka. Metodologie vám popíše proces i pracovní postupy. I když každou metodiku firma nějak modifikuje, v zásadě je metodika popisem činností, které je možné začít realizovat. Příkladem takových dopracovaných metodik je ITIL, PMBOK, Prince 2.

CMMI, podobně jako norma ISO 9000:2009 je souborem cílů, které firma musí splňovat a je v zásadě jedno, jak je plní. Zatímco metodologie vám více či méně přesně řeknou, že musíte mít plán projektu a co v něm má být za informace, model CMMI ani norma ISO vám plán projektu nepředepisuje a pokud budete jejich požadavky plnit zcela jiným způsobem, bude to korektní. Na rozdíl od normy ISO 9000:2009, která obsahuje pouze povinné cíle, model CMMI kromě cílů obsahuje i řadu doporučení, jak těch povinných cílů dosáhnout. Doporučení jsou ale dobrovolná a nejsou vzájemně provázaná, takže dohromady rozhodně metodiku nevytváří. Jsou to doporučení v tom smyslu, že se jimi lze inspirovat, jak daného cíle dosáhnout, ale často obsahují více možností, jak jich dosáhnout a je třeba z nich vybrat nebo se jimi inspirovat a vytvořit řešení vlastní.

Je na místě otázka, jestli není vhodnější využít "hotové" metodiky (resp. metodologie), místo modelu CMMI, který je sice velmi rozsáhlý, ale přitom nedává to, co metodika. Tuto otázku je obtížné odpovědět obecně, ale podstatné je, že metodika a model či norma sledují různé cíle. Každá metodika je vhodná pro určité podmínky a pokud firma dané podmínky splňuje, je metodika vhodná. Vhodnost modelu či normy samozřejmě také závisí na určitých podmínkách (viz odpověď na otázku Je pro nás CMMI vhodné?) ale ta omezení jsou mnohem volnější než u metodiky. Druhým a stejně zásadním důvodem je, že aplikace modelu umožní využít a zlepšit stávajících postupů a udržet si současné kompetitivní výhody, které firmu odlišují od konkurence. Aplikace metodologie naopak vyžaduje přizpůsobení firmy požadavkům metodologie, což je často změna významnější a většinou lze jen velmi obtížně využít současných procesů, postupů, šablon a jiných procesních aktiv.

Naši projektoví manažeři pracují podle metodiky PMBoK. Má pro nás ještě CMMI význam?

CMMI je standardem práce celého projektového týmu a není metodikou řízení projektů. CMMI se proto se stadardem PMBoK od PMI nepřekrývá a ani vzájemně nekolidují. Principy, ze kterých CMMI i PMBoK vychází jsou shodné - kvalitní, plánování a procesní řízení. CMMI jde dál a definuje standardy i pro ostatní činnosti softwarového týmu, PMBoK naopak předepisuje, jak konkrétně má pracovat manažer projektu.

Pracujeme pro automobilový průmysl. Je pro nás CMMI vhodné?

Automobilový průmysl používá velmi podobný standard Automotive SPICE, který je variantou ISO/IEC 15504 pro automobilový průmysl. Pro evropské firmy dodávající software automobilovému průmyslu je dodržování standardu Automotive SPICE v podstatě nezbytné. Rozdíly mezi požadavky CMMI a Automotive SPICE jsou ovšem velmi malé a CMMI je vhodnou příručkou pro implementaci standardu, protože na rozdíl od ISO/IEC 15504 obsahuje řadu doporučení a návodů. ISO/IEC 15504 i Automotive SPICE zatím pouze definují požadavky, které firma musí splňovat, ale dále je nerozvádí.

Většinu požadavků pro automobilvý průmysl definuje norma ISO 26262. Výhodou CMMI ale je, že oproti ISO 26262 poskytuje návody, jak požadavky řešit. Firmám proto pomáháme s implementací požadavků podle normy ISO 26262 a přitom využíváme doporučení, které jsou obsaženy v CMMI.