Što je Release Engineering?

Release engineering, ili releng, je proces pripreme dovršenog računalnog softvera za distribuciju. To može uključivati ​​mnoge odvojene programske i inženjerske discipline, a nisu sve definicije inženjeringa izdanja iste u različitim tvrtkama. Neki od zadataka koji mogu biti uključeni u inženjering izdanja uključuju sastavljanje izvornog koda, praćenje i održavanje razvojnih alata i okruženja, održavanje biblioteke izdanja tijekom cijelog životnog vijeka programa, a ponekad i implementaciju softvera na živom poslužitelju ili sustavu. Neke od prednosti postojanja namjenskog inženjera izdanja u ciklusu razvoja softvera su bolje iskustvo za krajnje korisnike — jer se metode izdavanja prvo testiraju — bolja cjelokupna dokumentacija programa tijekom nadogradnje i svojevrsna kontrola kvalitete u situacijama u kojima se dijelovi programa potječu iz zasebnih izvora.

Tijekom razvoja softvera dolazi do točke u kojoj je aplikacija dovršena i treba je ili distribuirati korisnicima ili instalirati na live server kako bi se mogla koristiti. Bez inženjera za izdavanje, ovaj proces bi mogao uključivati ​​da programeri kompiliraju program putem razvojnih alata, a zatim premještaju binarne datoteke na ciljni medij ili poslužitelj. Neki od problema koji se mogu susresti s ovim procesom su da program može imati ovisnosti koje nisu kvantificirane, neke promjene mogu biti zaboravljene ili, u konačnici, proces možda neće nužno biti reproduciran u budućnosti.

Jedan od najvećih dijelova inženjeringa izdanja je praćenje napretka razvoja programa. To bi moglo značiti korištenje sustava za utvrđivanje verzija ili korištenje drugog softvera ne samo za praćenje i označavanje svakog koraka programa tijekom njegovog razvoja, već i za pohranu snimaka programa kako bi se kasnije mogli pozvati. Uz samo rukovanje izvornim kodom, uspješna izrada programa zahtijeva i pohranu informacija o alatima koji se koriste i različitim bibliotekama ili drugim resursima koji se koriste. Konačni cilj je mogućnost ponovnog kompajliranja programa u bilo kojoj fazi njegova razvoja, neovisno o razvojnim sustavima koji su korišteni za njegovu izradu.

Drugi mogući dio inženjeringa izdanja je priprema aplikacije za distribuciju kupcima. Nakon što je program preveden u binarne datoteke, razvijaju se i istražuju metode za instaliranje programa na računalo krajnjeg korisnika. To bi moglo uključivati ​​pisanje instalacijskog programa ili testiranje programa u različitim situacijama ako je aktivan kako bi se osiguralo da radi u skladu sa specifikacijama. Inženjering izdanja ponekad uključuje stvarno instaliranje programa više puta na više sustava kako bi se osiguralo da se različite konfiguracije ili pogreške obrađuju na ispravan način.