Ciclo de vida de la versión de software - Software release life cycle

Un ejemplo de ciclo de vida básico de una versión de software

El ciclo de vida de una versión de software es la suma de las etapas de desarrollo y madurez de una pieza de software de computadora . Los ciclos van desde su desarrollo inicial hasta su eventual lanzamiento, e incluyen versiones actualizadas de la versión lanzada para ayudar a mejorar el software o corregir errores de software que aún están presentes en el software.

Es más probable que los usuarios de computadoras estén familiarizados con la fase beta , ya que los productos de software a veces se anuncian públicamente como beta para reducir las expectativas de los usuarios sobre su confiabilidad.

Historia

El uso de la terminología de prueba "alfa / beta" se originó en IBM . Las personas involucradas con IBM utilizaron terminologías similares para el desarrollo de software de IBM desde al menos la década de 1950 (y probablemente antes). La prueba "A" fue la verificación de un nuevo producto antes del anuncio público. La prueba "B" fue la verificación antes de lanzar el producto a fabricar. La prueba "C" fue la prueba final antes de la disponibilidad general del producto. A medida que el software se convirtió en una parte importante de las ofertas de IBM, se utilizó la terminología de la prueba alfa para indicar la prueba previa al anuncio y la prueba beta se utilizó para mostrar la preparación del producto para la disponibilidad general. Martin Belsky, gerente de algunos de los proyectos de software anteriores de IBM, afirmó haber inventado la terminología. IBM abandonó la terminología alfa / beta durante la década de 1960, pero para entonces había recibido un aviso bastante amplio. El uso de "prueba beta" para referirse a las pruebas realizadas por los clientes no se realizó en IBM. Por el contrario, IBM utilizó el término "prueba de campo".

Fases de desarrollo

Pre-alfa

Pre-alfa se refiere a todas las actividades realizadas durante el proyecto de software antes de las pruebas formales. Estas actividades pueden incluir el análisis de requerimientos , diseño de software , desarrollo de software , y la unidad de pruebas . En el desarrollo típico de código abierto , existen varios tipos de versiones pre-alfa. Las versiones de Milestone incluyen conjuntos específicos de funciones y se lanzan tan pronto como se completa la función.

Alfa

La fase alfa del ciclo de vida de la versión es la primera fase de las pruebas de software (alfa es la primera letra del alfabeto griego , que se utiliza como número 1). En esta fase, los desarrolladores generalmente prueban el software utilizando técnicas de caja blanca . Luego , otro equipo de pruebas realiza una validación adicional utilizando técnicas de caja negra o caja gris . Pasar a las pruebas de caja negra dentro de la organización se conoce como versión alfa .

El desarrollador no prueba exhaustivamente el software Alpha antes de su lanzamiento a los clientes. El software Alpha puede contener errores graves y cualquier inestabilidad resultante podría causar bloqueos o pérdida de datos. Es posible que el software Alpha no contenga todas las funciones previstas para la versión final. En general, la disponibilidad externa de software alfa es poco común en el software propietario , mientras que el software de código abierto a menudo tiene versiones alfa disponibles públicamente. La fase alfa generalmente termina con una congelación de funciones , lo que indica que no se agregarán más funciones al software. En este momento, se dice que el software tiene todas las funciones . Se lleva a cabo una prueba beta después de las pruebas de aceptación en el sitio del proveedor (prueba alfa) e inmediatamente antes del lanzamiento general del software como producto.

Beta

Beta, que lleva el nombre de la segunda letra del alfabeto griego , es la fase de desarrollo de software que sigue a alpha. El software en la etapa beta también se conoce como betaware . Una fase beta generalmente comienza cuando el software está completo, pero es probable que contenga una serie de errores conocidos o desconocidos. El software en la fase beta generalmente tendrá muchos más errores que el software completo y problemas de velocidad o rendimiento, y aún puede causar fallas o pérdida de datos. El enfoque de las pruebas beta es reducir los impactos en los usuarios, a menudo incorporando pruebas de usabilidad . El proceso de entregar una versión beta a los usuarios se denomina versión beta y suele ser la primera vez que el software está disponible fuera de la organización que lo desarrolló. Las versiones beta de software pueden ser públicas o privadas , dependiendo de si están disponibles abiertamente o solo para una audiencia limitada. El software de la versión beta suele ser útil para demostraciones y vistas previas dentro de una organización y para posibles clientes. Algunos desarrolladores se refieren a esta etapa como una vista previa , una versión preliminar , un prototipo , una vista previa técnica o una vista previa tecnológica ( TP ) o acceso anticipado . Desde la introducción de Windows 8 , Microsoft ha llamado al software de versión preliminar una vista previa en lugar de una versión beta . Todas las versiones preliminares lanzadas a través del programa Windows Insider que se lanzó en 2014 se denominan "versiones preliminares de Insider". "Beta" también puede indicar algo más parecido a un candidato de lanzamiento , o como una forma de demostración por tiempo limitado o técnica de marketing.

Los probadores beta son personas que informan activamente sobre problemas del software beta. Suelen ser clientes o representantes de posibles clientes de la organización que desarrolla el software. Los probadores beta tienden a ofrecer voluntariamente sus servicios de forma gratuita, pero a menudo reciben versiones del producto que prueban, descuentos en la versión de lanzamiento u otros incentivos.

Beta perpetua

Parte del software se mantiene en la llamada beta perpetua , donde se agregan continuamente nuevas funciones al software sin establecer una versión final "estable". Como Internet ha facilitado la distribución rápida y económica de software, las empresas han comenzado a adoptar un enfoque más flexible en el uso de la palabra beta . En febrero de 2005, ZDNet publicó un artículo sobre el fenómeno de una versión beta que a menudo permanece durante años y se utiliza como si estuviera en el nivel de producción. Señaló que Gmail y Google News , por ejemplo, habían estado en fase beta durante mucho tiempo, aunque se usaban ampliamente; Google News dejó la versión beta en enero de 2006, seguido de Google Apps (ahora llamado Google Workspace ), incluido Gmail, en julio de 2009.

Beta abierta y cerrada

Los desarrolladores pueden lanzar una beta cerrada , también llamada beta privada , o una beta abierta , también llamada beta pública ; Las versiones beta cerradas se lanzan a un grupo restringido de personas para una prueba de usuario por invitación, mientras que los probadores beta abiertos pertenecen a un grupo más grande o cualquier persona interesada. La versión beta privada podría ser adecuada para el software que es capaz de ofrecer valor, pero no está listo para ser utilizado por todos, ya sea debido a problemas de escala, falta de documentación o aún faltan funciones vitales. Los evaluadores informan de cualquier error que encuentran y, a veces, sugieren características adicionales que creen que deberían estar disponibles en la versión final.

Ejemplos de una versión beta pública importante:

  • Los primeros clientes compraron una "edición pionera" del procesador de texto WordVision para IBM PC por 49,95 dólares. En 1984, Stephen Manes escribió que "en un brillante golpe de marketing, Bruce y James Program Publishers lograron que la gente pagara por el privilegio de probar el producto".
  • En septiembre de 2000 una versión en caja de Manzana 's Mac OS X Public Beta fue lanzado sistema operativo.
  • Lanzamiento de Microsoft de Community Technology Preview s ( CTP ) para Windows Vista , entre septiembre de 2005 y mayo de 2006.
  • De 2009 a 2011, Minecraft estuvo en versión beta pública.

Las versiones beta abiertas tienen el doble propósito de demostrar un producto a los consumidores potenciales y realizar pruebas entre una amplia base de usuarios que probablemente saquen a la luz oscuros errores que un equipo de pruebas mucho más pequeño podría no encontrar.

Candidato de lanzamiento

Un candidato de lanzamiento ( RC ), también conocido como "plata", es una versión beta con potencial para ser un producto estable, que está listo para ser lanzado a menos que surjan errores importantes . En esta etapa de estabilización del producto, todas las características del producto han sido diseñadas, codificadas y probadas a través de uno o más ciclos beta sin errores conocidos. Una versión se denomina código completo cuando el equipo de desarrollo acepta que no se agregará ningún código fuente completamente nuevo a esta versión. Todavía podría haber cambios en el código fuente para corregir defectos, cambios en la documentación y archivos de datos, y código periférico para casos de prueba o utilidades. Los probadores beta, si se seleccionan en forma privada, a menudo recibirán crédito por usar el candidato de lanzamiento como si fuera un producto terminado. Las pruebas beta se llevan a cabo en la ubicación de un cliente o cliente y para probar el software desde la perspectiva del usuario.

Lanzamiento estable

También llamada versión de producción , la versión estable es la última versión candidata ( RC ) que ha pasado todas las verificaciones / pruebas. Los errores restantes se consideran aceptables. Esta versión pasa a producción. Algunos dominios (por ejemplo, distribuciones de Linux ) tienen dos tipos de versiones estables: versiones normales o estables y versiones de soporte a largo plazo (LTS) que se mantienen durante un período de tiempo más largo.

Liberación

Una vez lanzado, el software se conoce generalmente como "versión estable". El término formal a menudo depende del método de publicación: medios físicos, publicación en línea o una aplicación web.

Liberación para la fabricación (RTM)

El término lanzamiento a la fabricación (RTM), también conocido como "ir al oro", es un término que se usa cuando un producto de software está listo para ser entregado. Esta compilación puede estar firmada digitalmente , lo que permite al usuario final verificar la integridad y autenticidad de la compra del software. Se envía una copia de la compilación de RTM conocida como el " maestro de oro " o GM para su duplicación masiva o replicación de disco, si corresponde. Esta terminología se toma de la industria de grabación de audio, específicamente el proceso de masterización . RTM precede a la disponibilidad general (GA) cuando el producto se lanza al público. Una compilación maestra de oro (GM) suele ser la compilación final de una pieza de software en las etapas beta para los desarrolladores. Normalmente, para iOS , es la versión final antes de un lanzamiento importante, sin embargo, ha habido algunas excepciones.

Por lo general, se usa en ciertos contextos de software de producción en masa minorista, a diferencia de una producción o proyecto de software especializado en una producción y distribución comercial o gubernamental, donde el software se vende como parte de un paquete en una venta de hardware de computadora relacionada y, por lo general, cuando En última instancia, el software y el hardware relacionado estarán disponibles y se venderán de forma masiva / pública en las tiendas minoristas para indicar que el software ha alcanzado un nivel de calidad definido y está listo para su distribución minorista masiva. RTM también podría significar en otros contextos que el software se ha entregado o liberado a un cliente o cliente para su instalación o distribución a las computadoras o máquinas del usuario final del hardware relacionado. El término no define el mecanismo de entrega o el volumen; solo indica que la calidad es suficiente para la distribución masiva. El resultado de la organización de ingeniería suele ser un medio maestro de oro que se utiliza para la duplicación o para producir la imagen para la web.

Disponibilidad general (GA)

Hitos en el ciclo de vida de un producto: disponibilidad general (GA), anuncio de fin de vida útil (EOLA), fecha del último pedido (LOD) y fin de vida útil (EOL)

La disponibilidad general ( GA ) es la etapa de marketing en la que se han completado todas las actividades de comercialización necesarias y un producto de software está disponible para su compra, dependiendo, sin embargo, del idioma, la región, la disponibilidad de medios o de medios electrónicos. Las actividades de comercialización podrían incluir pruebas de seguridad y cumplimiento, así como localización y disponibilidad mundial. El tiempo entre RTM y GA puede ser de una semana a meses en algunos casos antes de que se pueda declarar una liberación generalmente disponible debido al tiempo necesario para completar todas las actividades de comercialización requeridas por GA. En esta etapa, el software se ha "activado".

Lanzamiento a la Web (RTW)

Lanzamiento a la Web ( RTW ) o lanzamiento Web es un medio de entrega de software que utiliza Internet para su distribución. El fabricante no produce medios físicos en este tipo de mecanismo de liberación. Los lanzamientos web son cada vez más comunes a medida que aumenta el uso de Internet.

Apoyo

Durante su vida útil admitida, el software a veces está sujeto a versiones de servicio, parches o paquetes de servicio , a veces también llamadas "versiones provisionales" o "versiones de mantenimiento" (MR). Por ejemplo, Microsoft lanzó tres paquetes de servicios principales para las ediciones de 32 bits de Windows XP y dos paquetes de servicios para las ediciones de 64 bits . Dichas versiones de servicio contienen una colección de actualizaciones, correcciones y mejoras, entregadas en forma de un único paquete instalable. También pueden implementar nuevas funciones. Algunos programas se lanzan con la expectativa de un soporte regular. Las clases de software que generalmente implican un soporte prolongado como norma incluyen las suites antivirus y los juegos en línea multijugador masivo . Continuando con este ejemplo de Windows XP, Microsoft ofreció actualizaciones pagas durante cinco años más después del final del soporte extendido. Esto significa que el soporte finalizó el 8 de abril de 2019.

Fin de la vida

Cuando el software ya no se vende ni se admite, se dice que el producto ha llegado al final de su vida útil, que se ha descontinuado, retirado, desaprobado, abandonado u obsoleto, pero la lealtad del usuario puede continuar existiendo durante algún tiempo, incluso mucho después de su finalización. La plataforma está obsoleta, por ejemplo, Atari ST y Sinclair ZX Spectrum .

Después de la fecha de finalización de la vida útil, el desarrollador generalmente no implementará ninguna función nueva, no corregirá defectos, errores o vulnerabilidades existentes (ya sea que se conozcan antes de esa fecha o no) ni brindará soporte para el producto. Si el desarrollador lo desea, puede publicar el código fuente, por lo que la plataforma volverá a funcionar y será mantenida por voluntarios.

Ver también

Referencias

Bibliografía

  • Entrega continua: Versiones de software confiables a través de la automatización de construcción, prueba e implementación por Jez Humble, David Farley; ISBN  0-321-60191-2