Capability Maturity Model (CMM) ja sen tasot ohjelmistosuunnittelussa
Mikä on CMM?
Capability Maturity Model -mallia käytetään vertailukohtana organisaation ohjelmistoprosessin kypsyyden mittaamiseen.
CMM kehitettiin Software Engineering Institutessa 80-luvun lopulla. Se kehitettiin Yhdysvaltain ilmavoimien rahoittaman tutkimuksen tuloksena tapana arvioida alihankkijoiden työtä. Later perustuu CMM-SW-malliin, joka luotiin vuonna 1991 arvioimaan ohjelmistokehityksen kypsyyttä, ja useita muita malleja on integroitu CMM-I:een.
Mitä ovat Capability Maturity Model (CMM) -tasot?
- Ensimmäinen
- Toistettavissa/hallittu
- Määritelty
- Määrällisesti hallinnoitu
- Optimointi
Mitä tapahtuu CMM:n eri tasoilla?
Tasot | Toiminta | Hyödyt |
---|---|---|
Taso 1 Alkuperäinen |
|
Ei mitään. Projekti on Total Chaos |
Taso 2 Hallittu |
|
|
Taso-3 määritelty |
|
|
Taso 4 määrällisesti hallinnoitu |
|
|
Tason 5 optimointi |
|
|
Seuraava kaavio antaa kuvallisen esityksen siitä, mitä tapahtuu eri CMM-tasoilla
Kuinka kauan CMM:n käyttöönotto kestää?
CMM on halutuin prosessi tuotteen laadun ylläpitämiseksi mille tahansa ohjelmistokehitysyritykselle, mutta sen käyttöönotto vie vain vähän odotettua kauemmin.
- CMM:n käyttöönotto ei tapahdu yhdessä yössä
- Se ei ole vain "paperityötä".
- Tyypilliset toteutusajat ovat
- 3-6 kuukautta -> valmistelua varten
- 6-12 kuukautta -> täytäntöönpanoa varten
- 3 kuukautta -> arvioinnin valmistelua varten
- 12 kuukautta ->jokaiselle uudelle tasolle
CMM:n sisäinen rakenne
Jokainen CMM-taso on määritelty avainprosessialue tai KPA, paitsi taso 1. Jokainen KPA määrittelee joukon toisiinsa liittyviä toimintoja, jotka yhdessä suoritettuina saavuttavat joukon tavoitteita, joita pidetään välttämättöminä ohjelmistovalmiuksien parantamiseksi.
Eri CMM-tasoille on olemassa joukko KPA:ita, esimerkiksi CMM-mallille 2 KPA ovat
- REQM - Vaatimustenhallinta
- PP- Projektisuunnittelu
- PMC - Projektin seuranta ja valvonta
- SAM - Toimittajasopimusten hallinta
- PPQA-prosessi ja laadunvarmistus
- CM-Configuration Management
Samoin muille CMM-malleille sinulla on tietyt KPA:t. Jotta tiedetään, onko KPA:n käyttöönotto tehokasta, kestävää ja toistettavissa olevaa, se kartoitetaan seuraavasti
- Sitoutuminen suoritukseen
- Kyky suorittaa
- Aktiviteetit suorittaa
- Mittaus ja analyysi
- Toteutusta tarkistetaan
CMM-mallien rajoitukset
- CMM määrittää, mitä prosessin tulee käsitellä sen sijaan, miten se tulisi toteuttaa
- Se ei selitä kaikkia mahdollisuuksia ohjelmistoprosessin parantamiseen
- Se keskittyy ohjelmistokysymyksiin, mutta ei ota huomioon strategista liiketoiminnan suunnittelua, teknologioiden käyttöönottoa, tuotelinjan perustamista ja henkilöresurssien hallintaa
- Se ei kerro, minkälaisessa liiketoiminnassa organisaation tulisi toimia
- CMM:stä ei ole hyötyä projektissa, jossa on juuri nyt kriisi
Miksi käyttää CMM:ää?
Nykyään CMM toimii "hyväksynnän sinettinä" ohjelmistoteollisuudessa. Se auttaa monin tavoin parantamaan ohjelmiston laatua.
- Se ohjaa kohti toistettavissa olevaa standardiprosessia ja vähentää siten oppimisaikaa asioiden suorittamiseen
- CMM:n harjoittaminen tarkoittaa standardin protokollan harjoittamista kehitystä varten, mikä tarkoittaa, että se ei vain auta tiimiä säästämään aikaa, vaan antaa myös selkeän kuvan siitä, mitä tehdä ja mitä odottaa.
- Laatuaktiviteetit sulautuvat hyvin projektiin sen sijaan, että niitä ajatellaan erillisenä tapahtumana
- Se toimii kommunikaattorina projektin ja tiimin välillä
- CMM pyrkii aina parantamaan prosessia
Yhteenveto
CMM esiteltiin ensimmäisen kerran 80-luvun lopulla Yhdysvaltain ilmavoimissa arvioimaan alihankkijoiden työtä. Later parannetulla versiolla se otettiin käyttöön ohjelmistokehitysjärjestelmän laadun seuraamiseksi.
Koko CMM-taso on jaettu viiteen tasoon.
- Tasolla 1 (Alkuperäinen): Järjestelmän vaatimukset ovat yleensä epävarmoja, väärinymmärrettyjä ja hallitsemattomia. Prosessi on yleensä kaoottinen ja ad hoc.
- Tasolla 2 (Hallinnoitu): Arvio projektin kustannuksista, aikataulusta ja toimivuudesta. Ohjelmistostandardit on määritelty
- Tasolla 3 (Määritelty): Varmistaa, että tuote täyttää vaatimukset ja käyttötarkoituksen
- Tasolla 4 (Kvantitatiivisesti hallittu): Hallitsee projektin prosesseja ja osaprosesseja tilastollisesti
- Tasolla 5 (Maturity): Tunnista ja ota käyttöön uusia työkaluja ja prosessiparannuksia tarpeiden ja liiketoimintatavoitteiden täyttämiseksi