Hvad gør en softwarekonfigurationshåndtering?
Det grundlæggende job for en softwarekonfigurationsadministrator (SCM) er at tilvejebringe og administrere de processer, der bruges til at styre og kontrollere ændringer gennem hele et softwareprodukts livscyklus. Mere specifikt sørger SCM for, at software forbliver pålidelig og reproducerbar gennem hele udviklingsprocessen i tilfælde af ændringer eller revisioner. Arbejder med flere udviklingshold sikrer en softwarekonfigurations manager, at alle teams arbejder inden for specifikke udviklingsretningslinjer. For at sikre integriteten af et softwareprodukt vil ledere producere en "softwarebygning", der skal igangsættes i projektets tidlige stadier og gentages mange gange gennem hele udviklingsprocessen. En softwarekonfigurationsadministrator styrer udviklingen af en meget kompleks proces.
Når en programmør opretter et program, skrives en indledende baseline-kildekode, der indeholder alle de kommandoer, der er nødvendige for at få et program til at fungere. Når programmet er udviklet, foretages der visse ændringer eller revisioner i kildekoden for at forbedre eller tilføje softwarens funktioner. Hvis en anden programmerer også foretager ændringer, eller data er ødelagt af en eller anden grund, kan den oprindelige kildekode ændres eller endda gå tabt, hvis den ikke gemmes. En softwarekonfigurations manager sikrer, at alle ændringer, der er foretaget i udviklingen af et softwareprodukt, styres, testes, dokumenteres og gemmes i henhold til bestemte standarder i alle udviklingsstadier. Ledere har typisk brug for en bachelorgrad i datalogi eller beslægtet felt og har mange års erfaring med at skabe softwareopbygning og styre baseline-standarder for software.
Da det at få ny software til markedet er vigtigt for softwareproducenter, har visse processer og værktøjer udviklet sig for at gøre softwareudviklingsprocessen hurtigere. Flere teams af udviklere vil typisk arbejde på separate dele af et softwareprodukt på samme tid. Hvert udviklingsteam bygger på og ændrer den originale kildekode for at skabe forskellige softwarefunktioner. Når disse hold samles med alle forskellige kildekoder, tager det tid at integrere hvert holds kode med alle de andre, så softwaren fungerer korrekt. For at opnå dette kan en softwarekonfigurationsadministrator muligvis oprette og lette visse udviklingsstandarder for at sikre, at disse standarder er opfyldt fra de tidligste stadier af udviklingen.
En softwarekonfigurationsadministrator skal sikre, at alle disse forskellige kildekoder faktisk fungerer sammen for at få softwaren til at fungere, som den blev designet. For at gøre dette vil krybben oprette en fuldt automatiseret daglig softwarebygning, en proces, der kombinerer alle de forskellige trin, der er nødvendige for at kompilere kildekoden til artefakter eller filer. Disse filer skal være i stand til at gennemgå flere test for at sikre, at de er korrekt integreret med alle andre komponenter i softwaren. Denne build-proces sikrer, at softwaren fungerer korrekt, når alle komponenter kombineres for at fremstille den endelige version.