Upravitelj konfiguracije softvera, ponekad jednostavno poznat i kao SCM, stručnjak je za računalne znanosti koji nadzire životni ciklus određenog softverskog proizvoda, obično za softversku tvrtku ili proizvodnu tvrtku. Menadžeri su često dodijeljeni na više projekata odjednom, a njihovi poslovi mogu uključivati sve, od početnog kodiranja i koncepcije projekta do konačnog razvoja i spajanja. Ova osoba obično nije odgovorna za stvari poput prodaje i marketinga — ti zadaci obično pripadaju drugim odjelima — ali gotovo sve o tome kako je program osmišljen i kreiran spada u ovlasti upravitelja. Njegove ili njezine glavne funkcije uključuju razvoj, testiranje i osiguranje kvalitete; kadrovska pitanja, uključujući nadzor i delegiranje ovlasti, također su obično uključena. Većina ljudi koji imaju ovakvu vrstu posla radi za velike tvrtke za razvoj softvera i uobičajeno je da imaju sveučilišne diplome iz računalnog inženjerstva, informacijske tehnologije i kodiranja.
Osnovne dužnosti i opis posla
Svakodnevni zadaci svakog SCM-a nužno variraju ovisno o opsegu posla, kao i dinamici sveobuhvatne tvrtke. Međutim, u svom najuniverzalnijem smislu, temeljne dužnosti uključuju pružanje i administriranje procesa koji se koriste za upravljanje i kontrolu promjena tijekom cijelog životnog ciklusa softverskog proizvoda. U gotovo svim slučajevima, SCM osigurava da softver ostane pouzdan i ponovljiv tijekom cijelog procesa razvoja u slučaju promjena ili revizija.
Zapravo, ovo nije uvijek jednostavno i može uključivati niz različitih pokretnih dijelova. Većina menadžera radi s nekoliko razvojnih timova i pazi da svi rade u skladu s određenim razvojnim smjernicama. Kako bi osigurali integritet softverskog proizvoda, menadžeri obično proizvode ono što je poznato kao “izrada softvera” koja se pokreće u ranim fazama projekta. Ova izgradnja se obično ponavlja mnogo puta tijekom cijelog procesa razvoja.
Osnovni izvorni kod
Jedna od najvažnijih stvari koje upravitelj konfiguracije softvera čini u fazi razvoja je osigurati da se sve promjene napravljene u razvoju softverskog proizvoda upravljaju, testiraju, dokumentiraju i pohranjuju u skladu s određenim standardima tijekom svih faza razvoja. Kada programer kreira program, napiše se početni osnovni izvorni kod koji sadrži sve naredbe potrebne za rad programa. Kako se program razvija, određene promjene ili revizije se vrše u izvornom kodu kako bi se poboljšale ili dodale funkcije softvera. Ako drugi programer također izvrši promjene ili ako su podaci iz nekog razloga oštećeni, tada se početni izvorni kod može promijeniti ili čak izgubiti ako se ne spremi.
Razumijevanje procesa razvoja softvera
Upravitelj konfiguracije softvera mora osigurati da svi ti različiti izvorni kodovi stvarno funkcioniraju zajedno kako bi softver radio onako kako je dizajniran. Da bi to učinio, upravitelj će stvoriti potpuno automatiziranu dnevnu izradu softvera, proces koji kombinira sve različite korake potrebne za kompiliranje izvornog koda u artefakte ili datoteke. Te datoteke moraju moći proći kroz nekoliko testova kako bi se uvjerili da su pravilno integrirane sa svim ostalim komponentama softvera. Ovaj proces izrade osigurava da će softver ispravno funkcionirati kada se sve komponente kombiniraju kako bi se napravila konačna verzija.
Kompilacija datoteka
Upravitelj konfiguracije softvera obično također treba osigurati da svi ti različiti izvorni kodovi stvarno funkcioniraju zajedno kako bi program radio onako kako bi trebao. Da bi to učinio, upravitelj će stvoriti potpuno automatiziranu dnevnu izradu softvera, proces koji kombinira sve različite korake potrebne za kompiliranje izvornog koda u artefakte ili datoteke. Te datoteke moraju moći proći kroz nekoliko testova kako bi se uvjerili da su pravilno integrirane sa svim ostalim komponentama softvera. Ovaj proces izrade osigurava da će softver ispravno funkcionirati kada se sve komponente kombiniraju kako bi se napravila konačna verzija.
Početak rada u struci
Menadžeri obično trebaju diplomu iz informatike ili srodnog područja, ali nije neuobičajeno da formalno obrazovanje bude jednostavno jedan od mnogih sve intenzivnijih zahtjeva. Obično je slučaj da rukovodeća mjesta zahtijevaju puno praktičnog iskustva u radu na timovima za razvoj softvera i interakciji kao članovi odjela za informacijsku tehnologiju. Najuspješniji profesionalci na tom području obično imaju dugogodišnje iskustvo u izradi softverskih verzija i upravljanju osnovnim standardima za različite programe.