A CMMI alapú szoftverfejlesztési folyamat Készítette: Szmetankó Gábor G-5S8 Mi a CMMI? Capability Maturity Modell Integration Folyamat fejlesztési referencia modell Bevált gyakorlatok, praktikák halmaza, amelyek egy termék teljes életciklusára vonatkoznak Mérhetők az adott területen dolgozó csoportok képességei Különböző területekhez léteznek modellek: Szoftverfejlesztés Szolgáltatások Beszerzés Folyamat modell A folyamat modell gyakorlatok rendezett gyűjteménye, amelyek a hatékony folyamatok jellegzetességeit írják le Olyan jól bevált gyakorlatok, amelyek tapasztalat alapján bizonyítottak Szervezeti és projekt folyamatok fejlesztéséhez útmutató
Fejlesztési szempontok Eljárások és módszerek, amelyek leírják a feladatok közötti kapcsolatokat FOLYAMAT Megfelelő képességekkel, képesítéssel és motivációval rendelkező munkaerő Eszközök és felszerelés A folyamat modellek előnyei Folyamat fejlesztési célok kitűzése Stabil, érett folyamatok biztosítása Szervezeti fejlettség mérhetősége Növekvő termelékenység, vevői elégedettség, minőség Nagyobb megtérülés A folyamatfejlesztés alaptétele The quality of a product is largely determined by the quality of the process that is used to develop and maintain it.
A CMMI projekt célkitűzései Kiinduló integrált modell halmaz létrehozása További modellek beillesztését biztosító keretrendszer létrehozása Auditálási lehetőség biztosítása Oktató anyagok Kormányzati szervek és az ipar képviselőinek bevonása CMMI modellértelmezések A CMMI kétféle reprezentációt biztosít a modellek értelmezéséhez: Folyamatos (continous) Lépcsős (staged) Az adatbázis rendszereknél alkalmazott nézetekhez hasonlítanak ezek az értelmezések A tartalma mindkettőnek ugyanaz Az értelmezés különbözik Más-más szempontokat helyeznek előtérbe Folyamatos modellértelmezés A folyamat területek képességeinek vizsgálatát helyezi előtérbe Biztosítja a fejlesztés olyan menetét, amely a vállalat üzleti céljaihoz leginkább illeszkedik A vállalaton belüli folyamat területek összehasonlíthatóvá válnak Egy bizonyos folyamat területet vizsgál
Folyamatos modellértelmezés 2 6 képesség szintet (capability level) állít fel Jól definiált fejlődési lépcsőfok Minden szintnek van egy kitűzött célja Egymásra építenek -> folyamatos fejlődés Lépcsős modellértelmezés Fejlesztési lépések bizonyított sorozata, amelyek egymásra épülnek Egy egyszerű érettségi mutató tartozik a szervezethez Vállalaton belüli és vállalatok közötti összehasonlítást tesz lehetővé Érettségi szintek 5 érettségi szintet (maturity level) vezet be A szintek egymásra építenek, előkövetelményei egymásnak A vállalat folyamatainak érettségét mutatja
Érettségi szintek 2 Modell komponensek Folyamat területek Szint 5 - Optimalizáló 4 - Mennyiségileg irányított 3 - Definiált 2 - Irányított 1 - Kezdeti Hangsúly Állandó folyamat fejlesztés Mennyiségi menedzsment Folyamat szabványosítás Alapvető projekt menedzsment Folyamat területek Szervezeti megújulás és fejlődés Kauzális analízis és feloldás Szervezeti folyamat-teljesítmény Mennyiségi projekt menedzsment Követelmények előállítása Technikai megoldás Termék integráció Ellenőrzés Validáció Szervezeti folyamat vizsgálat Szervezeti folyamatdefiniálás Szervezeti oktatás Integrált projekt menedzsment Rizikó menedzsment Döntés analízis és feloldás Követelmény menedzsment Projekttervezés Projekt nyomkövetés és szabályozás Beszállítói megállapodás menedzsment Mérések és elemzések Folyamat- és termék minőségbiztosítás Konfiguráció kezelés
1. Kezdetleges érettségi szint A szoftverfejlesztési folyamatok végrehajtása ad-hoc, kaotikus jellegű A teljesítmény az egyes emberek elszántságán és kompetenciáján múlik Nincs stabil környezet Határidő-, költség túllépés A siker a legmegfelelőbb ember kiválasztásán múlik Nem megismételhető folyamatok 1. Kezdetleges érettségi szint 2 2. Irányított érettségi szint Középpontban a projekt Léteznek projekt előírások Képzett szakembereket alkalmaznak Felelősségi körök a szoftverfejlesztési projekt egyes fázisaiban Korábbi projektek eredményeit felhasználja Alapvető szoftverfejlesztési tevékenységek: Projekt tervezés, követés Konfiguráció menedzsment Követelmény menedzsment
2. Irányított érettségi szint 2 3. Definiált érettségi szint Szabványok, eljárások szervezeti szinten Különböző projektekhez testre szabják (tailoring) Konzisztensebb vállalati folyamatok Szigorúbb előírások Egyértelmű célok, bemenetek, tevékenységek, szerepkörök, módszerek, kimenetek Oktatás Ellenőrzések 3. Definiált érettségi szint 2
4. Mennyiségileg irányított szint Mennyiségileg értelmezhető célok, kritériumok Statisztikai szempontból vizsgálja a minőséget és a folyamat teljesítményt Mérési eredmények összegyűjtése A teljesítmény megjósolható (mind minőségileg, mind mennyiségileg) 5. Optimalizáló érettségi szint Állandó folyamat fejlesztés a változást előidéző okok számszerű megismerése útján Inkrementális, megújuló folyamat fejlesztés Mennyiségi alapú folyamatfejlesztési célok Hibaelemzés 5. Optimalizáló érettségi szint 2 Bemenet Kimenet Mérföldkövek, teljesítmény mérések
Irodalom Dennis M. Ahern, Aaron Clouse, Richard Turner: CMMI Distilled: A Practical Introduction to Integrated Process Improvement, 2nd Edition, Addison Wesley Professional, 2003. Carnegie Mellon Software Engineering Institute: CMMI for Development, Version 1.2, Carnegie Mellon Software Engineering Institute, 2006. Carnegie Mellon Software Engineering Institute: CMMI Version 1.1: Introduction to the Staged Representation, Carnegie Mellon Software Engineering Institute, 2002. Carnegie Mellon Software Engineering Institute: CMMI Site, http://www.sei.cmu.edu/cmmi/ Köszönöm a figyelmet!