Hva er utgivelsesteknikk?
Release engineering, eller releng, er prosessen med å forberede ferdig programvare for distribusjon. Dette kan involvere mange separate programmerings- og ingeniørdisipliner, og ikke alle definisjoner av release engineering er de samme på tvers av forskjellige selskaper. Noen av oppgavene som kan være involvert i utgivelsesteknikk inkluderer å sammenstille kildekode, spore og vedlikeholde utviklingsverktøy og miljøer, vedlikeholde et bibliotek med utgivelser hele programmets levetid, og noen ganger implementere distribusjon av programvare på en live server eller et system. Noen få av fordelene med å ha en dedikert utgivelsesingeniør i programvareutviklingssyklusen er en bedre opplevelse for sluttbrukere - fordi utgivelsesmetoder først testes - bedre samlet programdokumentasjon gjennom oppgraderinger, og en slags kvalitetskontroll i situasjoner der forskjellige deler av et program stammer fra separate kilder.
Under utviklingen av programvare kommer det et punkt der applikasjonen er fullført og må enten distribueres til kunder eller installeres på en live server slik at den kan brukes. Uten en utgivelsesingeniør, kan denne prosessen innebære at utviklerne sammenstiller et program gjennom utviklingsverktøy og deretter flytter binærene til målmediet eller serveren. Noen av problemene som kan oppstå med denne prosessen er at programmet kan ha avhengigheter som ikke er kvantifisert, noen endringer kan glemmes, eller til slutt kan ikke prosessen nødvendigvis reproduseres i fremtiden.
En av de største delene av utgivelsesteknikk er å spore fremdriften i hvordan et program utvikler seg. Dette kan bety å bruke et versjonssystem eller bruke annen programvare for ikke bare å spore og merke hvert trinn i et program under utviklingen, men også for å lagre øyeblikksbilder av programmet slik at de kan huskes senere. I tillegg til å bare håndtere kildekoden, krever vellykket bygging av et program at informasjon om verktøyene som brukes og de forskjellige bibliotekene eller andre ressurser som brukes også lagres. Det endelige målet er å kunne kompilere et program på et hvilket som helst stadium under utviklingen, uavhengig av utviklingssystemene som brukes til å lage det.
En annen mulig del av utgivelsesteknikk er å utarbeide en applikasjon for distribusjon til kunder. Når programmet har blitt satt sammen til binære filer, utvikles og utforskes metoder for å få programmet installert på datamaskinen til en sluttbruker. Dette kan innebære å skrive et installasjonsprogram eller teste programmet i forskjellige situasjoner hvis det er live for å sikre at det fungerer i samsvar med spesifikasjonene. Utgivelsesteknikk innebærer noen ganger faktisk å installere et program flere ganger på flere systemer for å sikre at forskjellige konfigurasjoner eller feil blir håndtert på riktig måte.