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és2
►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 szintek2
Modell komponensek
Folyamat területek Szint
Hangsúly
Folyamat területek
5 - Optimalizáló
Állandó folyamat fejlesztés
Szervezeti megújulás és fejlődés Kauzális analízis és feloldás
4 - Mennyiségileg irányított
Mennyiségi menedzsment
Szervezeti folyamat-teljesítmény Mennyiségi projekt menedzsment
3 - Definiált
Folyamat szabványosítás
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
2 - Irányított
Alapvető projekt menedzsment
1 - Kezdeti
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 szint2
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 szint2
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 szint2
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 szint2
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!