Ce este ingineria de lansare?

Release engineering, sau releng, este procesul de pregătire a software-ului de calculator finalizat pentru distribuție. Acest lucru poate implica multe discipline de programare și inginerie separate și nu toate definițiile de inginerie de lansare sunt aceleași în diferite companii. Unele dintre sarcinile care pot fi implicate în ingineria lansărilor includ compilarea codului sursă, urmărirea și întreținerea instrumentelor și mediilor de dezvoltare, menținerea unei biblioteci de versiuni pe toată durata de viață a unui program și, uneori, implementarea implementării software-ului pe un server sau sistem live. Câteva dintre beneficiile de a avea un inginer de lansare dedicat în ciclul de dezvoltare a software-ului sunt o experiență mai bună pentru utilizatorii finali – deoarece metodele de lansare sunt mai întâi testate – o documentație generală mai bună a programului pe parcursul actualizărilor și un fel de control al calității în situațiile în care diferite părți ale unui program provin din surse separate.

În timpul dezvoltării software-ului, vine un moment în care aplicația este finalizată și trebuie fie să fie distribuită clienților, fie instalată pe un server live pentru a putea fi utilizată. Fără un inginer de lansare, acest proces ar putea implica dezvoltatorii să compileze un program prin instrumente de dezvoltare și apoi să mute fișierele binare pe mediul sau serverul țintă. Unele dintre problemele care pot fi întâlnite cu acest proces sunt că programul ar putea avea dependențe care nu sunt cuantificate, unele modificări ar putea fi uitate sau, în cele din urmă, procesul poate să nu fie neapărat reproductibil în viitor.

Una dintre cele mai mari părți ale ingineriei de lansare este urmărirea progresului modului în care se dezvoltă un program. Aceasta ar putea însemna folosirea unui sistem de versiuni sau folosirea unui alt software nu numai pentru a urmări și eticheta fiecare pas al unui program în timpul dezvoltării sale, ci și pentru a stoca instantanee ale programului, astfel încât acestea să poată fi rechemate mai târziu. Pe lângă doar gestionarea codului sursă, construirea cu succes a unui program necesită stocarea informațiilor despre instrumentele utilizate și despre diferitele biblioteci sau alte resurse care sunt folosite. Scopul final este acela de a putea recompila un program în orice etapă a dezvoltării sale, independent de sistemele de dezvoltare folosite pentru a-l crea.

O altă parte posibilă a ingineriei de lansare este pregătirea unei aplicații pentru distribuție către clienți. Odată ce programul a fost compilat în binare, sunt dezvoltate și explorate metode de instalare a programului pe computerul unui utilizator final. Acest lucru ar putea implica scrierea unui program de instalare sau testarea programului în diferite situații dacă este activ pentru a se asigura că funcționează conform specificațiilor. Ingineria de lansare implică uneori instalarea efectivă a unui program de mai multe ori pe mai multe sisteme pentru a se asigura că diferitele configurații sau erori sunt tratate în mod corespunzător.