Vad gör en programvarukonfigurationshanterare?
En grundläggande uppgift för en programvarukonfigurationshanterare (SCM) är att tillhandahålla och administrera de processer som används för att hantera och kontrollera förändringar under hela programvaruproduktionens livscykel. Mer specifikt ser SCM till att programvaran förblir tillförlitlig och reproducerbar under hela utvecklingsprocessen i händelse av ändringar eller revideringar. Arbetar med flera utvecklingsgrupper och en programvarukonfigurationschef säkerställer att alla team arbetar inom specifika utvecklingsriktlinjer. För att säkerställa en mjukvaruprodukts integritet kommer chefer att producera en "programvarubyggnad" som ska initieras i projektets tidiga stadier och upprepas många gånger under hela utvecklingsprocessen. En programkonfigurationshanterare styr utvecklingen av en mycket komplex process.
När en programmerare skapar ett program skrivs en inledande baslinjekodkod som innehåller alla kommandon som krävs för att ett program ska fungera. När programmet utvecklas görs vissa ändringar eller revideringar i källkoden för att förbättra eller lägga till programvarans funktioner. Om en annan programmerare också gör ändringar, eller data skadas av någon anledning, kan den ursprungliga källkoden förändras eller till och med gå förlorad om den inte sparas. En programvarukonfigurationshanterare ser till att alla ändringar som gjorts i utvecklingen av en mjukvaruprodukt hanteras, testas, dokumenteras och lagras enligt vissa standarder i alla utvecklingsstadier. Chefer behöver vanligtvis en kandidatexamen i datavetenskap eller relaterat område och har många års erfarenhet av att skapa programvarubyggningar och hantera baslinjestandarder för programvara.
Eftersom det är viktigt för mjukvarutillverkare att få ny programvara till marknaden har vissa processer och verktyg utvecklats för att göra programvaruutvecklingsprocessen snabbare. Vanligtvis kommer flera team av utvecklare att arbeta med separata delar av en mjukvaruprodukt samtidigt. Varje utvecklingsteam bygger på och ändrar den ursprungliga källkoden för att skapa olika mjukvarufunktioner. När dessa team samlas med alla olika källkoder tar det tid att integrera varje lags kod med alla andra så att programvaran fungerar korrekt. För att åstadkomma detta kan en programvarukonfigurationshanterare behöva skapa och underlätta vissa utvecklingsstandarder för att säkerställa att dessa standarder uppfylls från de tidigaste utvecklingsstadierna.
En programkonfigurationshanterare måste se till att alla dessa olika källkoder faktiskt fungerar tillsammans för att få programvaran att fungera som den designades. För att göra detta skapar krybben en helautomatisk daglig programvarubyggnad, en process som kombinerar alla olika steg som behövs för att sammanställa källkoden till artefakter eller filer. Dessa filer måste kunna genomgå flera test för att se till att de är korrekt integrerade med alla andra komponenter i programvaran. Denna byggprocess säkerställer att programvaran fungerar korrekt när alla komponenter kombineras för att göra den slutliga versionen.