Capability Maturity Model (CMM) & det er nivåer i programvareteknikk

Innholdsfortegnelse:

Anonim

Hva er CMM?

Capability Maturity Model brukes som målestokk for å måle modenheten til en organisasjons programvareprosess.

CMM ble utviklet på Software engineering instituttet på slutten av 80-tallet. Den ble utviklet som et resultat av en studie finansiert av US Air Force som en måte å evaluere arbeidet til underleverandører på. Senere basert på CMM-SW-modellen opprettet i 1991 for å vurdere modenheten til programvareutvikling, er flere andre modeller integrert med CMM-I de er

I denne veiledningen vil vi lære,

  • Hva er CMM-nivåer (Capability Maturity Model)?
  • Hva skjer på forskjellige nivåer av CMM?
  • Hvor lang tid tar det å implementere CMM?
  • Intern struktur av CMM
  • Begrensninger for CMM-modeller
  • Hvorfor bruke CMM?

Hva er CMM-nivåer (Capability Maturity Model)?

  1. Første
  2. Gjentasbar / administrert
  3. Definert
  4. Kvantitativt administrert
  5. Optimalisering

Hva skjer på forskjellige nivåer av CMM?

Nivåer Aktiviteter fordeler
Nivå 1 Initial
  • På nivå 1 er prosessen vanligvis kaotisk og ad hoc
  • En evne karakteriseres på grunnlag av individene og ikke av organisasjonen
  • Fremgang ikke målt
  • Produkter som utvikles er ofte tidsplan og over budsjett
  • Store variasjoner i planene, kostnadene, funksjonaliteten og kvalitetsmålene
Ingen. Et prosjekt er Total Chaos
Nivå 2 administrert
  • Kravstyring
  • Beregn prosjektparametere som kostnad, tidsplan og funksjonalitet
  • Mål faktisk fremgang
  • Utvikle planer og prosess
  • Programvareprosjektstandarder er definert
  • Identifiser og kontroller produkter, endringer i problemrapporter osv.
  • Prosesser kan variere mellom prosjekter
  • Prosesser blir lettere å forstå
  • Ledere og teammedlemmer bruker mindre tid på å forklare hvordan ting gjøres og mer tid på å utføre det
  • Prosjekter er bedre estimert, bedre planlagt og mer fleksible
  • Kvalitet er integrert i prosjekter
  • Kostnaden kan være høy i utgangspunktet, men går ned på overtid
  • Be om mer papirarbeid og dokumentasjon
Nivå 3 definert
  • Avklare kundens krav
  • Løs designkrav, utvikle en implementeringsprosess
  • Sørger for at produktet oppfyller kravene og tiltenkt bruk
  • Analyser avgjørelser systematisk
  • Utbedre og kontrollere potensielle problemer
  • Prosessforbedring blir standarden
  • Løsningen går fra å bli "kodet" til å bli "konstruert"
  • Kvalitetsporter vises gjennom hele prosjektinnsatsen med hele teamet involvert i prosessen
  • Risikoen reduseres og overrasker ikke teamet
Nivå 4 Kvantitativt administrert
  • Styrer prosjektets prosesser og delprosesser statistisk
  • Forstå prosessytelse, styr kvantitativt organisasjonens prosjekt
  • Optimaliserer prosessytelse på tvers av organisasjonen
  • Fremmer kvantitativ prosjektledelse i en organisasjon.
Nivå 5 Optimalisering
  • Oppdag og fjern årsaken til feil tidlig
  • Identifiser og distribuer nye verktøy og prosessforbedringer for å møte behov og forretningsmål
  • Fremmer organisatorisk innovasjon og distribusjon
  • Gir drivkraft til kausal analyse og løsning

Følgende diagram gir en billedlig fremstilling av hva som skjer på forskjellige CMM-nivå

Hvor lang tid tar det å implementere CMM?

CMM er den mest ønskelige prosessen for å opprettholde kvaliteten på produktet for ethvert programvareutviklingsselskap, men implementeringen tar litt lenger tid enn forventet.

  • CMM-implementering skjer ikke over natten
  • Det er bare ikke bare et "papirarbeid."
  • Typiske tider for implementering er
    • 3-6 måneder -> for klargjøring
    • 6-12 måneder -> for gjennomføring
    • 3 måneder -> for utarbeidelse av vurdering
    • 12 måneder -> for hvert nye nivå

Intern struktur av CMM

Hvert nivå i CMM er definert i sentralt prosessområde eller KPA , bortsett fra nivå 1. Hver KPA definerer en klynge av relaterte aktiviteter, som når de utføres samlet, oppnår et sett med mål som anses viktige for å forbedre programvarekapasiteten

For forskjellige CMM-nivåer er det sett med KPA-er, for eksempel for CMM-modell 2, er KPA

  • REQM- Kravstyring
  • PP- Prosjektplanlegging
  • PMC- Prosjektovervåking og kontroll
  • SAM- Leverandøravtalehåndtering
  • PPQA-prosess og kvalitetssikring
  • CM-Configuration Management

På samme måte, for andre CMM-modeller, har du spesifikke KPA-er. For å vite om implementering av en KPA er effektiv, varig og repeterbar, blir den kartlagt på følgende basis

  1. Forpliktelse til å utføre
  2. Evne til å utføre
  3. Aktiviteter utfører
  4. Måling og analyse
  5. Verifiserer implementering

Begrensninger for CMM-modeller

  • CMM bestemmer hva en prosess skal adressere i stedet for hvordan den skal implementeres
  • Det forklarer ikke alle muligheter for forbedring av programvareprosessen
  • Den konsentrerer seg om programvareproblemer, men vurderer ikke strategisk forretningsplanlegging, vedta teknologier, etablere produktlinje og administrere menneskelige ressurser
  • Den forteller ikke hva slags virksomhet en organisasjon skal være i
  • CMM vil ikke være nyttig i prosjektet som har en krise akkurat nå

Hvorfor bruke CMM?

I dag fungerer CMM som et "godkjenningsstempel" i programvarebransjen. Det hjelper på forskjellige måter å forbedre programvarekvaliteten.

  • Den guider mot repeterbar standardprosess og reduserer dermed læringstiden for hvordan du får ting gjort
  • Å praktisere CMM betyr å øve på standardprotokoll for utvikling, noe som betyr at det ikke bare hjelper teamet å spare tid, men også gir et klart bilde av hva de skal gjøre og hva de kan forvente
  • Kvalitetsaktivitetene passer godt sammen med prosjektet enn tenkt på som en egen begivenhet
  • Det fungerer som pendler mellom prosjektet og teamet
  • CMM-arbeidet er alltid mot forbedring av prosessen

Sammendrag

CMM ble først introdusert på slutten av 80-tallet i US Air Force for å evaluere arbeidet til underleverandører. Senere, med forbedret versjon, ble den implementert for å spore kvaliteten på programvareutviklingssystemet.

Hele CMM-nivået er delt inn i fem nivåer.

  • Nivå 1 (innledende): Der kravene til systemet vanligvis er usikre, misforstått og ukontrollerte. Prosessen er vanligvis kaotisk og ad-hoc.
  • Nivå 2 (administrert): Beregn prosjektkostnad, tidsplan og funksjonalitet. Programvarestandarder er definert
  • Nivå 3 (definert): Sørger for at produktet oppfyller kravene og tiltenkt bruk
  • Nivå 4 (Kvantitativt administrert): Styrer prosjektets prosesser og delprosesser statistisk
  • Nivå 5 (modenhet): Identifiser og distribuer nye verktøy og prosessforbedringer for å møte behov og forretningsmål