Fases de desenvolupament del programari

De la Viquipèdia, l'enciclopèdia lliure
Mapa del cicle de vida i alliberament de programari

En l'enginyeria del programari el terme anomenat fases de desenvolupament s'utilitza per a expressar com ha progressat el desenvolupament d'un programari i quant de desenvolupament pot requerir. Cada versió important d'un producte passa generalment a través d'una etapa en què s'agreguen les noves característiques (etapa alfa), després una etapa on s'eliminen errors activament (etapa beta), i finalment una etapa on s'han tret tots els bugs importants (etapa estable).

Les etapes intermèdies també poden ser reconegudes. Les etapes es poden anunciar i regular formalment pels desenvolupadors del producte, però els termes s'utilitzen de vegades de manera informal per descriure l'estat d'un producte. Normalment moltes companyies fan servir noms en clau per a les versions abans del llançament d'un producte, encara que el producte i les característiques reals són rarament secretes.

En el desenvolupament de programari lliure és normal usar la terminologia numèrica major.menor.micro, on cada terme té un significat específic:

  • major: Són les noves característiques de gran abast i, per tant, excepcionals. Només es considerarà un canvi en el nombre major quan hi hagi certes incompatibilitats de programari que així ho requereixin. Els canvis no tenen un període fixat i acostumen a durar força temps amb el mateix nombre.
  • menor: Són els nombres que canvien en incorporar noves funcions a un determinat programari. Els canvis s'acostumen a produir cada 18 mesos a partir de la branca en desenvolupament.
  • micro: Són les noves versions en què es corregeixen els errors del nombre micro anterior. El període de cada un sol ser d'uns 6 mesos, tot i que és fàcil que canviï més sovint per la correcció d'errors. Són les versions emprades en la branca de manteniment.[1]

Pre-alfa[modifica]

Pre-alfa es refereix a totes les activitats realitzades durant el projecte de programari abans de les proves. Aquestes activitats poden incloure l'anàlisi de requeriments, el disseny de programari, desenvolupament de programari i proves unitàries. En el desenvolupament de codi obert hi ha diversos tipus de versions pre-alfa. L'etapa de versions inclouen conjunts específics de funcions i són alliberats tan aviat com la funcionalitat és completa.[1] El nom deriva d'alfa, la primera lletra de l'alfabet grec.

Alfa[modifica]

La fase alfa és la primera fase per començar les proves de programari. En aquesta fase, els desenvolupadors generalment proven el programari usant proves de caixa blanca. La validació addicional es realitza mitjançant les proves de caixa negra o proves de caixa grisa per un altre equip de proves. Passant a les proves de caixa negra dins de l'organització que es coneix com a versió alfa.[2]

La disponibilitat de versions alfa és poc habitual en el programari de propietat. Per contra, el programari de codi obert és molt comú alliberar versions alfa, sovint es distribueixen com a recordatori pels desenvolupadors per començar a desenvolupar totes les característiques semàntiques que inclourà el codi font. La fase alfa generalment acaba amb una característica de congelació, el que indica que no s'afegiran més funcions al programari per passar a la fase beta.[1] En aquest moment, el programari es diu que és de característica completa.

Beta[modifica]

Una versió beta representa generalment la primera versió completa del programa informàtic o d'un altre producte, que és possible que sigui inestable però útil perquè les demostracions internes i les inspeccions prèvies seleccionin a clients. Alguns desenvolupadors es refereixen a aquesta etapa com a l'inspecció prèvia (preview) o com una inspecció prèvia tècnica (technical preview "TP"). Aquesta etapa comença sovint quan els desenvolupadors anuncien una congelació de les característiques del producte, indicant que no seran agregades més característiques a aquesta versió i que només es faran petites edicions o es corregiran errors.

Les versions beta estan en un pas intermedi en el cicle de desenvolupament. Els desenvolupadors les llancen a un grup de provadors o betatesters (de vegades el públic en general) per a una prova d'usuari. Els provadors divulguen qualsevol error que troben i de vegades aporten característiques de menor importància que volguessin veure en la versió final.

Quan una versió beta arriba a estar disponible per al públic en general, sovint és extensament provada pels experts o gent familiaritzade amb versions anteriors, com si el producte estigués acabat. Generalment els desenvolupadors de les versions betes de programari gratuït o de codi obert les llancen al públic, mentre que les versions beta propietàries van a un petit grup de provadors. Al febrer del 2005, ZDNet va publicar un article sobre el fenomen recent de les versions beta que romanien sovint per anys i que eren utilitzada com si estiguessin en nivell de producció.[3] Tant Gmail com Google News van estar en beta durant uns quants anys. Aquesta tècnica pot també permetre a un desenvolupador retardar l'oferiment de suport total o la responsabilitat d'edicions restants. Els receptors de betes altament propietàries poden haver de signar un acord de no revelació.

Com que aquesta és la segona etapa del cicle de desenvolupament que segueix a l'etapa alfa, aquesta es nomena amb la següent lletra grega beta.

Origen dels termes "alfa" i "beta"[modifica]

El terme "test beta" aplicat al programari prové d'un primer test de maquinari d'IBM que es remunta a les màquines de tabulació i ordenació de targetes perforades. El maquinari passava primerament per la fase de test alfa per provar la seua funcionalitat preliminar i la viabilitat de producció a petita escala. Després es feia un test beta per verificar si realment realitzava correctament les funcions que havia de fer i per saber si es podria fabricar d'acord amb les exigències del mercat. Seguidament es feia un test c per comprovar la seguretat. Amb l'arribada dels ordinadors programables i el primer programari compartible, IBM utilitzà la mateixa terminologia per a les proves de programari. Els tests beta els realitzaven persones o grups diferents als desenvolupadors. Com que altres empreses començaren a desenvolupar programaris per al seu ús propi i també per a la seua distribució, aquesta terminologia va romandre i ara és part del nostre vocabulari habitual.

Versió candidata a definitiva (RC)[modifica]

Exemple d'un arbre amb les diferents versions de programari

Una versió candidata a definitiva, candidata a versió final o candidata pel llançament, encara que més coneguda pel seu nom en anglès release candidate, comprèn un producte final, preparat per ser publicat com a versió definitiva llevat que apareguin errors que ho impedeixin. En aquesta fase el producte implementa totes les funcions del disseny i es troba lliure de qualsevol error que suposi un punt mort en el desenvolupament. Moltes empreses de desenvolupament utilitzen sovint aquest terme. Altres termes relacionats inclouen les lletres gamma, delta (i potser més) per a versions que estan pràcticament completes però encara en proves i la lletra omega s'utilitza en les versions que es creu que estan lliures d'errors i es troben en el procés final de proves. Gamma, delta i omega són, respectivament, la tercera, quarta i última lletres de l'alfabet grec.

Versió de disponibilitat general (RTM)[modifica]

La versió de disponibilitat general (també anomenada "daurada") d'un producte és la seva versió final. Normalment és gairebé idèntica a la versió candidata final, amb algunes correccions d'últim moment. Aquesta versió és considerada molt estable i relativament lliure d'errors amb una qualitat adequada per a una distribució àmplia i usada per usuaris finals. En versions comercials, pot estar també signada perquè els usuaris finals verifiquin que el codi no ha estat canviat des de la seva sortida. L'expressió que un producte "s'ha daurat" vol dir que el codi ha estat completat i que "està sent produït massivament i estarà a la venda properament ".

El terme "daurat" es refereix anecdòticament a l'ús del "disc mestre d'or" que va ser freqüentment usat per enviar la versió final als fabricants que el fan servir per produir les còpies de venda al detall. Això pot ser una herència de la indústria musical. En alguns casos, però, el disc mestre està realment fet d'or, tant per aparença estètica com per resistència a la corrosió.

Microsoft i altres usen el terme release to manufacturing (RTM) per referir-se a aquesta versió (per a productes comercials com Windows 7, com "Build 7600 is the Windows 7 RTM release), i release to Web (RTW) per a productes lliurement descarregables.

Estable/Inestable[modifica]

En la programació de codi obert els números de les versions, o els termes estable i inestable, normalment distingeixen les fases del desenvolupament. En el passat, el nucli de Linux utilitzava el número de versió per denotar si una versió era estable o inestable. Les versions estaven formades per quatre dígits, separats per un punt. Una xifra senar en el segon número de la versió indicava una versió inestable. Avui en dia ja no s'usa aquesta convenció, i totes les versions són estables independentment del nombre de versió. A la pràctica l'ús de nombres parells i imparells per indicar l'estabilitat d'un producte ha estat usat per molts altres projectes de programari lliure.

Aquest concepte també s'aplica al programari empaquetat en algunes distribucions Linux com Debian, de manera que hi ha una branca o conjunt de paquets considerats estables i una altra branca considerada inestable. Aquesta última branca aporta versions de programes més recents que l'estable, però que no estan tan provats.

Fi del producte[modifica]

De vegades, les empreses de programari deixen de vendre o d'oferir els seus productes (és a dir, no ofereixen més actualitzacions). En aquest moment, es diu que el producte es troba en un estat de "legacy", "vintage" o "final de la vida". Per exemple, el 15 d'agost de 2007, Apple va anunciar que AppleWorks havia aplegat al "estatus de final de la vida". Vegeu també Final de la vida (d'un producte). En altres tipus de productes (més relacionats amb programari de desenvolupament, com per exemple motors gràfics) quan arriba el seu "final de vida" passen a ser gratis i des del punt de vista de petits estudis o desenvolupadors de programari això és molt profitós. Es podria dir que en aquest tipus de productes s'esgota el temps en què són útils i passen a ser 'programari lliure'.

Impacte de la World Wide Web[modifica]

A mesura que Internet ha facilitat la distribució ràpida i de baix cost de programari, les empreses han començat a adoptar un enfocament més flexible per a l'ús de la paraula beta.[4]

Al febrer de 2005 ZDNet va publicar un article sobre el fenomen que una versió beta sovint roman durant anys i s'utilitza com si fos en el nivell de producció, despectivament anomenada "beta perpètua". Va prendre nota que Gmail i Google News, per exemple, ha estat en beta durant un llarg període. Google News va deixar la versió beta al gener del 2006, seguit de Google Apps, igual que Gmail, el juliol de 2009.[5]

Aquesta tècnica podria permetre a un desenvolupador retardar el llançament final oferint suport i la responsabilitat de les qüestions pendents. En el context de la Web 2.0, la gent parla fins i tot de betes perpetus per significar que alguns programari està destinat a romandre en estat beta. A més, "beta" s'utilitza a vegades per a indicar alguna altra cosa, com ara una versió candidata, o una forma de demostració de temps limitat, o tècnica de màrqueting.[6]

Referències[modifica]

Vegeu també[modifica]