Modele për vlerësimin e pjekurisë së organizatave që zhvillojnë sisteme softuerike. Standardet ISO, SW-CMM

Në nëntor 1986, Instituti Amerikan i Inxhinierisë Softuerike (SEI), së bashku me Mitre Corporation, filluan të zhvillojnë një pasqyrë të pjekurisë së proceseve të zhvillimit. software e cila kishte për qëllim të ndihmonte në përmirësimin e proceseve të tyre të brendshme.

Zhvillimi i një sondazhi të tillë u nxit nga një kërkesë nga qeveria federale e SHBA-së për një metodë për vlerësimin e nënkontraktorëve për zhvillimin e softuerit. Problemi i vërtetë ishte pamundësia për të menaxhuar projekte të mëdha. Në shumë kompani, projektet u kryen me vonesa të konsiderueshme dhe tejkalim të buxhetit të planifikuar. Ishte e nevojshme për të gjetur një zgjidhje për këtë problem.

Në shtator 1987, ISHM nxori rishikim i shkurtër proceset e zhvillimit të softuerit që përshkruan nivelet e tyre të pjekurisë dhe një pyetësor për të identifikuar fushat në kompani për përmirësim. Megjithatë, shumica e kompanive e konsideruan këtë pyetësor si model i përfunduar, si rezultat i të cilit, pas 4 vitesh, pyetësori u shndërrua në një model real, Modeli i Maturitetit të Kapacitetit për Software (CMM). Versioni i parë i CMM (Versioni 1.0), i lëshuar në 1991, u rishikua në 1992 nga pjesëmarrësit në një seminar në të cilin morën pjesë rreth 200 specialistë të softuerit dhe anëtarë të komunitetit të zhvilluesve.

Si rezultat, u lëshua standardi CMM, Versioni 1.1, i cili ende përdoret në mënyrë aktive në të gjithë botën.

Oriz. 1. Ndikimi global i përdorimit të SMM

Arsyet e këtij interesimi në SMM janë të qarta. Përkundër faktit se si zhvilluesit e softuerit ashtu edhe menaxhmenti i tyre shpesh janë shumë të vetëdijshëm për problemet e tyre të vazhdueshme, ata nuk mund të bien dakord për ndryshimet që i duhen kompanisë në radhë të parë. Pa zhvilluar një strategji të unifikuar për të bërë përmirësime, menaxhmenti nuk mund të gjejë mirëkuptim të ndërsjellë me punonjësit e tij për detyrat me prioritet më të lartë për përmirësim. Për të arritur rezultatin maksimal nga përpjekjet e shpenzuara për përmirësimin e proceseve, është e nevojshme të kemi një strategji zhvillimi me faza që do të përmirësojë pjekurinë e proceseve të zhvillimit gradualisht, në mënyrë evolucionare.

Përmirësimi i vazhdueshëm i procesit bazohet në kultivimin gradual të kulturës së një kompanie, jo në inovacione revolucionare. CMM ofron një kornizë për këtë përmirësim në rritje, të ndarë në 5 nivele të pjekurisë së procesit. Këto 5 nivele përfaqësojnë një shkallë për vlerësimin e nivelit të pjekurisë së proceseve të zhvillimit të softuerit në një kompani dhe për matjen e parametrave të tyre.

Oriz. 2. Parimi i rritjes së vazhdueshme të nivelit të pjekurisë: mundësitë për zhvillimin e organizatës

Këtu janë karakteristikat kryesore të secilit nivel:

  1. Fillestar - Procesi i zhvillimit është kaotik. Vetëm disa nga proceset janë identifikuar dhe suksesi i projekteve varet nga interpretuesit individualë.
  2. E përsëritshme - Përcaktohen proceset kryesore të menaxhimit të projektit: ndjekja e kostove, orari dhe funksionaliteti. Drejtoi disa nga proceset e nevojshme për të përsëritur arritjet e mëparshme në projekte të ngjashme (projekte me aplikacione të ngjashme).
  3. Përcaktuar - Zhvillimi i softuerit dhe proceset e menaxhimit të projektit përshkruhen dhe zbatohen në sistem të unifikuar proceset e kompanisë. Të gjitha projektet përdorin një proces standard organizativ të zhvillimit dhe mbështetjes së softuerit, të përshtatur për një projekt specifik.
  4. Menaxhuar - Mblidhni të dhëna të detajuara sasiore mbi performancën dhe cilësinë e procesit të zhvillimit produkti final... Është analizuar rëndësia dhe dinamika e këtyre të dhënave.
  5. Optimizimi - Përmirësimi i vazhdueshëm i procesit bazohet në të dhënat sasiore të procesit dhe pilotimin e ideve dhe teknologjive të reja.

Hyrje në SW-CMM

(Përmirësimi i pjekurisë së proceseve të zhvillimit të softuerit bazuar në Modelin e pjekurisë së aftësive të Institutit të Inxhinierisë Softuerike për Softuerin)

Kursi ka për qëllim:
Për drejtuesit e kompanive të softuerit, drejtuesit e departamenteve dhe projekteve të zhvillimit të softuerit dhe specialistët e cilësisë që janë të interesuar në:

  • përmirësimi i transparencës së proceseve ekzistuese të prodhimit;
  • rritja e produktivitetit të proceseve dhe kompanisë në tërësi;
  • zvogëlimi i kostos së prodhimit dhe vëllimit të prodhimit ekzistues "të fshehur";
  • rritja e reputacionit të kompanisë në mjedisin profesional;
  • hapja e tregjeve të reja për produkte.

    2.1 Kostoja, kohëzgjatja dhe rezultatet e marra. Statistikat e industrisë
    2.2 Kthimi i investimit në CMM

    3.1 TQM (Menaxhimi i Cilësisë Totale), SPI (Përmirësimi i Procesit Softuerësh) dhe Praktikat më të mira të Biznesit si bazë e CMM
    3.2 Konceptet bazë TQM. Aplikimi i qasjeve TQM në prodhimin e produkteve softuerike
    3.3 Përfitimet dhe rreziqet e natyrshme në modelin e përmirësimit të procesit CMM
    3.4 Koncepti i një procesi. Komponentët kryesorë të qasjes së procesit
    3.5 Nivelet e pjekurisë së procesit

    9.1 Sistemi i standardeve për industrinë e IT (Udhërrëfyes)
    9.2 Marrëdhënia ISO me CMM, Procesi i Unifikuar Racional, Menaxhimi i Projektit
    9.3 Aplikimi i CMM për Organizatat e Vogla
    9.4 Çfarë mungon në SMM
    9.5 Dokumentet dhe proceset

    10.1 Pasqyra përfundimtare e modelit SW-CMM. Shpërndarja në botë. Vështirësitë kryesore
    10.2 CMMI (Capability Maturity Model Integration) - zhvillim të mëtejshëm Modelet CMM

    Një grup rrëshqitjesh, materiale për ushtrime praktike, materiale shtesë për vetë-studim.

    Një grup i plotë dokumentesh mbi SW-CMM (teksti i standardit, metodat e vlerësimit, materialet statistikore për industrinë, shembuj dokumentesh)

    Kurs praktik mbi teknologjinë e zbatimit të modelit SW-CMM në kompanitë e IT

    Shënim i shkurtër:
    Ky kurs synon të ndihmojë kompanitë në mënyrë të pavarur dhe me kompetencë të planifikojnë dhe të kryejnë punën për zbatimin e një modeli për përmirësimin e pjekurisë së proceseve, për të ndihmuar në shmangien e gabime tipike dhe problemet e zbatimit.

    Kursi ka për qëllim:
    Kursi ka për qëllim menaxherët e ndërmarrjeve dhe departamenteve të përfshira në zhvillimin e softuerit, menaxherët e projekteve, menaxherët e cilësisë dhe të tjerë të interesuar për të përmirësuar cilësinë e zhvillimeve të tyre dhe për të certifikuar procesin e tyre sipas CMM.

  • Rishikimi i standardeve të njohura të menaxhimit të cilësisë për IT (ISO 9000, SW-CMM, CMMI, TickIT, SPICE)
    17. Në CMM nëpërmjet ISO?
  • Cilësia e produkteve softuerike është ndoshta një nga problemet më të mëdha në industrinë e softuerit. Cilësia është shumë më tepër sesa thjesht mungesa e gabimeve. Ai supozon një sërë karakteristikash të ndryshme: besueshmërinë, rezistencën ndaj hakimit, përshtatshmërinë, përputhshmërinë, mirëmbajtjen, transportueshmërinë, efikasitetin, etj. Nuk është për t'u habitur që ekziston një larmi e tillë standardesh të cilësisë në industrinë e softuerit.

    Cilësia ishte e lehtë për t'u matur: ose ishim të paguar ose jo.
    Dean Leffingwell, Don Widrig.
    Menaxhimi i Kërkesave të Softuerit

    CMM / CMMI

    Ndoshta standardi më i shquar i cilësisë duhet të konsiderohet Modeli i Maturitetit të Kapacitetit (CMM) - një model për vlerësimin e nivelit të pjekurisë së proceseve të zhvillimit së bashku me derivatet e tij. Ai u krijua nga SEI (Instituti i Inxhinierisë së Softuerit), i cili financohet nga Departamenti i Mbrojtjes i SHBA dhe është një njësi strukturore e Universitetit Carnegie Mellon. Versioni i parë zyrtar i standardit u botua në 1993, megjithëse puna për të filloi shumë më herët - dispozitat e tij kryesore u botuan në 1986.

    Disa faktorë kanë paracaktuar suksesin e CMM. Ky standard ishte një nga të parët që fillimisht mori parasysh specifikat e zhvillimit të softuerit. Doli të ishte mjaft e thjeshtë dhe transparente si për kuptim, ashtu edhe për përdorim, dhe rregullonte "çfarë" dhe jo "si" për të bërë, dhe për këtë arsye ishte i përshtatshëm për metodologji të ndryshme zhvillimi dhe nuk vendosi asnjë kufizim në standardet e dokumentacionit, mjetet, mjedisin. dhe gjuhët e përdorura në projekte. Dhe, ndoshta, faktori kryesor që paracaktoi popullaritetin e CMM ishte bashkëpunimi i SEI me Departamentin e Mbrojtjes të SHBA, që de facto nënkuptonte përdorimin e standardit gjatë zbatimit të projekteve të porositura nga ky departament.

    Modeli CMM (Tabela 1) parashikon pesë nivele maturimi, secila prej të cilave korrespondon me disa fusha kyçe të procesit (Zonat kryesore të procesit, KPA).

    Tabela 1. Nivelet e modelit CMM
    Niveli Nr. Emri i nivelit Fushat kryesore të procesit
    1 Elementare Nëse organizata është në këtë nivel, atëherë nuk ka fusha kyçe të procesit për të.
    2 Të përsëritura Menaxhimi i konfigurimit të softuerit Sigurimi i cilësisë së softuerit Menaxhimi i kontratave të kontraktorit Monitorimi i progresit të projektit Softueri Menaxhimi i kërkesave të planifikimit të projektit
    3 I caktuar Vlerësimet e ekspertëve Koordinimi i ndërveprimeve ndërmjet ekipeve të projektit Inxhinieri produkt software.Menaxhimi gjithëpërfshirës i softuerit Programi i trajnimit të stafit Përkufizimi i procesit organizativ Fushëveprimi i procesit organizativ.
    4 Menaxhuar Menaxhimi i cilësisë së softuerit - kontrolli i procesit i bazuar në metoda sasiore
    5 E optimizueshme Menaxhimi i ndryshimit të procesit Menaxhimi i ndryshimit të procesit Parandalimi i defekteve

    Ndarja në nivele dhe përcaktimi i KPA-ve për secilën prej tyre mundëson zbatimin konsistent të MKM-së, duke përdorur standardin si një udhëzues që mund të sigurojë përmirësim të vazhdueshëm të procesit të zhvillimit.

    Standardi CMM doli të ishte shumë i suksesshëm, dhe më pas u krijua një seri e tërë standardesh mbi bazën e tij (Tabela 2). Për më tepër, ajo mori një emër të ri - SW-CMM (Capability Maturity Model for Software), i cili pasqyron më saktë pozicionin e tij në një familje mjaft të madhe standardesh.

    Tabela 2. Zhvillimi i standardeve CMM
    Emri i standardit Përshkrim
    Inxhinieri e Sistemit CMM (SE-CMM) E fokusuar në çështjet e inxhinierisë së sistemeve - zhvillimi i produktit (analiza e kërkesave, dizajnimi dhe integrimi i sistemeve të produktit) dhe prodhimi i tyre (planifikimi dhe funksionimi i linjës së prodhimit)
    CMM e besuar (T-CMM) Projektuar për të shërbyer të ndjeshme dhe të mbyllura sistemet softuerike që kërkojnë një garanci të softuerit me cilësi të lartë
    Inxhinieri e Sigurisë së Sistemit CMM (SSE-CMM) Fokusohet në aspektet e sigurisë së inxhinierisë së softuerit, siguron një proces të sigurt zhvillimi, duke përfshirë sigurinë e anëtarëve të ekipit
    CMM e njerëzve (P-CMM) Shqyrton çështjet e zhvillimit të personelit në organizatat softuerike
    CMM për blerjen e softuerit (SA-CMM) Mbulon çështjet e blerjes së produkteve softuerike nga organizata të jashtme
    Zhvillimi i integruar i produktit CMM (IPD-CMM) Shërben si një mjedis për integrimin e përpjekjeve zhvillimore në të gjitha fazat e ciklit jetësor dhe nga ana e çdo departamenti të kompanisë

    Megjithatë, zbatimi praktik i standardeve të serisë CMM ka treguar se ato nuk ofrojnë sukses të pakushtëzuar në zhvillimin e softuerit. Këto standarde nuk ishin të koordinuara mirë me njëra-tjetrën - zbatimi i njëkohshëm i modifikimeve të ndryshme të CMM mund të ishte një detyrë mjaft e vështirë dhe të hutonte specialistët e organizatave që u përballën me këtë.

    Gjithashtu, një problem i rëndësishëm me CMM është nevoja për të "lidhur" të gjitha proceset. Nëse një organizatë po përpiqet të certifikojë në një nivel të caktuar, atëherë ajo duhet të sigurojë nivelin e duhur për të gjitha proceset e saj. Edhe nëse specifika, metodologjia ose tiparet e projektimit nuk favorizojnë ekzekutimin e disa proceseve, certifikimi e kërkon atë.

    Një problem tjetër buron nga pozicioni që kanë marrë standardet CMM në industrinë e sotme të softuerit. Duke qenë se një organizatë me nivel të lartë në përputhje me CMM duhet të ofrojë performancë më të lartë të produkteve softuerike në krahasim me ato që janë të certifikuara në nivele më të ulëta, standardi filloi të përdoret si kriter përzgjedhjeje për pjesëmarrjen në tenderat për zhvillimin e softuerit ose projektet e jashtme. Kërkesa për organizata të certifikuara ka sjellë një propozim për "çertifikim të shpejtë dhe pa dhimbje".

    Kjo situatë u mundësua nga mangësitë e procesit të certifikimit. Jo e gjithë organizata në tërësi i nënshtrohet certifikimit, por vetëm një projekt specifik. Asgjë nuk e pengon një organizatë të krijojë një projekt "vitrinë", të kryer duke marrë parasysh të gjitha kërkesat e niveleve të larta Standardi CMM, merrni nivelin e duhur të certifikimit dhe deklaroni se të gjitha produktet plotësojnë një nivel të tillë standardi.

    Për të zgjidhur shumicën e problemeve, CMM është krijuar për të standard i ri SEI - Kapaciteti Maturity Model Integrated (CMMI) - Një model i integruar për vlerësimin e nivelit të pjekurisë së proceseve të zhvillimit. Standardi CMMI u krijua fillimisht në mënyrë të tillë që të kombinohej opsionet ekzistuese CMM dhe përjashton çdo kontradiktë në zbatimin e tij praktik në fusha të ndryshme të veprimtarisë së kompanive të teknologjisë së lartë.

    Për të eliminuar nevojën për të "përafruar" proceset e organizatës dhe për t'u përshtatur më shumë me nevojat e biznesit të saj, dhe jo anasjelltas, standardi CMMI ka dy forma të paraqitjes - klasike, shumë nivele, që korrespondon me CMM, dhe e re, e vazhdueshme. Prezantimi i vazhdueshëm nuk merr parasysh Nivelet e Pjekurisë, por Nivelet e Aftësisë që vlerësohen për Zonat e Procesit individual (ZP). Tabela 3 tregon korrespondencën midis niveleve të maturimit të standardit CMM, si dhe niveleve të pjekurisë së prezantimit me shtresa CMMI dhe niveleve të aftësisë së prezantimit të vazhdueshëm CMMI.

    SEI po largohet nga CMM dhe po promovon në mënyrë aktive CMMI në këmbim, duke premtuar se do të forcojë kontrollin mbi procesin e certifikimit duke futur klasa të reja për të ulur kostot dhe për ta bërë atë më tërheqës për organizatat e vogla; sigurimi i përputhshmërisë me standardet ISO. Megjithatë, fakti mbetet: në kushte moderne prania e një certifikate të një niveli të caktuar CMM / CMMI nuk është një faktor aq i rëndësishëm sa ishte disa vite më parë, dhe pranohet pa pyetje shtesë, përveç në projektet e kryera me urdhër të qeverisë.

    5 faza evolucionare në menaxhimin e proceseve organizative. Shpjegimi i modelit të maturimit të aftësisë. CMM

    Modeli i pjekurisë së aftësisë CM-CEI është një model organizativ që përshkruan 5 fazat (nivelet) evolucionare në të cilat drejtohen proceset në një organizatë.

    Arsyeja e modelit të maturimit të aftësive, i krijuar fillimisht për zhvillimin e softuerit, është se një organizatë duhet të jetë në gjendje të pranojë dhe të mbështesë aplikacionet e saj softuerike. Modeli gjithashtu sugjeron hapa dhe iniciativa konkrete që do ta ndihmojnë organizatën të rritet në nivelin tjetër.

    5 fazat e modelit të maturimit të aftësive

    Fillestare (proceset janë ad hoc, kaotike, ose, në fakt, pak prej tyre janë të përcaktuara) Të përsëritshme (proceset bazë janë vendosur dhe ekziston një disiplinë për t'iu përmbajtur këtyre proceseve) Përcaktuar (të gjitha proceset janë të përcaktuara, të dokumentuara, të unifikuara dhe të integruara) Menaxhuar (proceset maten duke grumbulluar të dhëna të detajuara të procesit dhe cilësinë e tyre) Optimizimi ( zhvillim të vazhdueshëm proces duke përdorur reagime sasiore dhe duke testuar ide dhe teknologji të reja)

    Modeli i zhvillimit të softuerit

    CMM përshkruan parimet dhe praktikat që qëndrojnë në themel të konceptit të pjekurisë së procesit të softuerit. Ato janë krijuar për të ndihmuar firmat e zhvillimit të softuerit dhe marketingut të përmirësojnë sofistikimin e proceseve të tyre softuerike në një mënyrë evolucionare. Nga proceset ad hoc, kaotike deri te proceset e pjekura dhe të disiplinuara të softuerit. Fokusi është në identifikimin e fushave kryesore të procesit dhe praktikave më të mira që mund të përbëjnë proceset e disiplinuara të softuerit. Koncepti i pjekurisë CMM krijon një kontekst në të cilin:

      Praktikat mund të përsëriten. Nëse nuk e përsëritni një operacion, atëherë nuk duhet ta përmirësoni atë. Ka rregulla, procedura dhe praktika që detyrojnë një organizatë të zbatohet dhe zbatohet në mënyrë të vazhdueshme. Metodat më të mira të organizimit punimet e prodhimit mund të shpërndahet shpejt ndërmjet grupeve. Praktikat janë përcaktuar për të lejuar shkëmbimin ndërmjet projekteve, duke siguruar kështu njëfarë standardizimi për organizatën. Devijimet në performancën e këtyre metodave minimizohen. Për objektivat vendosen synime sasiore; dhe matjet vendosen, prodhohen dhe mirëmbahen për të formuar bazën për vlerësimin. Praktikat janë duke u përmirësuar vazhdimisht për të përmirësuar aftësinë (optimizimin).

    Modeli i pjekurisë së aftësive është i dobishëm jo vetëm për zhvillimin e softuerit, por edhe për të përshkruar nivelet evolucionare të organizatave në përgjithësi dhe për të përshkruar nivelin e menaxhimit që organizata ka zbatuar ose dëshiron të arrijë.

    Struktura e modelit të zhvillimit të funksionalitetit

      Nivelet e pjekurisë janë një koncept i shtresuar që siguron qëndrueshmërinë e disiplinës së nevojshme për të arritur përmirësim të vazhdueshëm. Është e rëndësishme të theksohet këtu se organizata zhvillon aftësinë për të vlerësuar pasojat e një praktike, teknologjie ose mjeti të ri. Prandaj, nuk bëhet fjalë për pranimin e këtyre risive, por më tepër se si këto përpjekje inovative po ndikojnë në praktikat ekzistuese. Ai mbështet projekte, grupe dhe organizata duke u dhënë atyre bazën për të bërë zgjedhje të informuara. Fushat kryesore të procesit - Një zonë kyçe e procesit (KPA) përcakton një grup aktivitetesh të ndërlidhura që, kur kryhen së bashku, arrijnë një sërë qëllimesh të rëndësishme. Objektivat - Objektivat e një zone kyçe të procesit përshkruajnë dispozitat që duhet të ekzistojnë për atë zonë kyçe të procesit. Rregulloret duhet të zbatohen në mënyrë efikase dhe të besueshme. Shkalla në të cilën objektivat janë përmbushur tregon se çfarë lloj mundësie ka vendosur organizata në atë nivel të përsosmërisë. Objektivat përshkruajnë fushat e aktivitetit, kufijtë dhe qëllimin e secilës fushë kyçe të procesit. Karakteristikat e përbashkëta - Karakteristikat e përbashkëta përfshijnë praktikat që zbatojnë dhe institucionalizojnë fushat kryesore të procesit. Këto 5 lloje karakteristikat e përgjithshme Këto përfshijnë: Angazhimin për përputhshmëri, Aftësinë për Pajtueshmëri, Iniciativat e Kryera, Matjen dhe Analizën dhe Kontrollin e Zbatimit. Praktikat kryesore - Praktikat kryesore përshkruajnë infrastrukturën dhe elementët e praktikës që kontribuojnë në mënyrë më efektive në zbatimin dhe institucionalizimin e fushave kryesore të procesit.

    Kriteret për përcaktimin e procesit

    Kriteret për përcaktimin e një procesi janë një koleksion i elementeve të procesit që duhet të përfshihen në përshkrimin e një procesi softuerësh në mënyrë që njerëzit t'i përdorin ato në praktikë. Për të përcaktuar kriteret ju duhet të bëni pyetjen - "Çfarë informacioni mbi procesin e programit nevojitet për dokumentacion?"

    Organizatat që punojnë në fushën e zhvillimit, shpërndarjes, zbatimit dhe mirëmbajtjes së softuerit dhe integrimit të sistemit po ndjejnë gjithnjë e më shumë se cilësia dhe kostoja e ulët, prodhimtaria e prodhimit janë në qendër të konkurrencës së tyre.

    Drejtuesit e organizatave të tilla nuk mund të formulojnë gjithmonë një strategji për përmirësimin dhe zhvillimin e teknologjisë së aktiviteteve të kompanisë së tyre; në tregun e punës, është e qartë se specialistët me kualifikimet e nevojshme nuk mjaftojnë. Në të njëjtën kohë, në fushën e përmirësimit të proceseve teknologjike të zhvillimit dhe funksionimit të softuerit, përvoja ndërkombëtare për shumë vite është përgjithësuar dhe formalizuar mjaftueshëm. Vetëm në fillim të viteve 1990, Instituti Amerikan i Inxhinierisë së Softuerit (SEI) formoi Modelin e Pjekurisë së Kapacitetit (CMM) të organizatave, duke përcaktuar nivelet e pjekurisë teknologjike dhe veçoritë e tyre dalluese. Gjatë një dekade, SMM është testuar në një sërë organizatash, efektiviteti dhe besueshmëria e tij janë verifikuar duke porositur organizata, furnizues softuerësh, kompani që zhvillojnë softuer me porosi dhe janë të angazhuara në programim në det të hapur.

    Sot, në perëndim, një kompani zhvillimi praktikisht po përballet me vështirësi të mëdha në marrjen e porosive nëse nuk është e certifikuar nga CMM. Konsumatorët kërkojnë garanci për fabrikueshmërinë e kompanisë zbatuese, garanci që kontraktori nuk mund të ofrojë një shërbim me cilësi të ulët.

    Vlerësimi i pjekurisë teknologjike të kompanive mund të përdoret:

    · Nga klienti në përzgjedhjen e performuesve më të mirë (për shembull, në një tender);

    · Kompanitë softuerike për vlerësimin sistematik të gjendjes së proceseve të tyre teknologjike dhe zgjedhjen e drejtimeve për përmirësimin e tyre;

    · Kompanitë që vendosin të kalojnë certifikimin për të vlerësuar "madhësinë e fatkeqësisë", d.m.th. gjendjen e tij aktuale;

    · Auditorët të përcaktojnë një procedurë standarde të certifikimit dhe të bëjnë vlerësimet e nevojshme;

    · Firmat konsulente që ristrukturojnë kompanitë dhe shërbimet e ofruesve të teknologjisë së informacionit dhe shërbimet e lidhura me to.

    Me rritjen e pjekurisë teknologjike të organizatës, proceset e krijimit dhe mirëmbajtjes së softuerit bëhen më të standardizuara dhe konsistente. Në të njëjtën kohë, formalizimi i proceseve bën të mundur standardizimin e rezultateve të pritura të zbatimit të tyre dhe sigurimin e parashikueshmërisë së rezultateve të zbatimit të projektit.

    Pjekuria e procesit të softueritështë shkalla e kontrollueshmërisë, kontrollueshmërisë dhe efikasitetit të tyre. Rritja e pjekurisë teknologjike tregon potencialin për rritjen e elasticitetit të procesit dhe tregon shkallën në të cilën proceset e zhvillimit dhe mirëmbajtjes së softuerit përdoren në mënyrë efektive dhe të qëndrueshme në të gjithë organizatën. Përdorimi real i proceseve është i pamundur pa i dokumentuar dhe vënë në vëmendjen e personelit të organizatës, pa monitorim dhe përmirësim të vazhdueshëm të zbatimit të tyre. Proceset e mirë-projektuara janë plotësisht të përcaktuara. Rritja e pjekurisë teknologjike të proceseve do të thotë që efikasiteti dhe cilësia e rezultateve të zbatimit të tyre mund të rritet vazhdimisht.


    Në organizatat që kanë arritur pjekurinë teknologjike, proceset e krijimit dhe mirëmbajtjes së softuerit marrin statusin e një standardi, fiksohen në strukturat organizative dhe përcaktojnë taktikat dhe strategjinë e prodhimit. Futja e tyre në statusin e ligjit sjell nevojën për të ndërtuar infrastrukturën e nevojshme dhe për të krijuar atë që kërkohet Kulturë korporative industritë që mbështesin praktikat, operacionet dhe procedurat e përshtatshme të biznesit edhe pasi ata që i krijuan të largohen nga organizata.

    Modeli CMM zhvillon dispozitat për sistemin e cilësisë së organizatës, duke formuar kriteret për përsosjen e tij - pesë nivele të pjekurisë teknologjike, të cilat, në parim, mund të arrihen nga organizata në zhvillim. Nivelet më të larta - niveli i katërt dhe i pestë - janë në të vërtetë karakteristika të organizatave që kanë zotëruar metodat e zhvillimit kolektiv, në të cilat proceset e krijimit dhe mirëmbajtjes së softuerit janë të automatizuara dhe të mbështetura teknologjikisht plotësisht.

    Që nga viti 1990, SEI, me mbështetjen e agjencive qeveritare amerikane dhe organizatave të zhvillimit të softuerit, ka zhvilluar dhe përmirësuar vazhdimisht këtë model, duke marrë parasysh të gjitha arritjet më të fundit në fushën e krijimit dhe mirëmbajtjes së softuerit.

    SMM është një material metodologjik që përcakton rregullat për formimin e një sistemi menaxhimi për krijimin dhe mirëmbajtjen e softuerit dhe metodat e përmirësimit gradual dhe të vazhdueshëm të kulturës së prodhimit. Qëllimi i SMM është të sigurojë organizata zhvillimore udhëzimet e nevojshme mbi zgjedhjen e një strategjie për përmirësimin e cilësisë së proceseve duke analizuar shkallën e pjekurisë së tyre teknologjike dhe faktorët që ndikojnë më shumë në cilësinë e produkteve. Duke u fokusuar në një numër të vogël të operacioneve më kritike dhe duke rritur sistematikisht efikasitetin dhe cilësinë e ekzekutimit të tyre, organizata mund të arrijë kështu një përmirësim të vazhdueshëm të vazhdueshëm në kulturën e krijimit dhe mirëmbajtjes së softuerit.

    CMM është një model përshkrues në kuptimin që përshkruan atributet thelbësore (ose kyçe) që përcaktojnë se në cilin nivel të pjekurisë teknologjike ndodhet një organizatë. Është një model normativ në kuptimin që një përshkrim i detajuar i metodologjisë përcakton nivelin e organizimit të nevojshëm për të kryer projekte me kompleksitet dhe kohëzgjatje të ndryshme sipas kontratave me agjencitë qeveritare të SHBA. CMM nuk është një recetë, ajo nuk përshkruan një organizatë se si të zhvillohet. CMM përshkruan karakteristikat e organizatës për secilin nga nivelet e pjekurisë teknologjike, pa dhënë asnjë udhëzim se si të kalohet nga niveli në nivel. Mund t'i duhen një organizate disa vite për të kaluar nga niveli i parë në niveli i dytë dhe shumë pak kohë për të kaluar nga niveli në nivel e tutje. Procesi i përmirësimit të teknologjisë së zhvillimit të softuerit reflektohet në planet strategjike të organizatës, strukturën e saj, teknologjitë e përdorura, kulturën e përgjithshme sociale dhe sistemin e menaxhimit.

    Në çdo nivel vendosen kërkesat, me përmbushjen e të cilave arrihet stabilizimi i treguesve më thelbësorë të proceseve. Arritja e çdo niveli të pjekurisë teknologjike është rezultat i shfaqjes së një numri të caktuar komponentësh në proceset e zhvillimit të softuerit, gjë që nga ana tjetër çon në një rritje të produktivitetit dhe cilësisë së tyre. Në fig. 1.7 tregon pesë nivelet e pjekurisë teknologjike të SMM.

    Oriz. 1.7. Pesë nivele të pjekurisë teknologjike të SMM

    Majat e shigjetave identifikojnë tiparet e përmirësimit të proceseve kur lëvizni nga niveli në nivel.

    Nivelet nga e dyta në të pestën mund të karakterizohen përmes operacioneve që synojnë standardizimin dhe (ose) modernizimin e proceseve të krijimit të softuerit, dhe përmes operacioneve që përbëjnë proceset e krijimit të tij. Për më tepër, niveli i parë është, si të thuash, baza, themeli për analiza krahasuese nivelet e sipërme.

    Në nivelin 1 (fillestar), proceset kryesore të krijimit dhe mirëmbajtjes së softuerit janë të rastësishme dhe kaotike. Suksesi i projektit varet tërësisht nga përpjekjet individuale të stafit. Në këtë nivel, si rregull, organizata nuk ka një mjedis të qëndrueshëm të nevojshëm për të krijuar dhe mirëmbajtur softuer.

    Suksesi i projektit, si rregull, varet tërësisht nga shkalla e energjisë dhe përvojës së udhëheqjes dhe nivel profesional interpretues. Mund të ndodhë që një udhëheqës energjik të kapërcejë të gjitha pengesat në procesin e projektit dhe të arrijë lëshimin e një produkti softuerësh vërtet të zbatueshëm. Por pasi një drejtues i tillë largohet nga posti i tij, garancia se projekti i ardhshëm i tillë do të jetë i suksesshëm zhduket. Në mungesë të nivelit të nevojshëm të menaxhimit të projektit, situata nuk mund të shpëtohet as nga teknologjia e avancuar.

    Proceset në nivelin e parë karakterizohen nga paparashikueshmëria e tyre për faktin se përbërja, qëllimi dhe sekuenca e tyre në procesin e ekzekutimit të projektit ndryshojnë në mënyrë të rastësishme, në varësi të situatës aktuale. Si rezultat, fondet e akorduara janë mbishpenzime dhe oraret e punës janë ndërprerë. Përgatitja e aftë dhe profesionistë të ditur në organizata është parakushti kryesor për sukses në të gjitha nivelet e pjekurisë, por në nivelin e parë është e vetmja mundësi për të arritur të paktën disa rezultate pozitive.

    Në nivelin 2 (niveli i proceseve të përsëritshme), proceset e menaxhimit të projektit ofrojnë kontroll të vazhdueshëm të kostove, orarit dhe funksioneve të projektit. Disiplina e projektit është e tillë që është e mundur të parashikohet suksesi i projekteve për krijimin e produkteve të ngjashme softuerike.

    Në këtë nivel, planifikimi i punës së projektit dhe menaxhimi i projekteve të reja bazohet në përvojën e projekteve të ngjashme të përfunduara me sukses. Karakteristika kryesore e nivelit të dytë është prania e proceseve të menaxhimit efektiv të projektit të zyrtarizuar dhe të dokumentuar, gjë që bën të mundur përdorimin e përvojës pozitive të projekteve të përfunduara me sukses. Proceset efektive mund të përkufizohen si procese që janë të dokumentuara, të përdorura në të vërtetë, të matshme dhe të përshtatshme për modernizim. Është thelbësore që personeli të trajnohet në përdorimin e tyre.

    Çdo nivel i HMM, duke filluar nga i dyti, karakterizohet nga prania e një numri të të ashtuquajturave zona të procesit kyç (KRA). Modeli CMM përmban 18 grupe të tilla, versioni i fundit i modelit CMMI përmban 20 grupe. Niveli 2 CMM karakterizohet nga prania e proceseve të mëposhtme në organizatë (emrat e tyre korrespondojnë me CMMI):

    · Menaxhimi i kërkesave;

    · Menaxhimi i konfigurimit;

    · Planifikimi i projektit;

    · Monitorimi dhe kontrolli i projektit;

    · Menaxhimi i kontratës;

    · Matjet dhe analizat;

    · Sigurimi i cilësisë së procesit dhe produktit.

    Proceset në nivelin e dytë mund të karakterizohen si të porositura për faktin se ato janë planifikuar paraprakisht dhe zbatimi i tyre kontrollohet rreptësisht, për shkak të të cilit arrihet parashikueshmëria e rezultateve të projektit. Me shtimin dhe ndërlikimin e projekteve vëmendja kalon nga aspektet teknike të zbatimit të tyre në ato organizative dhe menaxhuese. Ekzekutimi i proceseve kërkon punë më efikase dhe të koordinuar nga personeli, i cili, nga ana tjetër, kërkon studimin e praktikave më të mira të dokumentuara për të përmirësuar aftësitë profesionale.

    Në nivelin 3 (niveli i proceseve të standardizuara), proceset e zhvillimit të softuerit dokumentohen, standardizohen dhe përfaqësojnë një sistem të vetëm teknologjik që është i detyrueshëm për të gjitha departamentet e organizatës. Të gjitha projektet përdorin një teknologji të unifikuar të provuar, të miratuar dhe të standardizuar për krijimin dhe mirëmbajtjen e softuerit.

    Në këtë nivel, proceset e mëposhtme i shtohen proceseve të nivelit 2:

    · Specifikimi i kërkesave;

    · Integrimi i produktit;

    · Verifikimi;

    · Certifikimin;

    · Standardizimi i proceseve organizative;

    · arsimimi;

    · Menaxhimi i integruar i projektit;

    · Menaxhimi i rreziqeve;

    · Analiza dhe vendimmarrja.

    Kriteri kryesor për përdorimin dhe, nëse është e nevojshme, rregullimin e proceseve në këtë nivel është të ndihmohet lidhja e menaxhimit dhe specialistët teknikë për të përmirësuar efikasitetin e zbatimit të projektit. Në këtë nivel, krijohet një grup i veçantë në organizatën përgjegjëse për përbërjen e operacioneve që përbëjnë proceset - grupi i procesit të inxhinierisë softuerike (SEPG).

    Në bazë të një teknologjie të vetme për çdo projekt, proceset e tij mund të zhvillohen, duke marrë parasysh veçoritë e tij. Procese të tilla në CMM quhen "procese të zhvillimit të softuerit të orientuar drejt projektit" (procesi i softuerit të përcaktuar nga projekti).

    Përshkrimi i çdo procesi përfshin kushtet për zbatimin e tij, të dhënat hyrëse, standardet dhe procedurat për zbatimin, mekanizmat e verifikimit (p.sh. vlerësimet e ekspertëve), kushtet e prodhimit dhe përfundimit. Përshkrimi i procesit përfshin gjithashtu informacion në lidhje me mjetet e nevojshme për ta realizuar atë dhe një tregues të rolit përgjegjës për zbatimin e tij.

    Qëllimi kryesor i nivelit 4 (niveli i proceseve të kontrolluara) është monitorimi i proceseve. Menaxhmenti duhet të sigurojë që proceset të kryhen brenda cilësisë së specifikuar. Mund të ketë humbje të pashmangshme dhe kulme të përkohshme në rezultate të matshme që kërkojnë ndërhyrje, por sistemi i përgjithshëm duhet të jetë i qëndrueshëm.

    Niveli 4 shton proceset e mëposhtme:

    · Menaxhimi i performancës dhe produktivitetit;

    · Menaxhimi sasior i projektit.

    Në këtë nivel, në praktikë, zbatohet një vlerësim i detajuar i cilësisë së proceseve të krijimit dhe vetë produktit softuerik të krijuar. Në këtë rast zbatohen kriteret e vlerësimit sasior.

    Një program i unifikuar për kontrollin sasior të produktivitetit dhe cilësisë së zhvillimit të softuerit është duke u zhvilluar në të gjithë organizatën. Për të lehtësuar analizën e proceseve, krijohet një bazë e të dhënave e unifikuar e proceseve të zhvillimit dhe mirëmbajtjes së softuerit për të gjitha projektet e kryera në organizatë. Po zhvillohen metoda universale për vlerësimin sasior të produktivitetit të proceseve dhe cilësisë së zbatimit të tyre. Kjo lejon analizën dhe vlerësimin sasior të proceseve të zhvillimit dhe mirëmbajtjes së softuerit.

    Rezultatet e ekzekutimit të proceseve në nivelin e katërt bëhen të parashikueshme, pasi ato janë të matshme dhe ndryshojnë brenda kufijve sasiorë të specifikuar. Në këtë nivel, bëhet i mundur planifikimi paraprak i cilësisë së specifikuar të proceseve dhe produkteve përfundimtare.

    Qëllimi kryesor i nivelit 5 (niveli i proceseve të optimizuara) është përmirësimi dhe modernizimi i vazhdueshëm i proceseve të krijimit dhe mirëmbajtjes së softuerit. Me qëllim të modernizimit të planifikuar të teknologjisë së zhvillimit të softuerit, organizata krijon njësi speciale, përgjegjësitë kryesore të të cilëve janë mbledhja e të dhënave për ekzekutimin e proceseve, analizimi i tyre, modernizimi i proceseve ekzistuese dhe krijimi i proceseve të reja, kontrollimi i tyre në projekte pilot dhe dhënia e statusit të standardeve të ndërmarrjes.

    Niveli 5 shton proceset e mëposhtme:

    · Prezantimi i risive teknologjike dhe organizative;

    · Analiza shkak-pasojë dhe zgjidhja e problemit. Proceset e krijimit dhe mirëmbajtjes së softuerit karakterizohen nga

    si të përmirësuara vazhdimisht, pasi organizata bën përpjekje të vazhdueshme për t'i modernizuar ato. Ky përmirësim shtrihet si në identifikimin e aftësive shtesë të proceseve të përdorura, ashtu edhe në krijimin e proceseve të reja optimale dhe përdorimin e teknologjive të reja.

    Inovacionet që mund të sjellin përfitimin më të madh janë të standardizuara dhe të përshtatura me sistemin teknologjik në të gjithë organizatën. Personeli i përfshirë në zbatimin e projektit analizon defektet dhe identifikon shkaqet e shfaqjes së tyre. Proceset e zhvillimit të softuerit vlerësohen për të parandaluar përsëritjen e situatave që çojnë në defekte, dhe rezultatet e vlerësimit merren parasysh në projektet pasuese.

    Çdo nivel pasues siguron gjithashtu një dukshmëri më të plotë të proceseve të krijimit dhe mirëmbajtjes së softuerit.

    Në nivelin e parë, proceset janë amorfe (“kutitë e zeza”), dhe dukshmëria e tyre është shumë e kufizuar. Që në fillim, përbërja dhe qëllimi i operacioneve praktikisht nuk janë përcaktuar, gjë që krijon vështirësi të konsiderueshme në përcaktimin e gjendjes së projektit dhe ecurisë së tij. Kërkesat për ekzekutimin e proceseve vendosen në mënyrë të pakontrolluar. Zhvillimi i softuerit ndonjëherë duket si magji e zezë në sytë e menaxherëve (veçanërisht atyre që nuk janë vetë programues).

    Në nivelin e dytë, kontrollohet përmbushja e kërkesave të përdoruesve dhe krijimi i softuerit, pasi përcaktohet baza për proceset e menaxhimit të projektit. Procesi i zhvillimit të softuerit mund të shihet si një sekuencë e "kutive të zeza" që mund të kontrollohen në pikat e kalimit nga një "kuti" në tjetrën - faza fikse. Edhe nëse menaxheri nuk e di se çfarë po bëhet "brenda kutisë", përcaktohet saktësisht se cili duhet të jetë rezultati i procesit dhe përcaktohen piketa për fillimin dhe përfundimin e tij. Prandaj, menaxhmenti mund të njohë problemet në pikat e ndërveprimit të "kutive të zeza" dhe t'u përgjigjet atyre në kohën e duhur.

    Në nivelin e tretë, përcaktohet struktura e brendshme e "kutive të zeza"; detyrat që përbëjnë proceset. Struktura e brendshme është mënyra në të cilën proceset standarde në një organizatë zbatohen në projekte specifike. Ekipi menaxhues dhe interpretuesit i dinë rolet dhe përgjegjësitë e tyre brenda projektit në shkallën e kërkuar të detajeve. Menaxhmenti është i përgatitur paraprakisht për rreziqet që mund të shfaqen gjatë zhvillimit të projektit. Ndërsa proceset e standardizuara dhe të dokumentuara bëhen transparente për t'u parë, punonjësit që nuk janë të përfshirë drejtpërdrejt në projekt mund të marrin informacion të saktë në lidhje me statusin e tij aktual në kohën e duhur.

    Në nivelin e katërt, ekzekutimi i proceseve është i lidhur ngushtë me mjetet, gjë që bën të mundur përcaktimin karakteristikat sasiore kompleksitetin dhe cilësinë e zbatimit të tyre. Menaxherët, duke pasur një bazë objektive të matjeve sasiore, marrin mundësinë të planifikojnë me saktësi fazat dhe fazat e projektit, të parashikojnë ecurinë e projektit dhe mund t'i përgjigjen në kohë dhe në mënyrë adekuate problemeve të shfaqura. Me uljen e devijimeve të mundshme nga afatet e përcaktuara, kostoja dhe cilësia në rrjedhën e projektit, aftësia e tyre për të parashikuar rezultatet është vazhdimisht në rritje.

    Në nivelin e pestë, për të përmirësuar cilësinë e produkteve dhe për të rritur efikasitetin e krijimit të tij, po punohet vazhdimisht dhe sistematikisht për krijimin e metodave dhe teknologjive të reja të përmirësuara për krijimin e softuerit. Në të njëjtën kohë, vëmendja tërhiqet jo vetëm për ato tashmë në përdorim, por edhe për proceset dhe teknologjitë e reja, më efikase. Udhëheqësit mund të përcaktojnë sasinë e ndikimit dhe efektivitetit të ndryshimeve në teknologjinë e zhvillimit dhe mirëmbajtjes së softuerit.

    Niveli i katërt dhe i pestë janë të rralla në industrinë e softuerit. Pra, ndërsa disa qindra kompani në botë kanë arritur nivelin e tretë, kishte 62 firma të nivelit të pestë (sipas ISHM në 2002), dhe të katërt - 72. Vini re se jo të gjitha kompanitë e shpallin nivelin e maturimit të tyre. Disa nuk janë të interesuar të reklamojnë teknologjitë e tyre organizative, ndërsa të tjerët e kryejnë certifikimin thjesht nën presionin e klientit.

    Duhen dhjetë ose më shumë vite për të arritur nivelet më të larta të SMM. Por edhe niveli 3 ju lejon të hyni me guxim në arenën ndërkombëtare. Për të përdorur SMM, një kompani nuk ka nevojë të kërkojë punonjës me ndonjë aftësi unike, duhet vetëm të kuptojë idenë e përgjithshme. Në përshkrimin e modelit CMM, specifikohet në detaje se çfarë duhet bërë për të zhvilluar në përputhje me këtë model. Çdo menaxher i klasës së mesme është i aftë të ndjekë veprimet e rregulluara të SMM.

    Versioni i fundit i CMM 1.1 synon kryesisht kompanitë e mëdha të përfshira në zbatimin e projekteve të mëdha, por mund të përdoret fare mirë nga grupe prej dy ose tre personash ose programues individualë për të kryer projekte të vogla (deri në tre muaj). Në raste të tilla, modeli SMM mund të luajë një rol jetik, pasi porositë e reja përcaktohen kryesisht nga cilësia e projekteve të mëparshme. Grupet e vogla do të jenë mjaft të kënaqur me nivelin 2, pasi për një projekt të vogël nuk është e rëndësishme të devijoni nga afati për disa javë.

    Që nga viti 2002, një version i veçantë i integrimit të CMMI është shpërndarë zyrtarisht. Ky është një zhvillim i ri nga SEI, që mbulon të gjitha aspektet e aktiviteteve të kompanisë: nga zhvillimi dhe përzgjedhja e një kontraktori deri te trajnimi, zbatimi dhe mbështetja. Përveç kësaj, modeli CMMI është zgjeruar me qasje nga inxhinieria e sistemeve. Ky model përfshinte zhvillimet e bëra gjatë hartimit të versionit CMM 2.0 (ai nuk ishte i përfunduar), ndryshimet kryesore në të cilat synonin sqarimin e proceseve për kompanitë e niveleve të katërt dhe të pestë, gjë që është më e rëndësishme për amerikanët në shkallë të gjerë. projektet.

    Modeli HMM është mjaft i rëndë dhe i rëndësishëm, por nuk duhet të përdoret si baza e vetme që përcakton të gjithë procesin e zhvillimit të softuerit. Ai ishte menduar kryesisht për kompanitë që zhvillojnë softuer për Departamentin e Mbrojtjes të SHBA. Këto sisteme karakterizohen nga madhësia e tyre e madhe dhe jetëgjatësia e gjatë e shërbimit, si dhe nga kompleksiteti i ndërfaqes me harduer dhe sisteme të tjera softuerike. Ekipe mjaft të mëdha programuesish po punojnë për krijimin e sistemeve të tilla, të cilat duhet t'u binden kërkesave dhe standardeve të hartuara nga Ministria e Mbrojtjes.

    Disavantazhet e SMM përfshijnë si më poshtë:

    1. Modeli fokusohet ekskluzivisht në menaxhimin e projektit, dhe jo në procesin e krijimit të një produkti softuer. Modeli nuk e merr parasysh këtë faktorë të rëndësishëm, si përdorimi i metodave të caktuara, për shembull prototipizimi, metodat formale dhe strukturore, mjetet e analizës statike, etj.

    2. Modelit i mungon analiza e rreziqeve dhe vendimeve, gjë që nuk lejon zbulimin e problemeve përpara se ato të kenë ndikim në procesin e zhvillimit.

    3. Qëllimi i modelit nuk është i përcaktuar, megjithëse autorët pranojnë se ai është universal dhe i përshtatshëm për të gjitha organizatat. Megjithatë, autorët nuk ofrojnë një dallim të qartë midis organizatave që mund ose nuk mund të zbatojnë SMM në aktivitetet e tyre. Kompanitë më të vogla e shohin këtë model shumë burokratik. Në përgjigje të kësaj kritike, strategjitë e përmirësimit të rrjedhës së punës janë zhvilluar për organizatat e vogla.

    Qëllimi kryesor Krijimi i modelit SMM ishte qëllimi i Departamentit të Mbrojtjes së SHBA-së për të vlerësuar aftësitë e shitësve të softuerit. Për momentin, nuk ka kërkesa të qarta për arritjen e një niveli të caktuar të zhvillimit të organizatave zhvillimore. Megjithatë, përgjithësisht pranohet se një organizatë që ka arritur një nivel të lartë ka më shumë gjasa të fitojë një tender për furnizimin e softuerit. Si një alternativë ndaj HMM, propozohet një klasifikim i përgjithësuar i proceseve të përmirësimit të pjekurisë teknologjike, i cili është i përshtatshëm për shumicën e organizatave dhe projekteve softuerike. Ka disa llojet e zakonshme proceset e përmirësimit.

    1. Procesi joformal. Nuk ka një model përmirësimi të përcaktuar qartë. Mund të përdoret me sukses nga një ekip i veçantë zhvillimi.

    kov. Informaliteti i procesit nuk përjashton veprime të tilla formale si menaxhimi i konfigurimit, megjithatë, vetë veprimet dhe marrëdhëniet e tyre nuk janë të paracaktuara paraprakisht.

    2. Procesi i drejtuar. Ka një model të përgatitur që drejton procesin e përmirësimit. Modeli përcakton aktivitetet, orarin e tyre dhe marrëdhëniet ndërmjet tyre.

    3. Procesi metodikisht i shëndoshë. Kuptohet se ekzistojnë disa teknika (për shembull, teknikat e projektimit të orientuara nga objekti zbatohen sistematikisht). Për proceset e këtij lloji, mjetet mbështetëse të projektimit dhe analizës së procesit (veglat CASE) do të jenë të dobishme.

    4. Procesi i përmirësimit të drejtpërdrejtë. Ka një qëllim të përcaktuar qartë për përmirësimin e procesit teknologjik, për të cilin ka një linjë të veçantë në buxhetin e organizatës dhe janë përcaktuar normat dhe procedurat për prezantimin e inovacioneve. Pjesë e këtij procesi është përcaktimi sasior i procesit të përmirësimit.

    Ky klasifikim nuk mund të quhet i qartë dhe shterues - disa procese mund t'i përkasin njëkohësisht disa llojeve. Për shembull, informaliteti i procesit është zgjedhja e ekipit të zhvillimit. I njëjti ekip mund të zgjedhë një metodologji specifike zhvillimi, duke pasur të gjitha mundësitë për përmirësim të drejtpërdrejtë të procesit. Një proces i tillë bie nën klasifikimin përmirësim joformal, i bazuar metodikisht, i drejtpërdrejtë.

    Nevoja për klasifikimin e mësipërm është për faktin se ai ofron një bazë për një përmirësim gjithëpërfshirës në teknologjinë e zhvillimit të softuerit dhe bën të mundur që një organizatë të zgjedhë lloje të ndryshme të proceseve të përmirësimit. Në fig. 1.8 tregon lidhjen ndërmjet tipe te ndryshme sistemet dhe proceset softuerike për përmirësimin e zhvillimit të tyre.

    Oriz. 1.8. Zbatueshmëria e proceseve të përmirësimit

    Njohja e llojit të produktit që po zhvillohet do të bëjë korrespondencën midis sistemeve softuerike dhe proceseve të përmirësimit, të paraqitura në Fig. 1.8 e dobishme në zgjedhjen e procesit të përmirësimit. Për shembull, ju duhet të krijoni një program për të mbështetur kalimin e softuerit nga një platformë kompjuterike në tjetrën. Një program i tillë ka një jetë mjaft të shkurtër shërbimi, prandaj, zhvillimi i tij nuk kërkon standarde dhe administrata speciale procesi i përmirësimit, si në krijimin e sistemeve jetëgjatë.

    Shumë proceset teknologjike aktualisht kanë mjete mbështetëse CASE, kështu që ato mund të thirren proceset e mbështetura. Metodikisht proceset e zërit mbështetur nga mjetet e analizës dhe projektimit. Efektiviteti i mjetit mbështetës varet nga procesi i përmirësimit të aplikuar. Për shembull, në një proces joformal, mund të përdoren mjete tipike mbështetëse (veglat e prototipizimit, përpiluesit, mjetet e korrigjimit, përpunuesit e tekstit, etj.). Nuk ka gjasa që mjete mbështetëse më të specializuara të përdoren në mënyrë të vazhdueshme në proceset joformale.

    CMM nuk është unik. Pothuajse çdo kompani e madhe zhvillon teknologjitë e veta për krijimin e softuerit, ndonjëherë këto teknologji bëhen përgjithësisht të disponueshme dhe shumë të njohura. Modeli SMM është i njohur gjerësisht për shkak të tij mbështetjen e shtetit por efektiviteti i vërtetë i SMM është kritikuar nga shumë ekspertë kryesorë. Një nga disavantazhet kryesore të SMM shoqërohet me një kërkesë tepër të rreptë për të mos devijuar nga parimet e këtij modeli, edhe nëse sensi i përbashkët sugjeron të kundërtën. Pretendime të tilla për zotërimin e së vërtetës absolute nuk mund të mos ngjallin dyshime, prandaj qasjet që lënë shumë më tepër liri për krijimtarinë individuale dhe kolektive janë më të njohura në mesin e kompanive të vogla dhe të mesme. Metodologjia SPMN e konsideruar më poshtë zë një vend të ndërmjetëm midis zgjidhjeve të ngurta, "të rënda" si SMM që janë efektive për organizatat e mëdha dhe teknologjive më fleksibël. Ajo prezantohet opsioni më i mirë për kompanitë që, nga njëra anë, duan të thjeshtojnë ato aktivitetet e menaxhimit, dhe nga ana tjetër, ata planifikojnë të hyjnë në nivel ndërkombëtar ku certifikimi SMM është shumë i dëshirueshëm.

    Duke përdorur një proces të përcaktuar të zhvillimit të softuerit, organizatat marrin një rrjedhë konsistente të këtij procesi që ato mund ta përshtatin me nevojat e tyre specifike. Nevojat e papajtueshme për personalizim dhe standardizim mund të trajtohen duke ndërtuar një strukturë procesi që përbëhet nga module standarde ose hapa "thelbësore" dhe rregulla të përdorura për të përshkruar dhe vendosur marrëdhëniet midis këtyre hapave. Në këtë rast, përshtatja arrihet duke i kombinuar ato në një model procesi.

    Në mënyrë tipike, menaxhimi i cilësisë së projekteve softuerike bazohet në njohuri nga tre burime:

    Inxhinieri Software (ACM, IEEE);

    Menaxhimi i Projektit (PMI);

    Cilësia (ASQ).

    Instituti i Inxhinierisë së Softuerit (SEI) në Universitetin Carnegie Mallon bashkon këto tre burime.

    Modeli i maturimit të funksionalitetit (AftësiaPjekuriaModeli, CMM), shërben si një "skelet" i procesit të zhvillimit të softuerit. Ky model bazohet në veprime dhe pasqyron rezultatet më të mira të individëve që punojnë për të përmirësuar procesin e zhvillimit të softuerit dhe kryerjen e analizave vlerësuese të këtij procesi. Në vijim do t'i referohemi mënyrës sesi menaxhimi i cilësisë së projekteve softuerike korrespondon me modelin CMM SEI. Meqenëse HMM është i mirënjohur në komunitetet e zhvillimit të softuerit, ka pak nevojë për ta përcaktuar atë. Ne do të japim vetëm një përshkrim të shkurtër të tij për të demonstruar nevojën për të përdorur ciklin e jetës në procesin e zhvillimit. Më poshtë është një përshkrim i shkurtër i përgjithësuar i niveleve të zhvillimit të aftësive funksionale të modelit HMM.

    HMM është një diagram me të cilin fazat e zhvillimit korrespondojnë me pesë nivele të zhvillimit të funksionalitetit, në bazë të të cilave kryhet përmirësimi i vazhdueshëm i procesit të zhvillimit. Duke folur për nivelin e zhvillimit të funksionalitetit, ato zakonisht nënkuptojnë një fazë të përcaktuar rreptësisht të zhvillimit që synon marrjen e një procesi të plotë të zhvillimit të softuerit. Në ndarjen e HMM në pesë nivele, fokusi është në veprimet e përmirësimit të kërkuara për të përfunduar punën e zhvillimit të funksionalitetit të procesit. Këto pesë nivele mund të përmblidhen duke u caktuar karakteristikat e mëposhtme.

    Origjinale. Procesi i zhvillimit të softuerit mund të karakterizohet si një proces i veçantë, i përshtatur dhe ndonjëherë si kaotik. Vetëm një numër i vogël procesesh mund të identifikohen dhe suksesi varet nga përpjekjet individuale dhe veprimet vendimtare të ndërmarra.

    Të përsëritura. Proceset bazë të menaxhimit të projektit krijohen për të gjurmuar kostot, orarin dhe funksionalitetin. Këtu vërehet rendi i nevojshëm i procesit, i krijuar për të përsëritur arritjet e marra më herët në zbatimin e projekteve të ngjashme.

    I caktuar. Të gjitha projektet përdorin një version të testuar dhe të personalizuar të procesit standard të zhvillimit të softuerit të organizatës.

    Menaxhuar. Janë mbledhur tregues të detajuar të procesit të zhvillimit të softuerit dhe karakteristikat e cilësisë së produktit. Menaxhimi i procesit të zhvillimit të softuerit kryhet në nivel sasior.

    Niveli i optimizimit. Përmirësimi i vazhdueshëm i procesit të zhvillimit arrihet përmes reagimeve sasiore.

    Kjo lidhje arrihet nëpërmjet zbatimit të vetë procesit, si dhe në bazë të ideve dhe teknologjive inovative. Çdo nivel maturimi ndahet në disa fusha kyçe të procesit që tregojnë se çfarë duhet bërë ende për të përmirësuar procesin e zhvillimit të softuerit. Secili zona kryesore e procesit (Celësprocesizonë,AKP) përcakton një grup veprimesh të ndërlidhura të nevojshme për të optimizuar këtë proces.

    Fushat e AKP-së në nivelin 2 kanë të bëjnë me çështjet që lindin gjatë ekzekutimit të një projekti softuerik që lidhen me krijimin e mjeteve bazë të menaxhimit të projektit. Në këtë pikë të diskutimit, duhet të dimë se një proces përsëritës (niveli 2) mund të optimizojë strukturimin dhe menaxhimin në një organizatë. Me një përkufizim të tillë, formohet një gjuhë e përbashkët dhe periudhat e tranzicionit lehtësohen kur zhvilluesit përfshihen në proces, veçanërisht nëse ata nuk kanë përvojë të mjaftueshme në këtë fushë.

    Megjithatë, prania e një procesi të përsëritur (niveli 2) sigurisht që nuk çon në një proces të mirë-projektuar. Në përgjithësi, përmirësimi i procesit ndodh kur një organizatë arrin nivelin 3. Niveli 3 trajton si ekzekutimin e projektit ashtu edhe çështjet organizative, pasi organizata krijon një infrastrukturë që ofron inxhinieri dhe menaxhim efektiv të softuerit në të gjitha projektet. Dy fushat e CPA, përkufizimi i organizimit të procesit dhe menaxhimi i integruar i programit, lidhen me fushën lëndore. ciklet e jetës.

    Qëllimi i përkufizimit Struktura organizative zona e procesit KPA në nivelin 3 është të zhvillojë dhe të mbajë një grup të lehtë për t'u përdorur të veçorive të dobishme të procesit të zhvillimit të softuerit që përmirësojnë efikasitetin e procesit në ekzekutimin e një numri projektesh. Përkufizimi i procesit përfshin zhvillimin dhe mirëmbajtjen e një procesi zhvillimi standard specifik për organizatën dhe vetitë e vlerës së procesit përkatës. Qëllimi i përcaktimit të strukturës organizative të procesit është zhvillimi dhe mirëmbajtja e një procesi standard të zhvillimit të softuerit për një organizatë të caktuar.

    Aktivitetet që formësojnë procesin e ndërtimit të një strukture organizative përfshijnë dokumentimin dhe ruajtjen e karakteristikave përshkruese ciklet jetësore të zhvillimit të softuerit. Qëllimi i menaxhimit të integruar të softuerit në fushën e CRA në nivelin 3 është të kombinojë inxhinierinë dhe aktivitetet e menaxhimit të softuerit në një proces të përcaktuar në mënyrë koherente të zhvillimit të softuerit, që rezulton nga përshtatja e procesit standard të zhvillimit të softuerit në një organizatë të caktuar dhe vlerave të lidhura me të. Karakteristikat e procesit të përshkruara në "Përcaktimi i një procesi në nivelin e strukturës së tij".

    CMM i referohet një grupi modelesh procesesh softuerësh të zhvilluar nga një bazë e gjerë e mbështetur nga komuniteti i zhvillimit të softuerit. Duke qenë se kemi të bëjmë me një model, ka një thjeshtim të procesit aktual inxhinierik. Duke përfaqësuar një normë, modeli CMM identifikon aftësitë e një organizate që bie në kategorinë e një ose një shkalle tjetër pjekurie.

    Organizatat që përdorin këtë model si një mekanizëm për matjen dhe përmirësimin e proceseve duhet të përdorin një interpretim të pranueshëm të fushave të njohurive të procesit për sa i përket objektivave të biznesit. Kur përdoret si një mjet për vlerësimin dhe matjen e procesit, ky model bëhet një udhërrëfyes për përmirësimin e suksesshëm të procesit. Në përgjithësi, CMM mund të shihet si një koleksion i koncepteve inxhinierike dhe menaxheriale të artikuluara mirë të bazuara në parime të vërtetuara sigurie. Në procesin e zhvillimit të softuerit, kur njohuritë duhet të vlerësohen dhe mbrohen siç duhet, vëmendje e konsiderueshme duhet t'i kushtohet parimeve të sigurimit të cilësisë. Modeli CMM joështë një koleksion recetash për të gjitha rastet. Nuk specifikon se si organizata duhet të vendosë atributet e procesit. Gjithashtu, aplikimi i tij nuk garanton sukses të menjëhershëm. Procesi i zbatimit të përmirësimeve kërkon kohë dhe përpjekje të vazhdueshme në të gjithë organizatën. Në të njëjtën kohë, menaxhimi ekzekutiv dhe fondet e alokuara janë të një rëndësie të veçantë. Modeli CMM vështirë se mund të klasifikohet si një metodologji universale, kur "një madhësi i përshtatet të gjitha rasteve". Hapi i parë drejt përdorimit të këtij modeli është të personalizoni aplikacionet e nivelit të pjekurisë për organizatën tuaj specifike dhe grupin e projekteve. SEI ka zhvilluar modele të tjera të maturimit të aftësive që zbatohen për personelin organizativ, blerjen e softuerit, inxhinierinë e sistemeve, zhvillimin e produktit të integruar të softuerit dhe softuerin personal.

    Meqenëse softueri, si çdo kapital tjetër, mund të përfaqësohet në formën e njohurive të materializuara, dhe gjithashtu për shkak të faktit se njohuria është fillimisht josistematike, e pacaktuar dhe, në përgjithësi, e paplotë, çdo program mund të përfaqësohet si një proces. të mësuarit social... Ky proces zbatohet në formën e një dialogu, gjatë të cilit njohuritë e nevojshme materializohen në formën e një produkti softuerik të përfunduar. Në të njëjtën kohë, kryhet komunikimi midis përdoruesve dhe zhvilluesve, realizohet ndërveprimi midis përdoruesve dhe mjeteve (teknologjisë) të kërkuara. Procesi është përsëritës, me mjetet e përdorura nga mjedisi në të cilin zhvillohet komunikimi. Çdo raund i ri dialogu kontribuon në marrjen e njohurive gjithnjë e më të dobishme nga specialistët e përfshirë.

    Një nga përdorimet kryesore të modelit HMM është të përcaktojë se çfarë do të thotë një proces që ka arritur një shkallë të caktuar pjekurie. Kur aplikohet në softuer, mund të themi se një proces i pjekur ka atributet e mëposhtme:

    Përcaktuar - tregon "mënyrën e nevojshme për të përfunduar çështjen";

    Dokumentuar - projektuar në mënyrë të tillë që të mund të njihet dhe të përdoret në të ardhmen;

    Të mësuarit - të mësuarit e bazuar në dokumentacion;

    Praktike - mund të aplikohet në praktikë, dhe jo të vendoset në ndezësin e pasmë;

    E mirëmbajtur - e disponueshme, e rishikuar dhe e përmirësuar;

    Të kontrolluara - ndryshimet u miratuan nga "pjesëmarrësit në biznesin e përbashkët";

    Verifikuar - procesi po funksionon si duhet;

    Kontrolluar - po kryhet saktësisht procesi që nevojitet;

    Matur - Performanca e vlerësuar përdoret si bazë për monitorimin dhe përmirësimin e procesit;

    Aftësia e përmirësimit - fleksibiliteti dhe aftësia për të ndryshuar.

    Inxhinieria e produkteve softuerike i përket fushës së proceseve kyçe për nivelin 3, d.m.th. "i sigurt". Deri në vitin 1968, termi "inxhinieri softuerike" nuk u përdor fare. Inxhinieri softuerikeështë një aplikim praktik i njohurive shkencore në hartimin dhe zhvillimin e programeve kompjuterike. Ky proces quhet gjithashtu zhvillimin e softuerit ose prodhimin e programeve.

    Shfaqja e parë e softuerit të përhapur daton në 1890. Ishte gjatë kësaj kohe që Kartat e Punch nga Herman Cholerit (1860-1929), MIT, Kembrixh, MA, u shfaqën në Qendrat Amerikane të Regjistrimit.

    Në të njëjtën kohë, tejkalimet e para të kostove ndodhën për fajin e "kompjuterëve". Rezultatet e Qendrave të Regjistrimit të SHBA-së fillimisht janë tabeluar me mjete ndihmëse mekanike; tabulatorë mekanikë nga Herman Hollerith. Në të njëjtën kohë, filloi të zhvillohej prodhimi i letrave me grushta. Fondet e shpenzuara për tabelimin e të dhënave nga qendrat e regjistrimit ishin 98% më të larta se ato të bëra në të kaluarën. Kjo është pjesërisht për shkak të faktit se shablloni i përdorur për të dhënat e tabelimit është zhvilluar me shumë detaje dhe sasia e të dhënave të tabeluara ka tejkaluar sasinë minimale të kërkuar. Edhe pse vetë procesi i tabelimit është përshpejtuar ndjeshëm. Në të njëjtën kohë, u shfaqën letra me grushta, leximi i të cilave u krye elektrikisht.

    Duke iu rikthyer modelit HMM, vërejmë se në nivelin 2, procesi i zhvillimit të softuerit mund të përfaqësohet si një grup "kutish të zeza" me pika (faza) të caktuara kontrolli. Siç tregohet në fig. 2.1, kërkesat përfshihen në proces dhe "rrjedhin" pa probleme në një grup "kutish të zeza".

    Oriz. 2.1. Procesi i nivelit 2

    Rezultatet e llogaritjes gjenerohen për secilën kuti dhe zbatohen fazat dhe pikat e kontrollit për të monitoruar procesin e zhvillimit të softuerit. Kjo pasohet nga faza e zbatimit të politikave, standardeve dhe procedurave. Kjo përvojë është llogaritur duke përdorur sistemin bazë metrikë të përdorur në këtë projekt. Kontrolli kryhet nëpërmjet aplikimit të praktikave formale të përfshira në procesin e menaxhimit të projektit. Gjithashtu gjurmohen kostot, grafikët dhe një sërë veçorish funksionale. Subjektet kryesore të procesit janë kërkesat e softuerit dhe produktet e punës, dhe integriteti i tyre monitorohet duke përdorur një sistem të menaxhimit të konfigurimit. Projektet karakterizohen nga marrëdhënie të ngushta me mbështetjen e klientit. Ai gjithashtu zhvillon aftësinë për të zbatuar proceset softuerike.

    Në nivelin 3, d.m.th. "i definuar", procesi standard i përdorur për zhvillimin dhe mirëmbajtjen e softuerit në organizatë është i dokumentuar dhe i përdorur në mënyrë konsistente, i cili është paraqitur në mënyrë skematike në Fig. 2.2.

    Oriz. 2.2. Procesi i nivelit 3

    Në kuadër të projekteve, proceset standarde softuerike të organizatës përshtaten për t'i konkretizuar ato. Proceset e menaxhimit dhe inxhinierisë softuerike janë gjithashtu të integruara. Mundësitë për të kryer një proces standard janë standarde dhe ekipi i zhvillimit është përgjegjës për aktivitetet e kryera në të projekt softuerik... Më poshtë janë fushat e CRA për nivelin e tretë të pjekurisë:

    1) fushëveprimi i procesit organizativ;

    2) përcaktimi i procesit organizativ;

    3) inxhinieri i produkteve softuerike;

    4) menaxhim i integruar i softuerit;

    5) ndërveprimi ndërmjet grupeve;

    6) vlerësimet e ekspertëve;

    7) kurrikula.

    Në nivelin 3, procesi i zhvillimit të softuerit bazohet në një proces të mirëpërcaktuar. Gjatë zbatimit të procesit kërkohet një ndërgjegjësim për rolet dhe përgjegjësitë. Procesi i prodhimit të një produkti softuerik shfaqet gjatë ekzekutimit të procesit të softuerit.

    Niveli 4 (Fig. 2.3), d.m.th. "i kontrolluar" përfshin dy fusha të CRA: menaxhimin sasior të procesit dhe menaxhimin e cilësisë së softuerit.

    Oriz. 2.3. Procesi i nivelit 4

    Falë përdorimit të sistemit të zgjeruar metrikë, grumbullohen rezultatet e vlerësimeve të hollësishme të procesit të zhvillimit të softuerit dhe sigurimit të cilësisë së produktit softuer. Është kryer një vlerësim dhe kontroll sasior i proceseve dhe produkteve të softuerit. Procesi i menaxhimit bazohet në kritere objektive të formuluara për të marrë vendime dhe për të matur performancën brenda kufijve të specifikuar.

    Në nivelin 5 ("optimizimi"), zonat CPA fokusohen në menaxhimin e ndryshimit të teknologjisë, menaxhimin e ndryshimit të procesit dhe fazat e parandalimit të defekteve. Nëpërmjet përmirësimit të vazhdueshëm të procesit, sasior Feedback në lidhje me procesin e zhvillimit të softuerit. Në këtë nivel, organizata mund të testojë ide dhe teknologji të reja që përmirësojnë cilësinë e produktit softuer, i cili është paraqitur në mënyrë skematike në Fig. 2.4.

    Oriz. 2.4. Procesi i nivelit 5

    Nëpërmjet ndryshimeve të kontrolluara në një proces ekzistues, futet një qasje organizative për të mundësuar përmirësim të vazhdueshëm të procesit. Organizimi i këtyre ndryshimeve është i rëndësishëm për arsyet e mëposhtme:

    1) procesi duhet të jetë në përputhje me traditat kulturore të organizatës;

    2) menaxhmenti është i detyruar të kontribuojë në ngritjen e nivelit të kulturës;

    3) kultura duhet të promovojë prezantimin e modeleve dhe shpërblimeve.

    Për ta përmbledhur, mund të vërehet se modeli SMM është një lloj "harte rrugore" që garanton përmirësim të suksesshëm të procesit. Interpretimi dhe zbatimi i tij është brenda kontekstit të objektivave të biznesit të organizatës. Aktualisht, në organizatat e përfshira në zhvillimin e softuerit, metoda më e zakonshme është modeli CMM (dhe ky trend është tipik për shumë vende dhe një larmi të madhe fushash aplikimi). Ky model është normativ, jo urdhërues dhe karakterizohet gjithashtu nga një diferencë e madhe stabiliteti. Zhvillimi dhe mbështetja e tij kryhet nga shumë zhvillues të bashkuar në një komunitet profesionistësh.