Modelul de maturitate a capacității (CMM) și nivelurile sale în inginerie software

Ce este CMM?

Modelul de maturitate a capacității este utilizat ca etalon pentru a măsura maturitatea procesului software al unei organizații.

CMM a fost dezvoltat la Institutul de Inginerie Software la sfârșitul anilor 80. Acesta a fost dezvoltat ca urmare a unui studiu finanțat de US Air Force ca o modalitate de a evalua munca subcontractanților. Later pe baza modelului CMM-SW creat în 1991 pentru a evalua maturitatea dezvoltării de software, mai multe alte modele sunt integrate cu CMM-I sunt

Modelul de maturitate a capacității

Ce sunt nivelurile modelului de maturitate a capacității (CMM)?

  1. Inițială
  2. Repetabil/Gestionat
  3. Definit
  4. Gestionat cantitativ
  5. Optimizarea

Niveluri ale modelului de maturitate a capacității (CMM).

Ce se întâmplă la diferite niveluri ale CMM?

Niveluri Activitati Beneficii
Nivelul 1 inițial
  • La nivelul 1, procesul este de obicei haotic și ad-hoc
  • O capacitate este caracterizată pe baza indivizilor și nu a organizației
  • Progresul nu este măsurat
  • Produsele dezvoltate sunt adesea programate și peste buget
  • Variații mari ale programului, costurilor, funcționalității și obiectivelor de calitate
Nici unul. Un proiect este haos total
Nivelul 2 Gestionat
  • Managementul cerințelor
  • Estimați parametrii proiectului, cum ar fi costul, programul și funcționalitatea
  • Măsurați progresul real
  • Elaborați planuri și procese
  • Sunt definite standardele proiectelor software
  • Identificați și controlați produsele, raportează modificările problemelor etc.
  • Procesele pot diferi între proiecte
  • Procesele devin mai ușor de înțeles
  • Managerii și membrii echipei petrec mai puțin timp explicând cum se fac lucrurile și mai mult timp în execuție
  • Proiectele sunt mai bine estimate, mai bine planificate și mai flexibile
  • Calitatea este integrată în proiecte
  • Costurile ar putea fi mari inițial, dar scade peste orele suplimentare
  • Solicitați mai multe documente și documente
Nivelul-3 definit
  • Clarificați cerințele clienților
  • Rezolvați cerințele de proiectare, dezvoltați un proces de implementare
  • Se asigură că produsul îndeplinește cerințele și utilizarea prevăzută
  • Analizați deciziile în mod sistematic
  • Remediați și controlați potențialele probleme
  • Îmbunătățirea proceselor devine standardul
  • Soluția progresează de la „codificat” la „proiectat”
  • Porțile de calitate apar pe tot parcursul efortului proiectului cu întreaga echipă implicată în proces
  • Riscurile sunt atenuate și nu luați echipa prin surprindere
Nivelul-4 Gestionat cantitativ
  • Gestionează statistic procesele și subprocesele proiectului
  • Înțelegeți performanța procesului, gestionați cantitativ proiectul organizației
  • Optimizează performanța procesului în întreaga organizație
  • Promovează managementul cantitativ de proiect într-o organizație.
Optimizare de nivel 5
  • Detectați și eliminați din timp cauza defectelor
  • Identificați și implementați noi instrumente și îmbunătățiri de proces pentru a satisface nevoile și obiectivele de afaceri
  • Stimulează inovația și implementarea organizațională
  • Dă impuls analizei și rezoluției cauzale

Următoarea diagramă oferă o reprezentare grafică a ceea ce se întâmplă la diferite niveluri CMM

Diferite niveluri de CMM

Cât timp durează implementarea CMM?

CMM este cel mai de dorit proces de menținere a calității produsului pentru orice companie de dezvoltare de software, dar implementarea lui durează puțin mai mult decât se așteaptă.

  • Implementarea CMM nu are loc peste noapte
  • Doar că nu este doar o „hârțogărie”.
  • Perioadele tipice de implementare sunt
  • luni 3-6 -> pentru pregătire
  • luni 6-12 -> pentru implementare
  • 3 luni -> pentru pregătirea evaluării
  • 12 luni ->pentru fiecare nou nivel

Structura internă a CMM

Fiecare nivel din CMM este definit în zona cheie de proces sau KPA, cu excepția nivelului-1. Fiecare KPA definește un grup de activități conexe, care, atunci când sunt efectuate în mod colectiv, atinge un set de obiective considerate vitale pentru îmbunătățirea capacității software

Pentru diferite niveluri CMM, există seturi de KPA-uri, de exemplu pentru CMM model-2, KPA sunt

  • REQM- Managementul cerințelor
  • PP- Planificarea Proiectului
  • PMC- Monitorizarea și Controlul Proiectului
  • SAM- Managementul acordului cu furnizorii
  • PPQA-Proces și asigurare a calității
  • CM-Configuration Management

La fel, pentru alte modele CMM, aveți KPA-uri specifice. Pentru a ști dacă implementarea unui KPA este eficientă, durabilă și repetabilă, aceasta este mapată pe baza următoare

  1. Angajamentul de a performa
  2. Abilitatea de a performa
  3. Activitățile desfășoară
  4. Măsurare și Analiză
  5. Verificarea implementării

Limitările modelelor CMM

  • CMM determină ce ar trebui să abordeze un proces în loc de modul în care ar trebui să fie implementat
  • Nu explică orice posibilitate de îmbunătățire a procesului software
  • Se concentrează pe probleme de software, dar nu ia în considerare planificarea strategică a afacerii, adoptarea de tehnologii, stabilirea liniei de produse și gestionarea resurselor umane
  • Nu spune despre ce tip de afacere ar trebui să fie o organizație
  • CMM nu va fi de folos în proiectul care are o criză în acest moment

De ce să folosiți CMM?

Astăzi, CMM acționează ca un „sigiliu de aprobare” în industria software. Ajută în diferite moduri la îmbunătățirea calității software-ului.

  • Ghidează către un proces standard repetabil și, prin urmare, reduce timpul de învățare despre cum să faci lucrurile
  • Practicarea CMM înseamnă practicarea unui protocol standard pentru dezvoltare, ceea ce înseamnă că nu numai că ajută echipa să economisească timp, ci oferă și o imagine clară asupra a ceea ce trebuie să facă și la ce să se aștepte
  • Activitățile de calitate se potrivesc bine cu proiectul, mai degrabă decât să fie gândite ca un eveniment separat
  • Acționează ca un navetă între proiect și echipă
  • Eforturile CMM sunt întotdeauna către îmbunătățirea procesului

Rezumat

CMM a fost introdus pentru prima dată la sfârșitul anilor 80 în US Air Force pentru a evalua munca subcontractanților. Later pe, cu versiune îmbunătățită, a fost implementat pentru a urmări calitatea sistemului de dezvoltare software.

Întregul nivel CMM este împărțit în cinci niveluri.

  • Nivel 1 (Inițial): Acolo unde cerințele pentru sistem sunt de obicei incerte, neînțelese și necontrolate. Procesul este de obicei haotic și ad-hoc.
  • Nivel 2 (Gestionat): estimați costul proiectului, programul și funcționalitatea. Sunt definite standardele software
  • Nivel 3 (Definit): Se asigură că produsul îndeplinește cerințele și utilizarea prevăzută
  • Nivel 4 (Gestionat cantitativ): Gestionează statistic procesele și subprocesele proiectului
  • Nivel 5 (Maturitate): Identificați și implementați noi instrumente și îmbunătățiri ale proceselor pentru a satisface nevoile și obiectivele de afaceri