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
Ce sunt nivelurile modelului de maturitate a capacității (CMM)?
- Inițială
- Repetabil/Gestionat
- Definit
- Gestionat cantitativ
- Optimizarea
Ce se întâmplă la diferite niveluri ale CMM?
Niveluri | Activitati | Beneficii |
---|---|---|
Nivelul 1 inițial |
|
Nici unul. Un proiect este haos total |
Nivelul 2 Gestionat |
|
|
Nivelul-3 definit |
|
|
Nivelul-4 Gestionat cantitativ |
|
|
Optimizare de nivel 5 |
|
|
Următoarea diagramă oferă o reprezentare grafică a ceea ce se întâmplă la diferite niveluri 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
- Angajamentul de a performa
- Abilitatea de a performa
- Activitățile desfășoară
- Măsurare și Analiză
- 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