Model zrelosti sposobnosti (CMM) predstavlja efikasan pristup skaliranju različitih aspekata poslovanja. Razumevanje sposobnosti je od suštinskog značaja za vođenje kompanije, kontrolu sistema ili upravljanje timom. Kada se fokusirate na različite funkcije unutar vašeg poslovanja, potrebno je proceniti učinak svake od njih. Na osnovu tih procena postavljaju se standardi i ciljevi za dalji rad.
Da bi se izmerio i kontrolisao učinak, kao i napredak svake funkcije i svakog pojedinca, poslovni lideri i preduzetnici moraju imati pouzdano rešenje. Na taj način, kompanija može razviti sisteme koji su sposobni da se nose sa složenošću i istovremeno obezbede preciznost potrebnu za rast.
Tu na scenu stupa CMM. U ovom tekstu ćemo detaljnije istražiti šta su CMM i CMMI, njihove različite nivoe i glavne razlike između njih.
Započnimo!
Šta je zapravo Model Zrelosti Sposobnosti?
Model zrelosti sposobnosti (CMM) je metodologija koja se koristi za uspostavljanje i poboljšanje procesa razvoja aplikacija unutar jedne organizacije. Programeri tako mogu unaprediti proces razvoja softvera, što dovodi do veće doslednosti i efikasnosti. Bez obzira na vašu ulogu u razvojnom timu, poznavanje CMM-a može pomoći u poboljšanju performansi. Dakle, CMM je pristup koji pomaže u proceni, razvoju i poboljšanju procesa razvoja softvera.
CMM opisuje osnovne procedure za razvoj softvera, kao i druge procese vezane za inženjering, upravljanje i planiranje. Pretpostavka je da se kontinuirano poboljšanje može postići kroz male korake napretka, umesto velikih otkrića. CMM nudi okvir za upravljanje malim poboljšanjima na različitim nivoima zrelosti, kako bi se osigurala platforma za kontinuirano unapređenje procesa razvoja softvera. Ova metodologija deluje kao srce sistema upravljanja, posebno dizajniranih za unapređenje kvaliteta razvoja proizvoda i usluga, zajedno sa njihovom isporukom.
CMM je razvio i promovisao SEI (Institut za softversko inženjerstvo), istraživačko-razvojni centar koji sponzoriše Ministarstvo odbrane SAD. Danas je deo Univerziteta Karnegi Melon. SEI je prvi put osnovan 1984. godine kako bi se rešili različiti problemi sa softverom i poboljšale softverske metodologije. SEI je osnovan da optimizuje proces razvoja, nabavke i održavanja sistema koji su u velikoj meri softverski rezervisani za Ministarstvo odbrane (DOD). Oni se zalažu za usvajanje CMM-a koji se razvija, tj. CMM integraciju (CMMI).
Zašto je CMM važan?
CMM ima brojne prednosti, a najkorisnija je mogućnost uštede vremena i novca. Sistem je dizajniran da efikasnije identifikuje nedostatke u procesu poboljšanja u odnosu na druge modele.
Pored toga, CMM poboljšava poslovne procese i smanjuje nagle promene u rasporedu proizvodnje. Budući da je CMM bio prvi model dizajniran za poboljšanje industrijskog procesa, on može biti temelj za druge modele, kao što je unapređena verzija CMM (CMMI), model zrelosti poslovne sposobnosti (BCMM) i drugi. CMM je fleksibilan model primenjiv na sve procese i tržišta. Bez obzira na sektor u kom radite, ukoliko imate razvojni tim, članovi mogu koristiti model za ispravljanje grešaka u procesu.
Pet Nivoa Zrelosti u CMM-u
U procesu razvoja, CMM model razlikuje pet nivoa zrelosti:
#1. Početni nivo
Na ovom nivou, procesi nisu pravilno organizovani, često su haotični. Uspeh zavisi od individualnog napora člana tima i ne smatra se ponovljivim procesom. Proces nije dovoljno dokumentovan i definisan da bi se mogao ponoviti. Procesi su nezreli i ad hoc, što stvara nestabilno okruženje za razvoj softvera. Takođe, ne postoji osnova za predviđanje kvaliteta proizvoda i vremena njegovog završetka.
#2. Ponovljiv
Na ovom nivou, potrebni procesi su uspostavljeni, dokumentovani i definisani. Tehnike upravljanja projektima su pravilno postavljene, iako se uspeh ne mora ponoviti u svim ključnim procesnim oblastima. Ponovljiv nivo se postiže uspostavljanjem osnovnih politika upravljanja projektima. Iskustvo iz prethodnih projekata se koristi za upravljanje projektima slične prirode, što uključuje definisanje resursa, ciljeva i ograničenja.
Ovaj nivo predstavlja detaljan plan koji treba slediti za uspešan završetak kvalitetnog softvera. Primarni cilj je održavanje performansi proizvoda, tokom njegovog životnog ciklusa. Ponovljiv nivo takođe uključuje povratne informacije od klijenata i upravljanje pregledima, što može dovesti do promena u zahtevima. Upravljanje zahtevima podrazumeva prilagođavanje modifikovanih zahteva. Upravljanje podugovorima se fokusira na upravljanje kvalifikovanim izvođačima za razvoj softvera, što znači upravljanje delovima softvera koje su razvile treće strane. Osiguranje kvaliteta softvera garantuje kvalitetan softverski proizvod, sa određenim pravilima i smernicama tokom procesa razvoja.
#3. Definisan
Na ovom nivou, dokumentuju se smernice i procedure. To je dobro definisan skup procesa softverskog inženjeringa i upravljanja, koji uključuje:
- Recenzije kolega: Nedostaci se otklanjaju korišćenjem procesa pregleda kao što su inspekcije i provere.
- Koordinacija među grupama: Interakcija između više razvojnih timova kako bi se obezbedilo efikasno ispunjavanje potreba.
- Definicija organizacionog procesa: Fokus na razvoj i održavanje procesa razvoja softvera.
- Fokus na organizacioni proces: Prakse i aktivnosti koje treba slediti za poboljšanje procesnih sposobnosti organizacije.
- Programi obuke: Fokus na unapređenje znanja i veština članova tima i obezbeđivanje poboljšanja efikasnosti rada.
#4. Upravljan
Na ovom nivou se postavljaju kvantitativni ciljevi za kvalitet softverskog proizvoda i softverske procese organizacije. Izvršena merenja omogućavaju organizaciji da predvidi proces i kvalitet proizvoda unutar kvantitativno definisanih granica. Ovaj nivo uključuje strategije i planove za razvoj i razumevanje kvantitativne analize i kvaliteta proizvoda, kao i upravljanje performansama projekta.
#5. Optimizacija
Ovo je poslednja faza zrelosti procesa u CMM-u, koja se fokusira na kontinuirano unapređenje razvojnih procesa u organizaciji putem kvantitativnih povratnih informacija. To se radi korišćenjem tehnika, evaluacija i alata za softverske procese kako bi se sprečilo ponavljanje poznatih nedostataka. Ovaj nivo uključuje:
- Upravljanje promenama procesa: Kontinuirano unapređenje procesa razvoja softvera.
- Upravljanje promenama u tehnologiji: Upotreba tehnologija i tehnika za poboljšanje kvaliteta proizvoda i minimiziranje vremena razvoja.
- Prevencija defekata: Identifikacija uzroka defekata i sprečavanje njihovog ponavljanja u narednim projektima.
Integracija Modela Zrelosti Sposobnosti (CMMI)
CMMI je model procesa koji organizacije mogu koristiti za poboljšanje razvojnih procesa, efikasnost i produktivnost tokom razvoja proizvoda, usluge ili projekta. Rezultat je smanjenje rizika tokom celog procesa. CMMI je razvio Univerzitet Karnegi Melon, sa namerom da poveća efikasnost i upotrebljivost modela zrelosti koji mogu meriti sposobnost organizacije da ima kontinuirana poboljšanja u određenim oblastima. Ovo se postiže integracijom više modela u jedan okvir.
Prva verzija je objavljena 2002. godine, a sledeća 2006. Godine 2010. pojavila se verzija 1.3, a najnovija verzija 2.0 je lansirana 2018. godine, sa raznim promenama koje su ga učinile dostupnijim i efikasnijim za preduzeća. CMMI je kupila ISACA (Udruženje za reviziju i kontrolu informacionih sistema), koja poseduje sertifikate poput COBIT okvira. CMMI je model procesa koji pomaže organizacijama tokom celog procesa razvoja proizvoda ili usluga. Cilj CMMI je jasan: poboljšati kvalitet usluge ili proizvoda prateći model koji ispunjava očekivanja kupaca i povećava vrednost organizacije na tržištu. Takođe se procenjuje reputacija poslovanja i vrednost zainteresovanih strana. CMMI se trenutno bavi sledećim oblastima:
- CMMI za razvoj: Za razvoj proizvoda i usluga.
- CMMI za usluge: Za uspostavljanje, isporuku i upravljanje uslugama.
- CMMI za akviziciju: Uključuje nabavku proizvoda i usluga.
Reprezentacija CMMI
CMMI omogućava organizaciji da sledi skup ciljeva poboljšanja. Postoje dve reprezentacije:
Stepenasta Reprezentacija
- Koristi skup oblasti razvojnog procesa da opiše put poboljšanja.
- Obezbeđuje niz poboljšanja, gde svaki deo serije služi kao struktura za sledeće poboljšanje.
- Definiše poboljšani put uz pomoć nivoa zrelosti. Nivo zrelosti govori o zrelosti različitih procesa u organizaciji.
- Omogućava poređenje između organizacija za različite nivoe zrelosti.
Kontinuirana Reprezentacija
- Omogućava izbor određenih procesnih područja.
- Koristi nivoe sposobnosti za merenje poboljšanja pojedinačnog procesa.
- Omogućava poređenje između organizacija na osnovu procesa-oblast-po-proces-oblast.
- Omogućava organizacijama da biraju između različitih procesa za bolje poboljšanje.
- Organizacije mogu bolje da ostvare svoje ciljeve i smanje rizike odabirom redosleda poboljšanja različitih procesa.
Faze u CMMI
U CMMI modelu, postoji pet faza zrelosti:
#1. Inicijalno: Razvojni procesi se slabo kontrolišu i upravljaju, sa nepredvidivim ishodima i haotičnim pristupima. Ne postoje definisane ključne procesne oblasti (KPA). Kvalitet nije na visokom nivou, a proizvod ili usluge su izloženi riziku.
#2. Upravljano: Zahtevi se pravilno upravljaju, a razvojni procesi se kontrolišu i planiraju. Projektom se pravilno upravlja prema dokumentovanim planovima. Rizik i dalje postoji, ali je niži u odnosu na početni nivo.
#3. Definisano: Razvojni procesi su dobro opisani i karakterisani korišćenjem odgovarajućih procedura, standarda, alata i metoda. Kvalitet je srednjeg nivoa, a rizik je takođe srednji.
#4. Kvantitativno upravljano: Postavljeni su kvantitativni ciljevi za kvalitet i učinak procesa. Zasnovan je na potrebama organizacije i zahtevima klijenata. Performanse procesa se kvantitativno analiziraju. Kvalitet procesa je viši, sa manjim rizikom.
#5. Optimizacija: Poslednja faza modela zrelosti, koja uključuje kontinuirano poboljšanje performansi i procesa. Poboljšanja su inovativna i postepena. Procesi i performanse su visokog kvaliteta, a rizik je minimalan.
Nivoi Sposobnosti CMMI
Nivo sposobnosti odražava prakse za određenu procesnu oblast kako bi se poboljšali procesi organizacije. Postoji šest nivoa sposobnosti za CMMI modele:
- Nivo sposobnosti 0 (Nepotpun): Procesi su nepotpuni, delimični i neizvršeni, bez generičkih ciljeva.
- Nivo sposobnosti 1 (Izvedeno): Performanse procesa nisu stabilne, a ciljevi troškova, rasporeda i kvaliteta nisu ispunjeni. Proces nivoa 1 treba da izvrši određene prakse.
- Nivo sposobnosti 2 (Upravljano): Proces se prati, kontroliše i planira, sa definisanim ciljevima (kvalitet, raspored i cena). Organizacija aktivno upravlja procesima uz pomoć metrike.
- Nivo sposobnosti 3 (Definisan): Proces je dobro upravljan i ispunjava smernice i standarde organizacije, sa fokusom na standardizaciju.
- Nivo sposobnosti 4 (Kvantitativno upravljano): Proces se kontroliše korišćenjem kvantitativnih i statističkih tehnika, sa performansama procesa koje su razumljive u metričkim i statističkim terminima.
- Nivo sposobnosti 5 (Optimizacija): Fokus na kontinuirano poboljšanje performansi procesa, inovativnim i inkrementalnim pristupom.
CMM naspram CMMI: Razlike
CMMI je ažurirani model CMM-a, razvijen od strane SEI radi standardizacije i integracije CMM-a, koji ima različite modele za svaku funkciju. Ovi modeli nisu sinhronizovani, a njihova integracija čini proces fleksibilnijim i efikasnijim. U smislu ključnih oblasti procesa, praksi, nivoa zrelosti i ciljeva, CMMI struktura je slična CMM-u, ali CMMI nudi dva različita prikaza procesa.
Hajde da sagledamo još neke razlike između CMM i CMMI:
CMM | CMMI |
CMM je skraćenica od Capability Maturity Model, razvijen 1984. godine. | CMMI je skraćenica za Capability Maturity Model Integration, razvijen 2006. |
Model ponašanja razvijen za merenje procesa razvoja softvera u organizaciji. | Ažurirana verzija CMM modela, efikasnija i više orijentisana na zadatke. |
Primarna svrha je procena nivoa zrelosti u procesu razvoja softvera. | Primarna svrha je kombinovanje različitih softverskih modela u jedan i prevazilaženje nedostataka CMM-a. |
CMM ima pet faza: Početni, ponovljiv, definisan, upravljan i optimizovan. | CMMI ima pet faza: Početni, upravljan, definisan, kvantitativno upravljan i optimizovan. |
CMM je manje efikasan. | CMMI je efikasniji. |
Previše je orijentisan na proces. | Orijentisan je na ciljeve. |
Zaključak
Model zrelosti sposobnosti (CMM) je sistem za rešavanje problema u procesima razvoja softvera. Ovo može sačuvati preduzeća od suočavanja sa problemima u procesu. CMMI ima napredniju metodologiju od CMM-a, koja uključuje ispunjavanje očekivanja kupaca, vrednovanje stvaranja, marketinški rast, poboljšanje kvaliteta proizvoda i usluga i poboljšanje reputacije.
Takođe, možete istražiti okvir za upravljanje životnim ciklusom aplikacije, koji pomaže u razvoju i isporuci softvera prema rasporedu, u okviru budžeta i vrhunskog kvaliteta.