Modelul de Maturitate a Capacităților (CMM) în Ingineria Software

⚡ Rezumat inteligent

Modelul de Maturitate a Capabilităților (CMM) este un criteriu de referință utilizat pentru a măsura cât de matur este procesul software al unei organizații. Dezvoltat la Institutul de Inginerie Software, acesta definește cinci niveluri care ghidează echipele de la munca haotică, ad-hoc, către o îmbunătățire continuă și optimizată.

  • 📊 Definiție: CMM este un indicator de referință care măsoară maturitatea procesului de dezvoltare software al unei organizații.
  • 🏛️ Originea: A fost dezvoltat la Institutul de Inginerie Software la sfârșitul anilor 1980 pentru Forțele Aeriene ale SUA.
  • 🪜 Cinci niveluri: Inițial, Gestionat, Definit, Gestionat cantitativ și Optimizare formează scara de maturitate.
  • Timp de implementare: Adoptarea completă durează de obicei luni per nivel, nu o schimbare peste noapte.
  • 🧩 Domenii cheie de proces: Fiecare nivel, cu excepția Nivelului 1, este definit de Domenii Cheie de Proces (KPA) care grupează obiectivele aferente.
  • ⚠️ Prescripţie: CMM stabilește ce ar trebui să abordeze un proces, nu cum să îl implementeze și ignoră strategia de afaceri.

Modelul de maturitate a capacității (CMM)

Ce este CMM?

Modelul de maturitate a capacității este utilizat ca punct de referință 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. A fost dezvoltat ca urmare a unui studiu finanțat de Forțele Aeriene ale SUA, ca o modalitate de a evalua activitatea subcontractanților.tractors. LaterPe baza modelului CMM-SW creat în 1991 pentru a evalua maturitatea dezvoltării de software, multe alte modele au fost integrate cu CMM-I.

Modelul de maturitate a capacității

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

Modelul definește cinci niveluri progresive de maturitate:

  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?

Tabelul de mai jos prezintă în detaliu activitățile și beneficiile la fiecare nivel.

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 în întârziere și depășesc bugetul.
  • Variații mari în ceea ce privește programul, costul, funcționalitatea și obiectivele de calitate.
Niciunul. 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
  • Identificarea și controlul produselor, raportărilor de probleme, modificărilor 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 executând-o
  • Proiectele sunt mai bine estimate, mai bine planificate și mai flexibile
  • Calitatea este integrată în proiecte
  • Costurile pot fi mari inițial, dar scad în timp
  • Necesită 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 iau 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 al proiectelor î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 dezirabil proces pentru menținerea calității produsului pentru orice companie de dezvoltare software, dar implementarea sa durează puțin mai mult decât este așteptat.

  • Implementarea CMM nu se întâmplă peste noapte.
  • Nu este vorba doar de „hârțogărie”.
  • Timpii tipici 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 într-un 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 colectiv, ating un set de obiective considerate vitale pentru îmbunătățirea capacității software-ului.

Pentru diferite niveluri CMM, există seturi de KPA-uri. De exemplu, pentru modelul CMM 2, KPA-urile sunt:

  • REQM – Managementul Cerințelor
  • PP – Planificarea proiectului
  • PMC – Monitorizare și control al proiectului
  • SAM – Managementul Acordurilor cu Furnizorii
  • PPQA – Asigurarea Procesului și a Calității
  • CM – Managementul Configurației

În mod similar, pentru alte modele CMM, există KPA-uri specifice. Pentru a ști dacă implementarea unui KPA este eficientă, durabilă și repetabilă, aceasta este mapată pe baza următoarelor elemente:

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

Limitările modelelor CMM

Modelul are, de asemenea, câteva limitări:

  • CMM determină ce ar trebui să abordeze un proces în loc de modul în care ar trebui implementat acesta.
  • Nu explică fiecare posibilitate de îmbunătățire a proceselor software.
  • Se concentrează pe aspecte legate de software, dar nu ia în considerare planificarea strategică a afacerilor, adoptarea tehnologiilor, stabilirea unei linii de produse și gestionarea resurselor umane.
  • Nu spune în ce fel de afacere ar trebui să activeze o organizație.
  • CMM nu va fi util într-un proiect care se confruntă acum cu o criză.

De ce să folosiți CMM?

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

  • Ghidează către un proces standard repetabil și, prin urmare, reduce timpul de învățare privind modul de realizare a lucrurilor.
  • Practicarea CMM înseamnă practicarea unui protocol standard pentru dezvoltare, ceea ce înseamnă că nu numai că ajută echipa să economisească timp, dar oferă și o imagine clară asupra a ceea ce trebuie făcut și la ce să se aștepte.
  • Activitățile de calitate se integrează bine în proiect, în loc să fie considerate un eveniment separat.
  • Acționează ca un comunicator între proiect și echipă.
  • Eforturile CMM sunt întotdeauna îndreptate spre îmbunătățirea procesului.

Întrebări frecvente

CMM este modelul original axat în principal pe maturitatea proceselor software. CMMI (Capability Maturity Model Integration - Integrarea Modelului de Maturitate a Capacităților) este succesorul său, acoperind software, hardware și servicii cu un cadru integrat. Majoritatea organizațiilor adoptă astăzi CMMI în locul vechiului CMM.

CMM este utilizat pe scară largă în servicii IT și software, apărare, industria aerospațială, sistemul bancar și telecomunicații. Orice organizație care externalizează sau livrează software complex îl folosește pentru a evalua calitatea, a reduce riscurile și a demonstra clienților procese fiabile și repetabile.

Da, deși CMMI a înlocuit în mare măsură CMM-ul original. Evaluările de maturitate rămân relevante pentru organizațiile care trebuie să demonstreze disciplină de proces în externalizarea serviciilor.traclicitații guvernamentale și audituri de calitate, chiar și alături de practici Agile și DevOps.

IA poate analiza datele de proces, detecta defectele din timp și poate prezice riscurile legate de program sau costuri. Prin automatizarea măsurătorilor și raportării, aceasta susține nivelurile superioare CMM, unde organizațiile se bazează pe management cantitativ și pe îmbunătățirea continuă, bazată pe date.

Da. Instrumentele de inteligență artificială automatizează testarea, revizuirea codului și monitorizarea proceselor, făcând practicile repetabile și măsurabile. Acest lucru ajută echipele să treacă de la munca ad-hoc la niveluri definite și optimizate, deși guvernanța umană este încă necesară pentru a menține câștigurile.

Rezumați această postare cu: