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.

Kykykypsyysmalli

Mitä ovat Capability Maturity Model (CMM) -tasot?

  1. Ensimmäinen
  2. Toistettavissa/hallittu
  3. Määritelty
  4. Määrällisesti hallinnoitu
  5. Optimointi

Capability Maturity Model (CMM) tasot

Mitä tapahtuu CMM:n eri tasoilla?

Tasot Toiminta Hyödyt
Taso 1 Alkuperäinen
  • Tasolla 1 prosessi on yleensä kaoottinen ja ad hoc
  • Kyky määritellään yksilöiden eikä organisaation perusteella
  • Edistystä ei mitattu
  • Kehitetyt tuotteet ovat usein aikataulussa ja yli budjetin
  • Suuria vaihteluita aikatauluissa, kustannuksissa, toimivuudessa ja laatutavoitteissa
Ei mitään. Projekti on Total Chaos
Taso 2 Hallittu
  • Vaatimusten hallinta
  • Arvioi projektin parametrit, kuten kustannukset, aikataulu ja toiminnallisuus
  • Mittaa todellista edistystä
  • Suunnittele ja prosessi
  • Ohjelmistoprojektien standardit on määritelty
  • Tunnista ja hallitse tuotteet, raportoi ongelmat muutokset jne.
  • Prosessit voivat vaihdella projekteissa
  • Prosesseja on helpompi ymmärtää
  • Esimiehet ja tiimin jäsenet käyttävät vähemmän aikaa selittääkseen, miten asiat tehdään, ja enemmän aikaa niiden toteuttamiseen
  • Projektit ovat paremmin arvioituja, paremmin suunniteltuja ja joustavampia
  • Laatu on integroitu projekteihin
  • Kustannukset voivat olla aluksi korkeat, mutta ne laskevat ylitöitä
  • Kysy lisää papereita ja asiakirjoja
Taso-3 määritelty
  • Selvitä asiakkaiden vaatimukset
  • Ratkaise suunnitteluvaatimukset, kehitä toteutusprosessi
  • Varmistaa, että tuote vastaa vaatimuksia ja käyttötarkoitusta
  • Analysoi päätökset järjestelmällisesti
  • Korjaa ja hallitse mahdollisia ongelmia
  • Prosessin parantamisesta tulee standardi
  • Ratkaisu etenee "koodatusta" "suunniteltuun"
  • Laatuportit näkyvät koko projektin ajan, kun koko tiimi on mukana prosessissa
  • Riskit ovat pienentyneet, eivätkä ne yllätä tiimiä
Taso 4 määrällisesti hallinnoitu
  • Hallitsee projektin prosesseja ja osaprosesseja tilastollisesti
  • Ymmärrä prosessien suorituskykyä, hallitse kvantitatiivisesti organisaation projektia
  • Optimoi prosessin suorituskyvyn koko organisaatiossa
  • Edistää kvantitatiivista projektinhallintaa organisaatiossa.
Tason 5 optimointi
  • Tunnista ja poista vikojen syy ajoissa
  • Tunnista ja ota käyttöön uusia työkaluja ja prosessiparannuksia tarpeiden ja liiketoimintatavoitteiden täyttämiseksi
  • Edistää organisaation innovaatioita ja käyttöönottoa
  • Antaa sysäyksen syy-analyysille ja ratkaisulle

Seuraava kaavio antaa kuvallisen esityksen siitä, mitä tapahtuu eri CMM-tasoilla

CMM:n eri tasot

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

  1. Sitoutuminen suoritukseen
  2. Kyky suorittaa
  3. Aktiviteetit suorittaa
  4. Mittaus ja analyysi
  5. 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