Ohjelmistokehityksen kypsyysmalli (CMM)

⚡ Älykäs yhteenveto

Kyvykkyysmalli (CMM) on mittari, jota käytetään mittaamaan organisaation ohjelmistoprosessien kypsyyttä. Software Engineering Instituten kehittämä malli määrittelee viisi tasoa, jotka ohjaavat tiimejä kaoottisesta ja satunnaisesta työstä kohti jatkuvaa ja optimoitua parantamista.

  • 📊 Määritelmä: CMM on mittari, joka mittaa organisaation ohjelmistokehitysprosessin kypsyyttä.
  • 🏛️ Alkuperä: Se kehitettiin Yhdysvaltain ilmavoimille Software Engineering Institutessa 1980-luvun lopulla.
  • 🪜 Viisi tasoa: Alkuperäinen, hallittu, määritelty, kvantitatiivisesti hallittu ja optimointi muodostavat kypsyysportaat.
  • Käyttöönottoaika: Täysi käyttöönotto kestää tyypillisesti kuukausia tasoa kohden, eikä muutos tapahdu yhdessä yössä.
  • 🧩 Tärkeimmät prosessialueet: Jokainen taso, tasoa 1 lukuun ottamatta, on määritelty avainprosessialueilla (KPA), jotka ryhmittelevät toisiinsa liittyviä tavoitteita.
  • ⚠️ rajoitus: CMM määrittelee, mihin prosessin tulisi puuttua, ei sitä, miten se toteutetaan, ja jättää huomiotta liiketoimintastrategian.

Capability Maturity Model (CMM)

Mikä on CMM?

Kykykypsyysmalli käytetään vertailuarvona organisaation ohjelmistoprosessin kypsyyden mittaamiseen.

CMM kehitettiin Software Engineering Institutessa 80-luvun lopulla. Se kehitettiin Yhdysvaltain ilmavoimien rahoittaman tutkimuksen tuloksena keinona arvioida sukellusveneiden työtä.tracTors. LaterVuonna 1991 luodun ohjelmistokehityksen kypsyyden arvioimiseksi tarkoitetun CMM-SW-mallin pohjalta CMM-I:hen integroitiin useita muita malleja.

Kykykypsyysmalli

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

Malli määrittelee viisi asteittaista kypsyystasoa:

  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?

Alla oleva taulukko erittelee kunkin tason toiminnot ja edut.

Tasot Toiminta Hyödyt
Taso 1 Alkuperäinen
  • Tasolla 1 prosessi on yleensä kaoottinen ja ad hoc -tyyppinen.
  • Kyvykkyyttä kuvataan yksilöiden, ei organisaation, perusteella.
  • Edistystä ei mitattu.
  • Kehitetyt tuotteet ovat usein aikataulusta jäljessä ja yli budjetin.
  • Aikataulussa, kustannuksissa, toiminnallisuudessa ja laatutavoitteissa on suuria vaihteluita.
Ei mitään. Projekti on täydellinen kaaos.
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 tuotteita, ongelmaraportteja, muutoksia 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 arvioidaan paremmin, suunnitellaan paremmin ja ne ovat joustavampia
  • Laatu on integroitu projekteihin
  • Kustannukset voivat aluksi olla korkeat, mutta laskevat ajan myötä
  • Vaatii lisää paperityötä ja dokumentaatiota
Taso-3 määritelty
  • Selvitä asiakkaiden vaatimukset
  • Ratkaise suunnitteluvaatimukset, kehitä toteutusprosessi
  • Varmistaa, että tuote täyttää vaatimukset ja on tarkoitettu käytettäväksi
  • 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 on minimoitu, 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 havainnollistaa, 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 hieman odotettua kauemmin.

  • CMM:n käyttöönotto ei tapahdu yhdessä yössä.
  • Se ei ole pelkkää "paperityötä".
  • Tyypillisiä käyttöönottoaikoja 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:n taso on määritelty avainprosessialue tai KPA, lukuun ottamatta tasoa 1. Jokainen KPA määrittelee joukon toisiinsa liittyviä toimintoja, jotka yhdessä suoritettuina saavuttavat joukon tavoitteita, joita pidetään elintärkeinä ohjelmiston kyvykkyyden parantamiseksi.

Eri CMM-tasoille on olemassa joukkoja KPA:ita. Esimerkiksi CMM-mallissa 2 KPA:t ovat:

  • REQM – Vaatimustenhallinta
  • PP – Projektisuunnittelu
  • PMC – Projektin seuranta ja hallinta
  • SAM – Toimittajasopimusten hallinta
  • PPQA – Prosessi- ja laadunvarmistus
  • CM – Konfiguraation hallinta

Samoin muissa CMM-malleissa on tiettyjä avainasemassa olevia tavoitteita (KPA). Jotta tiedetään, onko avainaseman toteutus tehokasta, kestävää ja toistettavaa, se kartoitetaan seuraavien perusteiden perusteella:

  1. Sitoutuminen suoritukseen
  2. Kyky suorittaa
  3. Suoritetut toiminnot
  4. Mittaus ja analyysi
  5. Toteutusta tarkistetaan

CMM-mallien rajoitukset

Mallilla on myös useita rajoituksia:

  • CMM määrittää, mihin prosessin tulisi puuttua, sen sijaan, miten se tulisi toteuttaa.
  • Se ei selitä kaikkia ohjelmistoprosessien parantamisen mahdollisuuksia.
  • Se keskittyy ohjelmistoasioihin, mutta ei ota huomioon strategista liiketoimintasuunnittelua, teknologioiden käyttöönottoa, tuotelinjan perustamista tai henkilöstöresurssien hallintaa.
  • Se ei kerro, millaista liiketoimintaa organisaation tulisi harjoittaa.
  • CMM:stä ei ole hyötyä projektissa, jossa on juuri nyt kriisi.

Miksi käyttää CMM:ää?

Nykyään CMM toimii ohjelmistoalalla eräänlaisena hyväksyntämerkkinä. Se auttaa monin tavoin parantamaan ohjelmistojen laatua.

  • Se ohjaa kohti toistettavissa olevaa standardiprosessia ja siten vähentää asioiden tekemisen oppimiseen kuluvaa aikaa.
  • CMM:n harjoittelu tarkoittaa kehitystyön vakioprotokollan harjoittelua, mikä tarkoittaa, että se paitsi auttaa tiimiä säästämään aikaa, myös antaa selkeän kuvan siitä, mitä tehdä ja mitä odottaa.
  • Laadukkaat aktiviteetit sopivat hyvin osaksi projektia sen sijaan, että niitä pidettäisiin erillisenä tapahtumana.
  • Se toimii viestinvälittäjänä projektin ja tiimin välillä.
  • CMM:n pyrkimykset ovat aina prosessin parantamiseen.

UKK

CMM on alkuperäinen malli, joka keskittyi pääasiassa ohjelmistoprosessien kypsyyteen. CMMI (Capability Maturity Model Integration) on sen seuraaja, joka kattaa ohjelmistot, laitteistot ja palvelut integroidulla viitekehyksellä. Useimmat organisaatiot käyttävät nykyään CMMI:tä vanhemman CMM:n sijaan.

Koordinaattien hallintaa (CMM) käytetään laajalti IT- ja ohjelmistopalveluissa, puolustus-, ilmailu-, pankki- ja televiestintäalalla. Kaikki organisaatiot, jotka ulkoistavat tai toimittavat monimutkaisia ​​ohjelmistoja, käyttävät sitä laadun vertailuun, riskien vähentämiseen ja luotettavien, toistettavien prosessien osoittamiseen asiakkaille.

Kyllä, vaikka CMMI on pitkälti korvannut alkuperäisen CMM:n. Kypsyysarvioinnit ovat edelleen merkityksellisiä organisaatioille, joiden on osoitettava prosessikuri ulkoistusprosessissa.tracts, julkiset tarjouskilpailut ja laatuauditoinnit, jopa ketterien ja DevOps-käytäntöjen rinnalla.

Tekoäly voi analysoida prosessidataa, havaita viat varhaisessa vaiheessa ja ennustaa aikataulu- tai kustannusriskejä. Automatisoimalla mittaamisen ja raportoinnin se tukee korkeampia CMM-tasoja, joissa organisaatiot luottavat määrälliseen hallintaan ja jatkuvaan, datalähtöiseen parantamiseen.

Kyllä. Tekoälytyökalut automatisoivat testauksen, koodin tarkistuksen ja prosessien seurannan, mikä tekee käytännöistä toistettavia ja mitattavia. Tämä auttaa tiimejä siirtymään ad hoc -työstä kohti määriteltyjä ja optimoituja tasoja, vaikka ihmisen johtajuutta tarvitaan edelleen hyötyjen ylläpitämiseksi.

Tiivistä tämä viesti seuraavasti: