CMMI usnadňuje kvalitní vývoj softwaru

DEFINICE Metoda CMMI (Capability Maturity Model Integration) představuje způsob, jak ohodnotit proces vývoje softwaru ve f...


DEFINICE
Metoda CMMI (Capability Maturity Model Integration) představuje způsob, jak
ohodnotit proces vývoje softwaru ve firmě, jak ho popsat a jak ho porovnávat s
průmyslovými normami. Zároveň pomáhá tento proces dále rozvíjet a zlepšovat.
Vzpomeňte si na polovinu osmdesátých let: Studená válka byla stále ještě vlažná
a Ministerstvo obrany Spojených států se tehdy ve všech záležitostech svého
působení více a více spoléhalo na počítače. Ty ale byly v porovnání s těmi
dnešními ještě v plenkách a pro vojenské účely musely splňovat přísné požadavky
z hlediska životního prostředí a spolehlivosti, takže byly ještě větší, těžší a
pomalejší než počítače pro civilní použití.
Začínaly se objevovat první grafické operační systémy i aplikace a většinu
vojenského softwaru vyvíjeli externí smluvní partneři. Ministerstvo obrany
naléhavě potřebovalo najít způsob, jak zjistit, zda partneři dodají software
včas, vejdou se do rozpočtu a vyhoví zadání.
Odpověď na tento požadavek přišla od lidí z Institutu softwarového inženýrství
při Carnegie Mellon University. Jejich model způsobilosti (Capability Maturity
Model, CMM) představoval způsob, jak ohodnotit a popsat kvalitu vývoje určitého
softwaru v dané firmě. Po prvním uvedení někdy v roce 1990 se pak CMM rozšířil
i do dalších oblastí. Roku 2001 došlo ke sloučení řady nesourodých prvků do
společné iniciativy pod názvem CMMI neboli Capability Maturity Model
Integration.

Pozadí CMMI
CMMI kombinuje pečlivě vybraný soubor nejlepších postupů založených na
zkušenostech z různých oborů, a to včetně systémové analýzy a designu,
softwarového inženýrství a managementu. I díky tomu se společnosti mohou s
pomocí CMMI pustit zároveň do celé řady zlepšovacích akcí, které by jinak
musely být řešeny jako samostatné iniciativy. To podněcuje vlnu inovací a
usnadňuje organizacím realizovat postupy, při nichž je brán v úvahu celý
životní cyklus výrobku.
Iniciativa CMMI je k dispozici ve dvou základních podobách jako postupná nebo
jako kontinuální. Známější je postupná CMMI se svými pěti stupni vyspělosti
(viz diagram). Umožňuje provádět porovnání mezi organizacemi a poskytuje
ověřený postup vhodný pro inovace.
Kontinuální verze CMMI umožňuje organizaci vybrat určitá vylepšení, která
nejlépe vyhovují podnikatelským cílům a minimalizují rizika, přičemž také
usnadňuje porovnávání procesů mezi projekty a přechod od jiných norem kvality.
Obě verze CMMI jsou navrženy tak, aby dávaly rovnocenné výsledky.
V rámci každé úrovně způsobilosti se v rámci CMMI klíčové procesy definují v
pěti oblastech: jako cíl, závazná povinnost, možnost, měřítko a kontrola.
Vývojáři CMMI vyvinuli vědeckou metodu k posuzování, do jaké míry dosahuje
organizace na každé úrovni způsobilosti daných cílů.

Metoda SCAMPI
Standardní metoda hodnocení CMMI pro zlepšování procesů (Standard CMMI
Appraisal Method for Process Improvement, SCAMPI) nabízí podrobné ohodnocení
silných a slabých stránek, které se vztahují k modelům CMMI. Metoda SCAMPI byla
vyvinuta s cílem pomoci organizacím zlepšit procesy, a to za pomoci stanovení
priorit a zacílení na inovace, které směřují k daným podnikatelským cílům.
Hodnocení podle SCAMPI nabízí jako službu řada nezávislých organizací. CMMI se
podobá mezinárodní normě ISO 9001, která stanovuje účinný kvalitativní systém
pro vývoj a údržbu softwaru. Hlavní rozdíl spočívá v tom, že norma ISO 9001
stanoví minimální přijatelnou úroveň kvality softwarových procesů, zatímco CMMI
udává rámec pro měření kontinuálního procesu zlepšování a je více explicitní v
definování prostředků, kterými toho má být dosaženo.
Mimochodem neočekávaným důsledkem vývoje CMM byl výrazný nárůst outsourcingu v
oblasti vývoje softwaru, zejména před rokem 2000. Agentury pro hospodářský
rozvoj v Indii a Irsku si libovaly, že právě díky CMMI mohly úspěšně uzavírat
se Spojenými státy zajímavé outsourcingové smlouvy. To mělo velmi příznivý
dopad na zaměstnanost softwarových inženýrů v zemích třetího světa, ale také
nepříznivý vliv na trh práce v oblasti špičkových technologií v rozvinutých
zemích.

Co CMMI neumí
Metoda CMMI byla vyvinuta, aby armádním důstojníkům usnadnila rychlé posouzení
schopností smluvního partnera dodat včas správný software, a v tomto směru
představuje velmi úspěšný produkt. Avšak nehodí se pro každou organizaci. Má
pevně stanovené požadavky na dokumentaci a na přesné postupy popsané krok za
krokem, takže je vhodná spíš pro velké organizace než pro malé.
Ale i v těch největších společnostech včetně takových, jako jsou Apple Computer
nebo Microsoft vedou vývojáři komerčních aplikací zřídkakdy dokumentaci
požadavků tak formálně, jak to CMMI vyžaduje. A protože je taková dokumentace
požadavkem pro 2. úroveň způsobilosti, všechny tyto společnosti by na stupnici
způsobilosti spadaly do 1. úrovně.
Rovněž je třeba uvést, že CMMI organizacím neporadí, jak implementovat při
vývoji softwaru inovace pouze určí, kde jich je zapotřebí. Samotné modely CMMI
nepředstavují přímo procesy ani popisy procesů. Konkrétní procesy, které si
organizace zvolí, závisejí na řadě faktorů a oblasti procesů z modelu CMMI jim
nemusejí přímo odpovídat. Z toho plyne, že typické metriky CMMI je obtížné
vymyslet, i když se zdá, že je lze snadno rozpoznat.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.