Model zrelosti sposobnosti (CMM) u softverskom inženjerstvu

⚡ Pametni sažetak

Model zrelosti sposobnosti (CMM) je mjerilo koje se koristi za mjerenje zrelosti softverskog procesa u organizaciji. Razvijen u Institutu za softversko inženjerstvo, definira pet razina koje vode timove od kaotičnog, ad-hoc rada prema kontinuiranom, optimiziranom poboljšanju.

  • 📊 Definicija: CMM je mjerilo koje mjeri zrelost procesa razvoja softvera u organizaciji.
  • 🏛️ Podrijetlo: Razvijen je u Institutu za softversko inženjerstvo krajem 1980-ih za američko ratno zrakoplovstvo.
  • 🪜 Pet razina: Početno, Upravljano, Definirano, Kvantitativno upravljano i Optimizirajuće tvore ljestvicu zrelosti.
  • Vrijeme implementacije: Potpuno usvajanje obično traje mjesecima po razini, a ne preko noći.
  • 🧩 Ključna područja procesa: Svaka razina, osim razine 1, definirana je ključnim procesnim područjima (KPA) koja grupiraju povezane ciljeve.
  • ⚠️ Ograničenje: CMM navodi što proces treba adresirati, a ne kako ga implementirati, te zanemaruje poslovnu strategiju.

Model zrelosti sposobnosti (CMM)

Što je CMM?

Model zrelosti sposobnosti koristi se kao mjerilo za mjerenje zrelosti softverskog procesa organizacije.

CMM je razvijen u Institutu za softversko inženjerstvo krajem 80-ih. Razvijen je kao rezultat studije koju je financiralo američko ratno zrakoplovstvo kao način procjene rada podprocesora.tractorovima. Later, na temelju CMM-SW modela stvorenog 1991. godine za procjenu zrelosti razvoja softvera, s CMM-I integrirano je više drugih modela.

Model zrelosti sposobnosti

Što su razine modela zrelosti sposobnosti (CMM)?

Model definira pet progresivnih razina zrelosti:

  1. Početni
  2. Ponovljivo/Upravljano
  3. Definiran
  4. Kvantitativno upravljano
  5. Optimiziranje

Razine modela zrelosti sposobnosti (CMM).

Što se događa na različitim razinama CMM-a?

Donja tablica prikazuje aktivnosti i pogodnosti na svakoj razini.

Razine Aktivnosti Pogodnosti
Razina 1 Početna
  • Na razini 1, proces je obično kaotičan i ad hoc.
  • Sposobnost se karakterizira na temelju pojedinaca, a ne organizacije.
  • Napredak se ne mjeri.
  • Razvijeni proizvodi često kasne s rokovima i premašuju proračun.
  • Velike varijacije u rasporedu, troškovima, funkcionalnosti i ciljevima kvalitete.
Ništa. Projekt je potpuni kaos.
Upravljana razina 2
  • Upravljanje zahtjevima
  • Procijenite parametre projekta poput cijene, rasporeda i funkcionalnosti
  • Mjerite stvarni napredak
  • Razviti planove i proces
  • Definirani su standardi softverskog projekta
  • Identificirati i kontrolirati proizvode, izvješća o problemima, promjene itd.
  • Procesi se mogu razlikovati od projekta do projekta
  • Procesi postaju lakše shvatljivi
  • Menadžeri i članovi tima provode manje vremena objašnjavajući kako se stvari rade, a više vremena provode ih
  • Projekti su bolje procijenjeni, bolje planirani i fleksibilniji
  • Kvaliteta je integrirana u projekte
  • Troškovi u početku mogu biti visoki, ali s vremenom se smanjuju
  • Potrebno je više papirologije i dokumentacije
Definirana razina-3
  • Pojasnite zahtjeve kupaca
  • Riješite zahtjeve dizajna, razvijte proces implementacije
  • Osigurava da proizvod ispunjava zahtjeve i namjeravanu upotrebu
  • Sustavno analizirajte odluke
  • Ispravite i kontrolirajte potencijalne probleme
  • Poboljšanje procesa postaje standard
  • Rješenje napreduje od "kodiranog" do "inženjerskog"
  • Vrata kvalitete pojavljuju se tijekom cijelog projekta s cijelim timom uključenim u proces
  • Rizici su ublaženi i ne iznenađuju tim
Razina-4 Kvantitativno upravljana
  • Statistički upravlja procesima i podprocesima projekta
  • Razumjeti izvedbu procesa, kvantitativno upravljati projektom organizacije
  • Optimizira izvedbu procesa u cijeloj organizaciji
  • Potiče kvantitativno upravljanje projektima u organizaciji
Razina-5 optimizacije
  • Rano otkrijte i uklonite uzrok kvarova
  • Identificirajte i implementirajte nove alate i poboljšanja procesa kako biste zadovoljili potrebe i poslovne ciljeve
  • Potiče organizacijske inovacije i implementaciju
  • Daje poticaj kauzalnoj analizi i razrješenju

Sljedeći dijagram daje slikovni prikaz onoga što se događa na različitim razinama CMM-a:

Različite razine CMM-a

Koliko je vremena potrebno za implementaciju CMM-a?

CMM je najpoželjniji proces za održavanje kvalitete proizvoda za bilo koju tvrtku za razvoj softvera, ali njegova implementacija traje malo dulje nego što se očekuje.

  • Implementacija CMM-a se ne događa preko noći.
  • To nije samo "papirologija".
  • Tipična vremena za implementaciju su:
  • 3-6 mjeseci -> za pripremu
  • 6-12 mjeseci -> za provedbu
  • 3 mjeseci -> za pripremu procjene
  • 12 mjeseci -> za svaku novu razinu

Unutarnja struktura CMM

Svaka razina u CMM-u definirana je kao ključno procesno područje ili KPA, osim za razinu 1. Svaki KPA definira skup povezanih aktivnosti koje, kada se izvedu zajedno, postižu skup ciljeva koji se smatraju ključnima za poboljšanje softverskih mogućnosti.

Za različite CMM razine postoje skupovi KPA-ova. Na primjer, za CMM model-2, KPA-ovi su:

  • REQM – Upravljanje zahtjevima
  • PP – Planiranje projekta
  • PMC – Praćenje i kontrola projekta
  • SAM – Upravljanje ugovorima s dobavljačima
  • PPQA – Proces i osiguranje kvalitete
  • CM – Upravljanje konfiguracijom

Slično tome, za ostale CMM modele imate specifične KPA-ove. Kako biste znali je li implementacija KPA-a učinkovita, trajna i ponovljiva, ona se mapira na sljedećoj osnovi:

  1. Predanost za izvođenje
  2. Sposobnost izvođenja
  3. Izvršene aktivnosti
  4. Mjerenje i analiza
  5. Provjera implementacije

Ograničenja CMM modela

Model također ima nekoliko ograničenja:

  • CMM određuje što proces treba adresirati umjesto kako bi ga trebalo implementirati.
  • Ne objašnjava svaku mogućnost poboljšanja softverskog procesa.
  • Koncentrira se na softverska pitanja, ali ne razmatra strateško poslovno planiranje, usvajanje tehnologija, uspostavljanje linije proizvoda i upravljanje ljudskim resursima.
  • Ne govori u kakvoj bi se vrsti posla organizacija trebala baviti.
  • CMM neće biti koristan u projektu koji je trenutno u krizi.

Zašto koristiti CMM?

Danas CMM djeluje kao „pečat odobrenja“ u softverskoj industriji. Pomaže na razne načine u poboljšanju kvalitete softvera.

  • Vodi prema ponovljivom standardnom procesu i time smanjuje vrijeme učenja o tome kako nešto obaviti.
  • Prakticiranje CMM-a znači prakticiranje standardnog protokola za razvoj, što znači da ne samo da pomaže timu uštedjeti vrijeme, već i daje jasan uvid u to što treba učiniti i što očekivati.
  • Kvalitetne aktivnosti dobro se uklapaju u projekt, umjesto da se smatraju zasebnim događajem.
  • Djeluje kao komunikator između projekta i tima.
  • Napori CMM-a uvijek su usmjereni na poboljšanje procesa.

Pitanja i odgovori

CMM je izvorni model usmjeren uglavnom na zrelost softverskog procesa. CMMI (Capability Maturity Model Integration - Integracija modela zrelosti sposobnosti) je njegov nasljednik, koji pokriva softver, hardver i usluge integriranim okvirom. Većina organizacija danas usvaja CMMI umjesto starijeg CMM-a.

CMM se široko koristi u IT i softverskim uslugama, obrani, zrakoplovstvu, bankarstvu i telekomunikacijama. Svaka organizacija koja outsourcinga ili isporučuje složeni softver koristi ga za mjerenje kvalitete, smanjenje rizika i demonstraciju pouzdanih, ponovljivih procesa klijentima.

Da, iako je CMMI uvelike zamijenio izvorni CMM. Procjene zrelosti ostaju relevantne za organizacije koje trebaju dokazati procesnu disciplinu u outsourcingu.tracts, vladine natječaje i revizije kvalitete, čak i uz agilne i DevOps prakse.

Umjetna inteligencija može analizirati procesne podatke, rano otkriti nedostatke i predvidjeti rizike vezane uz raspored ili troškove. Automatizacijom mjerenja i izvještavanja podržava više razine CMM-a, gdje se organizacije oslanjaju na kvantitativno upravljanje i kontinuirano poboljšanje temeljeno na podacima.

Da. Alati umjetne inteligencije automatiziraju testiranje, pregled koda i praćenje procesa, čineći prakse ponovljivima i mjerljivima. To pomaže timovima da prijeđu s ad-hoc rada na definirane i optimizirane razine, iako je ljudsko upravljanje i dalje potrebno za održavanje dobitaka.

Sažmite ovu objavu uz: