Upravitelj konfiguracije programske opreme, včasih tudi preprosto znan kot SCM, je strokovnjak za računalništvo, ki nadzira življenjski cikel določenega programskega izdelka, običajno za programsko podjetje ali proizvodno podjetje. Vodje so pogosto dodeljeni več projektom hkrati, njihova delovna mesta pa lahko vključujejo vse od začetnega kodiranja in zasnove projekta do končnega razvoja in združevanja. Ta oseba običajno ni odgovorna za stvari, kot sta prodaja in trženje – te naloge običajno pripadajo drugim oddelkom – vendar skoraj vse o tem, kako je program zasnovan in ustvarjen, sodi v pristojnosti upravitelja. Njegove glavne funkcije vključujejo razvoj, testiranje in zagotavljanje kakovosti; običajno so vključena tudi kadrovska vprašanja, vključno z nadzorom in prenosom pooblastil. Večina ljudi, ki imajo tovrstno delo, dela v večjih podjetjih za razvoj programske opreme in običajno je, da imajo univerzitetno diplomo iz računalniškega inženiringa, informacijske tehnologije in kodiranja.
Osnovne naloge in opis dela
Vsakodnevne naloge katerega koli SCM se nujno razlikujejo glede na obseg dela in dinamiko celotnega podjetja. V svojem najbolj univerzalnem pomenu pa osrednje naloge vključujejo zagotavljanje in upravljanje procesov, ki se uporabljajo za upravljanje in nadzor sprememb skozi celoten življenjski cikel programskega izdelka. V skoraj vseh primerih SCM poskrbi, da programska oprema ostane zanesljiva in ponovljiva skozi celoten razvojni proces v primeru sprememb ali popravkov.
Dejansko izvajanje tega ni vedno enostavno in lahko vključuje številne različne gibljive kose. Večina menedžerjev sodeluje z več razvojnimi ekipami in poskrbi, da vsi delajo v skladu s posebnimi razvojnimi smernicami. Da bi zagotovili celovitost programskega izdelka, vodje običajno izdelajo tako imenovano “gradnjo programske opreme”, ki se začne v zgodnjih fazah projekta. Ta gradnja se običajno večkrat ponovi skozi celoten razvojni proces.
Osnovna izvorna koda
Ena najpomembnejših stvari, ki jih upravljavec konfiguracije programske opreme naredi v fazi razvoja, je zagotoviti, da se vse spremembe, izvedene pri razvoju programskega izdelka, upravljajo, testirajo, dokumentirajo in shranjujejo v skladu z določenimi standardi v vseh fazah razvoja. Ko programer ustvari program, se napiše začetna izvorna koda, ki vsebuje vse ukaze, potrebne za delovanje programa. Ko se program razvija, se v izvorni kodi izvedejo določene spremembe ali revizije za izboljšanje ali dopolnitev funkcij programske opreme. Če spremeni tudi drug programer ali če so podatki iz nekega razloga poškodovani, se lahko začetna izvorna koda spremeni ali celo izgubi, če ni shranjena.
Razumevanje procesa razvoja programske opreme
Upravitelj konfiguracije programske opreme mora zagotoviti, da vse te različne izvorne kode dejansko delujejo skupaj, da programska oprema deluje tako, kot je bila zasnovana. Da bi to naredil, bo upravljavec ustvaril popolnoma avtomatizirano dnevno gradnjo programske opreme, postopek, ki združuje vse različne korake, potrebne za prevajanje izvorne kode v artefakte ali datoteke. Te datoteke morajo biti sposobne prestati več testov, da se prepričajo, da so pravilno integrirane z vsemi drugimi komponentami programske opreme. Ta postopek gradnje zagotavlja, da bo programska oprema delovala pravilno, ko bodo vse komponente združene v končno različico.
Sestavljanje datotek
Upravitelj konfiguracije programske opreme mora običajno tudi zagotoviti, da vse te različne izvorne kode dejansko delujejo skupaj, da program deluje tako, kot bi moral. Da bi to naredil, bo upravljavec ustvaril popolnoma avtomatizirano dnevno gradnjo programske opreme, postopek, ki združuje vse različne korake, potrebne za prevajanje izvorne kode v artefakte ali datoteke. Te datoteke morajo biti sposobne prestati več testov, da se prepričajo, da so pravilno integrirane z vsemi drugimi komponentami programske opreme. Ta postopek gradnje zagotavlja, da bo programska oprema delovala pravilno, ko bodo vse komponente združene v končno različico.
Začetek v poklicu
Menedžerji običajno potrebujejo diplomo iz računalništva ali sorodnega področja, vendar ni nenavadno, da je formalno izobraževanje preprosto ena od mnogih, postopoma intenzivnejših zahtev. Običajno je tako, da vodstveni položaji zahtevajo veliko praktičnih izkušenj pri delu v skupinah za razvoj programske opreme in interakciji kot člani oddelkov za informacijsko tehnologijo. Najuspešnejši strokovnjaki na tem področju imajo običajno dolgoletne izkušnje pri ustvarjanju programske opreme in upravljanju osnovnih standardov za različne programe.