M 129ORGANIZACIJA ZNANJA 2010, LETN. 15, ZV. 3 Dne 7. junija je v Ljubljani v organizaciji Slovenskega inštituta za standardizacijo potekal seminar z naslovom Uvod v ISO/IEC 15504 – SPICE, Mednarodni standard za ocenjevanje in izboljševanje procesov pri izdelavi programske opreme. Seminar je vodil Damjan Ekert, sodelavec mednarodnega podjetja ISCN1 s sedežem na Irskem in v Avstriji. Podjetje ISCN že 15 let svetuje podjetjem v izboljševanju procesov pri izdelavi programske opreme in pri vpeljevanju standarda ISO/IEC 15504. Podjetje je tudi organizator številnih konferenc EuroSPI in ECQA, uradni ocenjevalec za ISO/IEC 15504/Automotive SPICE© ustanovni član S2QI (System and Software Engineering), iNTACS (Internatonal Assessor Certification Scheme), moderator nemške delovne skupine Soqrates (Sotware Quality Rates Maturity). Podjetje ISCN v glavnem svetuje mnogim velikim podjetjem: Magna, Delta, Continental, ZT, T Systems, Saxonia Systems … Predavatelj je predstavil strukturo standarda, ga v nadaljevanju primerjal z drugimi sorodnimi standardi, govoril o dimenziji procesov, izboljšavi procesov, ocenjevanju ter nazadnje predstavil praktični primer ocenjevanja procesa. PREGLED STANDARDA Standard ISO/IEC 15504 je mednarodni standard za ocenjevanje in izboljšanje procesov pri izdelavi programske opreme. Leta 1991 je izšla prva študija o ocenjevanju procesov. Leta 1993 je standard dobil delovno ime SPICE (Software Process Improvement and Capability dEtermination), leta 1998 pa je bil izdan kot ISO/IEC TR 15504. V letih 2003 in 2004 je bila objavljena revizija standarda, do danes pa je bilo objavljenih pet veljavnih delov standarda, 6., 7. in 8. del pa so v razvoju. Za razvoj omenjenega standarda je pomembna konferenca EuroSPI – European System&Software process Improvement and Innovation. Letošnja, že 17. konferenca je bila v Grenoblu v Franciji. Za ta standard ne obstaja certifikacija, podjetja lahko samo delujejo v skladu s priporočili standarda ter so ocenjena na njegovi podlagi. Na seminarju smo se osredotočili na izdane veljavne standarde, in sicer bolj podrobno na 2. in 5. del standarda. Standard ISO/IEC 15504 sestavljajo naslednji deli: • ISO/IEC 15504-1:2004 Information technology – Process assessment – Part 1: Concepts and vocabulary V tem delu so podani koncepti in uvodne smernice, opisano pa je tudi, kako so komponente tega standarda med seboj povezane in kako jih moramo uporabljati. • ISO/IEC 15504-2:2003 Information technology – Process assessment – Part 2: Performing an assessment V tem delu je opisan referenčni model, na osnovi katerega oblikujemo ocenitveni model. Ta del definira minimalno množico zahtev za zagotovitev, da so izhodi ocenitve nepristranski, pravični, dosledni in ponovljivi. Podane so tudi minimalne zahteve, kakšen mora biti ocenjevalec. • ISO/IEC 15504-3:2004 Information technology – Process assessment – Part 3: Guidance on performing an assessment Ta del razlaga 2. del standarda. Opisuje postopek ocenjevanja in je namenjen ocenjevalcem in sponzorjem. • ISO/IEC 15504-4:2004 Information technology – Process assessment – Part 4: Guidance on use for process improvement and process capability determination Vsebuje napotke za uporabo rezultatov ocenjevanja za izboljšavo procesov (Process Improvement – PI) ter določanje zmožnosti procesov (Process Capability Determination – PCD). • ISO/IEC 15504-5:2006 Information technology – Process Assessment – Part 5: An exemplar Process Assessment Model Model, opisan v tem delu standarda, je primer kompatibilnega ocenitvenega modela, ki sloni na standardu ISO/IEC 12207. Model je sinonim za standard SPICE. Uporablja se za izboljšavo procesov pri izdelavi programske opreme. SEMINAR UVOD V ISO/IEC 15504 – SPICE doi:10.3359/oz1003129 1.25: DRUGI ČLANKI ALI SESTAVKI 130 ORGANIZACIJA ZNANJA 2010, LETN. 15, ZV. 3 STRUKTURA STANDARDA Standard ISO/IEC 15504 – SPICE sestavlja 9 kategorij procesov (opredeljujejo kaj) in 6 nivojev zmožnosti in atributov procesa (opredeljujejo kako). Ocenjevalni model je prikazan na sliki 1. Leva stran ocenjevalnega modela predstavlja ocenjevalno skalo, ki je opisana v 5. delu standarda. Spodnji del ocenjevalnega modela predstavljajo procesi (referenčni model …), ki se spreminjajo. Referenčni model so lahko različni procesi (podpora standardov Automotive SPICE, ISO 12207, ISO 15288 …). V standardu so opisane povezave med referenčnim in ocenjevalnim modelom. Osrednji del modela je opisan v 2. delu standarda. Drugi del standarda opredeljuje zmožnosti procesa, nivoje, atribute, ocenjevalno skalo, zahtevke za referenčni model, področje, namen, rezultate, ocenjevanje. Ta del z naštetimi indikatorji vpliva na procese na 1. nivoju (osnovna praksa, delovni proizvodi) do zmožnostne dimenzije (generična praksa, generični viri, generični delovni proizvodi). Ta del pa se nahaja v 5. delu standarda. Slika 1: Ocenjevalni model POVEZAVA ISO/IEC 15504 Z DRUGIMI STANDARDI Predstavljeni so bili sorodni standardi, ki dopolnjujejo obravnavani standard in se s svojimi specifikami uporabljajo pri delu. Standard ISO/IEC 15504 je povezan s standardom SPICE za avtomobilsko področje – Automotive SPICE. Značilnost standarda Automotive SPICE je, da zahteva dvosmerno sledljivost. Povezljivost poteka preko zahtevka, načrtovanja, izdelave kode, integriranja in testiranja. Pri testiranju mora biti omogočena sledljivost, katere zahtevke testiramo (npr. od kod pride zahtevek) in zaradi katerega zahtevka je bil sprožen razvoj. Ta dvosmerna povezljivost pa je značilna tudi za ISO/IEC 15504 – SPICE. Ta dvosmerni model se imenuje tudi model "V" (prikazan na sliki 2). Slika 2: Model "V" CMMI – Capability Maturity Model Integration je ameriški zrelostni model, zelo razširjen v svetu. Ima podobno strukturo kot ISO/IEC 15504. V njem je opisano, kako naj organizacija izboljšuje procese. Določena je zmožnost procesa, prikazan pa je tudi integrirani zrelostni model. To je dejansko ocenjevalni model za podjetja, ki so se lotila izboljšave procesov. Večina podjetij doseže drugo stopnjo z uspešnim zagotavljanjem osnovnega projektnega vodenja: upravljanje zahtev, projektno planiranje, projektni nadzor, upravljanje dogovorov dobavitelja, meritve in analize, zagotavljanje kakovosti procesov in proizvodov, upravljanje konfiguracije.2 Enterprise SPICE3 obsega združitev več standardov. Cilj je podati generični in neodvisni referenčni model. Procesi in praktike so prevzete iz CMMI in ISO/IEC 15504. Prva verzija je izšla oktobra 2008. Uporablja se lahko namesto ISO 9001 v podjetjih, ki se ukvarjajo z izdelavo programske opreme. Standarda ISO 9001 in ISO/TS 16949 (Quality management systems – Particular requirements for the application of ISO 9001:2008 for automotive production and relevant service part organizations) sta osnova standarda ISO/IEC 15504. Predstavljen je bil primer upravljanja sprememb zahtev ter primerjava skladnosti standardov SPICE in ISO 9001. Procesna dimenzija (Process Dimension) Standard ISO/IEC 15504 opredeljuje naslednje kategorije procesov: POROČILO M T 131ORGANIZACIJA ZNANJA 2010, LETN. 15, ZV. 3 1. Primarni procesi • Inženirska kategorija procesov direktno specificira, uvaja ali vzdržuje sistem in programski proizvod ter njegovo uporabniško dokumentacijo (vsebuje opis zahtev, analizo sistemskih zahtev; načrtovanje sistemske arhitekture; analizo zahtev programske opreme; načrtovanje, izdelavo, integracijo, testiranje in namestitev programske opreme; sistemsko integracijo, sistemsko testiranje, vzdrževanje sistema ter programske opreme). • Kategorija procesov stranka – dobavitelj omogoča povezavo strank z dobaviteljem: od pridobivanja strank, priprave pogodbe do izbire dobavitelja. Procesi podpirajo razvoj in prehod programske opreme k stranki. Zagotavljajo pravilno delovanje in uporabo programske opreme. • Upravljalna kategorija procesov zagotavlja pravilno uporabo programskega proizvoda ali servisa ter zagotavlja podporo stranki. 2. Podporni procesi Lahko jih uporablja kateri koli drugi proces na različnih točkah v življenjskem ciklu programske opreme (zagotavljanje kakovosti, verifikacija, validacija, presoja, evalvacija proizvoda, dokumentacija, upravljanje konfiguracije, upravljanje reševanja problemov, upravljanje sprememb zahtev). 3. Organizacijski procesi Vsebujejo opravila splošne narave, ki jih lahko uporablja vsakdo, ki vodi kakršno koli vrsto projekta znotraj življenjskega cikla programske opreme. • Kategorija procesov ponovne uporabe (angl. re- use) vsebuje procese, ki sistematično raziščejo možnosti ponovne uporabe programske opreme. Ponovna uporaba se uveljavlja kot ključna strategija pri razvoju programskih sistemov. • Kategorija izboljšanja procesov vsebuje vse od definiranja procesov, ocenjevanja do izboljšanja procesov. • Kategorija virov sredstev in infrastruktura procesov vsebuje procese, ki zagotavljajo primerne človeške vire in infrastrukturo, potrebno za izvajanje drugih procesov v organizaciji. Zmožnostna dimenzija (Capability Dimension) Vsebuje nivoje, atribute in ocenjevalno skalo za procese. Zmožnostna dimenzija je opisana v 5. delu standarda ISO/IEC15504 in se vodi za vsak proces posebej. Zmožnostno dimenzijo sestavlja več nivojev, in sicer od 0 do 5 (slika 3). • Nepopoln proces (nivo 0) pomeni, da proces še ni vpeljan ali pa ne doseže svojega namena. Manjkajo npr. delovni proizvodi. • Izvajan proces (nivo 1) pomeni, da je proces vpeljan in doseže svoj namen. • Voden proces (nivo 2) pomeni, da so delovni proizvodi ustvarjeni, kontrolirani in vzdrževani. Potrebno je novo načrtovanje, viri se stalno spreminjajo. Do nivoja 2 se z izboljšavami prebije več podjetij, od tu naprej pa zelo redka. • Utemeljen proces (nivo 3) pomeni, da uporabljen definiran proces temelji na standardnih procesih, ki upoštevajo dobre principe programskega inženirstva. • Predvidljiv proces (nivo 4) pomeni konsistentno izvajanje utemeljenega procesa znotraj definiranih obvladljivih omejitev za doseganje njegovih ciljev. • Optimiran proces (nivo 5) pomeni, da se proces nenehno optimira, da bi zadovoljil trenutne in prihodnje poslovne potrebe. Slika 3: Zmožnosti procesa IZBOLJ[EVANJE PROCESOV Izbor procesov, namenjenih prenovi, vedno poteka glede na potrebe. Po standardu ISO/IEC 15504 – SPICE morajo biti pred procesom izboljšave izpolnjene naslednje zahteve: • enotni, merljivi in definirani procesi, • sledljivost, • nadzor nad termini in porabo sredstev, • vsi zahtevki morajo biti analizirani, razviti in testirani (stalne analize), • za vse delovne proizvode velja upravljanje konfiguracij (angl. configuration management), • kontrola verzij, • spodbujanje uporabe orodij (Excel ni več dovolj), • pravočasno odkrivanje napak. Preden začnemo izboljševati procese, moramo najprej ugotoviti, kako delujejo procesi sedaj. Za vsak proces iz poljubne kategorije procesov lahko določimo njegovo zmožnost. Ocenjene zmožnosti posameznih procesov so: POROČILO 132 ORGANIZACIJA ZNANJA 2010, LETN. 15, ZV. 3 • dobra osnova za izboljšanje procesov, • dober odraz zmožnosti ocenjevane (lastne in tuje) organizacije. Koraki pri izboljšavi procesov so: 1. raziskava organizacijskih potreb, 2. začetek oz. sprožitev procesa izboljšave, 3. priprava in spremljanje (vodenje) procesnega ocenjevanja, 4. analiza rezultatov in sprejetje akcijskega načrta, 5. uvedba izboljšav, 6. potrditev izboljšav, 7. vzdrževanje pridobitev, ki sledijo izboljšavam, 8. nadzorovanje učinka izboljšav. Točke 4, 5 in 6 se lahko ponavljajo. Standard ISO/IEC 15504 definira tudi zahtevke za referenčni model. Referenčni model mora vsebovati: • področje, • opis procesa, • namen uporabe, • poveze oz. razmerja med procesi. Vsak proces v postopku izboljšave mora vsebovati enoznačno ime (ki mora opisovati vsebino procesa, npr. Project Management) in identifikacijsko oznako procesa (sestavljeno iz kratice procesa in številke, npr. MAN.3) ter opis namena (npr. namen procesa Project Management je identificirati, vzpostaviti, načrtovati, koordinirati in nadzirati aktivnosti, naloge …), rezultate procesa (npr. definirani so cilji projekta, naloge in potrebni viri za dokončanje dela so pravilno oblikovani in ocenjeni ...), osnovne praktike (aktivnost oz. indikator, s katerim dokazujemo dosežen proces), delovne proizvode (vhodni in izhodni delovni proizvodi procesa, povezani z osnovnimi praksami) ter opis delovnih proizvodov. PROCES OCENJEVANJA PO ISO/IEC 15504 Proces ocenjevanja po omenjenem standardu poteka preko vhodnih podatkov (naročnik, namen, cilj omejitve, ekipa ocenjevalcev) in ocenitvenega modela (referenčni model in zmožnost procesa) do izhodnih rezultatov, kot so poročila in profili, v katerih se prikaže, kakšen nivo je dosegel določeni proces. Samo ocenjevanje obsega načrtovanje, zbiranje podatkov, preverjanje podatkov, ocenjevanje atributov, poročanje. Vloge in dolžnosti pa si razdelijo naročnik, glavni ocenjevalec in preostali ocenjevalci. Izbor ekipe ocenjevalcev je lahko sestavljen iz vodje, internih in zunanjih ocenjevalcev. Med pripravami na ocenjevanje se predstavi agenda s termini, kdaj bo določen proces predstavljen in kdo ga bo ocenil. Ocenjevanje procesov poteka na osnovi indikatorjev, na osnovi osnovnih praktik, generičnih praktik in delovnih proizvodov. Ocenjevanje poteka po naslednjih korakih: • zbiranje dokazov pred ocenjevanjem ali med njim, • ocenjevanje indikatorjev na 1. nivoju oz. generičnih praktik na nivojih 2–5 (z ocenami N, P, L, F). • Ocena N – cilj ni dosežen (0–15 %): obstaja zelo malo ali skoraj nič dosežkov glede na definirane atribute pri ocenjevanju procesa. • Ocena P – cilj je delno dosežen (15–50 %): obstaja nekaj evidenc o dosežkih glede na definirane atribute pri procesih, nekateri aspekti doseganja atributov so nedoločljivi. • Ocena L – cilj je v večini dosežen (50–85 %): obstaja evidenca o sistematičnem pristopu in dosežkih glede na definirane atribute v procesu. Nekatere slabosti se nanašajo na atribute, lahko obstajajo v ocenjevanih procesih. • Ocena F – cilj je v celoti dosežen (85–100 %): obstaja evidenca popolnega in sistematičnega pristopa doseženih definiranih atributov v ocenjevanih procesih. Ni zaznati nobenih slabosti v ocenjevanih procesih. Pri ocenjevanju se lahko proces oceni le na podlagi dokazov. Rezultate zbiramo po profilu procesa, atributih procesa. Sledi izračun nivoja (L ali F). Sledi še izdelava poročila. Poročilo vsebuje: profile in atribute vseh ocenjenih procesov, podrobne ocene vseh indikatorjev in generičnih praktik, komentarje k oceni, povzetek ocene procesa, načrt za izboljšanje procesa, po potrebi prezentacijo za vodilni menedžment. PRIMER OCENJEVANJA Predstavljen je bil še primer ocenjevanja in poročanja za proces SUP.8 Configuration Management Proces PA 1.1 PA 2.1 PA 2.1 SUP.8 L L L Prikaz prednosti: • uspešno vzpostavljen sistem KM za dokumente oz. delovne proizvode, • dosledna uporaba sistema pri razvoju. POROČILO M T 133ORGANIZACIJA ZNANJA 2010, LETN. 15, ZV. 3 Prikaz pomanjkljivosti: • manjka KM Audit, • manjka strategija za širjenje, • seznam je nepopoln, • manjka opis procesa in vlog. Standard ISO/IEC 15504 – SPICE lahko pomaga, kadar: • se v projektu ne držimo načrtovanih rokov, • ne vemo točno, kaj moramo testirati oz. ne najdemo povezave z definicijo zahtev, • ne vemo, kje so zadnje verzije kode, • ne vemo, kje je aktualna dokumentacija o programskem proizvodu. Opombe 1 http://www.iscn.com/ 2 http://www.sei.cmu.edu/cmmi/index.cfm 3 http://www.enterprisespice.com/ Metka Bakan Toplak POROČILO