Probabil că ai auzit (sau citit) despre o aplicație sau alta că a fost lansată versiunea alpha sau beta a acesteia și te-ai întrebat ce înseamnă asta.
În principiu fazele prin care trece o aplicație software sunt similare cu cele ale oamenilor, astfel: gestația, copilăria, maturitatea și sfârșitul vieții.
Dezvoltare – copilăria
Pre-Alpha – gestația
Această fază cuprinde toate activitățile efectuate înainte ca proiectul software să înceapă testele (analizarea cerințelor, design software, scrierea propriu-zisă a programului și verificarea bucăților componente ale acestuia). În mediul programatorilor „open source” există mai multe tipuri de versiuni pre-alpha.
Alpha – nașterea și copilăria timpurie
Faza alpha este caracterizată de începerea testării aplicației în ansamblu acesteia în condiții de mediu controlate, fiind realizate două tipuri de teste:
testele folosind tehnologii „white box” – în care programul este supus de către dezvoltatorii acestuia unor teste generale de funcționalitate; practic se verifică dacă programul știe să facă ce a fost proiectat în condiții ideale de mediu (input corect); această sub-fază este cunoscută și sub denumirea de „private beta”;
- testele folosind tehnologii „black box” – sunt efectuate de către o altă echipă care în esență încearcă să determine reacțiile programului la inputuri mai puțin ortodoxe; până la testarea „black box”, toate celelalte faze se petrec în cadrul organizației care planifică și produce programul; odată cu începerea testelor „black box” programul primește denumirea de „versiunea alpha” și poate fi pus la dispoziția publicului doritor să-l testeze.
Versiunile alpha de software sunt deseori instabile și pot genera înghețări a sistemului de operare și/sau pierderi a datelor.
Faza alpha se termină de obicei cu o „înghețare a caracteristicilor” care indică faptul că nici o altă caracteristică nu va mai fi adăugată acestuia.
Beta – adolescența
“Beta” este faza din ciclul de viață al unui program software care urmează după alpha și este denumită după litera beta din alfabetul grecesc. De obicei începe când programul este înghețat din punct de vedere al caracteristicilor și are ca principal scop măsurarea impactului acestuia asupra utilizatorilor finali și teste de uzabilitate. Utilizatorii versiunilor beta sunt de regulă clienți sau potențiali clienți ai programului, dornici să testeze aplicația gratuit sau pentru o mică taxă.
Este probabil ca versiunile beta să fie folosite pentru demonstrații interne și previzualizări. Unii dezvoltatori sau programatori denumesc această etapă avanpremieră, prototip, previzualizare tehnică sau acces timpuriu.
Open beta și closed beta
Dezvoltatorii programelor lansează fie o versiune „open beta” ori o versiune „closed beta”; versiunile open beta sunt destinate unui grup mai mare de utilizatori (în general publicului larg) în timp ce versiunile closed beta sunt disponibile doar unui anumit grup de indivizi. Utilizatorii versiunilor beta raportează orice bug pe care-l identifică și uneori sugerează anumite caracteristici pe care și-ar dori ca programul să le aibă în forma finală.
Release candidate – majoratul
Termenul de release candidate (RC) se referă la o versiune care are potențial de a deveni produsul final, gata de a fi lansat dacă nu sunt identificate comportamente fatale sau erori grave de programare. În anii 1990 Apple obișnuia să folosească termenul de „golden master” pentru versiunile release candidate ale propriilor programe. Alte litere din alfabetul grecesc cum ar fi gamma și delta sunt folosite uneori pentru a indica versiuni care sunt în fază avansată de perfecționare deși se află încă în teste iar literele omega și zenith sunt folosite pentru a indica versiuni care se află în ultimele teste, sunt considerate a fi fără bug-uri și pot intra în producție.
O versiune primește denumirea code complete când echipa dezvoltatorilor se pune de acord că nu va mai fi adăugat cod-sursă nou programului, deși ar putea exista schimbări ale codului sursă în vederea reparării unor erori.
Release – vârsta maturității
RTM – termenele „release to manufacturing” sau “release to marketing” (ambele prescurtate RTM)— sunt folosite pentru a indica că programul a atins un nivel satisfăcător de calitate și este gata pentru distribuția în masă fie prin mijloace electronice sau prin suporți fizici media. RTM înseamnă de regulă că programul a fost lansat pe piață, dar nu este disponibil și pentru ceilalți producători de hardware și software care să-și poată astfel ajusta specificațiile propriilor produse în conformitate cu acesta.
Faza RTM se întâmplă de obicei înaintea celei de „general availability” (disponibilitate generală), când un produs este făcut disponibil publicului larg.
General availability – disponibilitate generală - reprezintă momentul în care toate activitățile necesare comercializării programului au fost finalizate și acesta este disponibil întregii piețe fie prin web sau prin medii de stocare fizice.
Suport
După intrarea produsului în faza GA, acesta mai poate primi unele îmbunătățiri prin intermediul așa-numitelor service-packs. Un exemplu foarte cunoscut este cel al lui Microsoft Windows XP care a primit până în prezent 3 Service Packs sau Service Pack 1 Beta pentru Windows 7. Service-Packurile sunt niște colecții de actualizări, patch-uri și/sau extinderi a funcționalității livrate sub forma unui singur fișier instalabil. Acestea pot conține de asemenea și noi caracteristici.
End of life – sfârșitul vieții
Când un program nu se mai găsește de vânzare sau compania care l-a produs nu mai oferă suport pentru acesta, se spune că a ajuns la sfârșitul vieții.