Ciclo de vida de lanzamiento de software

Compartir Imprimir Citar

El ciclo de vida de una versión de software es la suma de las etapas de desarrollo y madurez de un software de computadora. Los ciclos van desde su desarrollo inicial hasta su lanzamiento final 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 confiabilidad de los usuarios.

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 análisis de requisitos, diseño de software, desarrollo de software y pruebas unitarias. En el desarrollo típico de código abierto, existen varios tipos de versiones prealfa. Las versiones de Milestone incluyen conjuntos específicos de funciones y se lanzan tan pronto como se completa la característica.

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, utilizada como el 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 lanzarlo 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 características que están planeadas para la versión final. En general, la disponibilidad externa del 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 función congelada, lo que indica que no se agregarán más funciones al software. En este momento, se dice que el software está completo. Se lleva a cabo una prueba beta después de la prueba de aceptación en el sitio del proveedor (prueba alfa) e inmediatamente antes del lanzamiento general del software como producto.

En general, una versión alfa o lanzamiento de un paquete de software tiene la intención de hacer algo en particular, en su mayoría lo hace, pero no se garantiza que lo haga por completo.

Característica completa

Una versión con características completas (FC) de una pieza de software tiene todas sus características primarias o planificadas implementadas, pero aún no es definitiva debido a errores, problemas de rendimiento o estabilidad. Esto ocurre al final de las pruebas alfa de desarrollo.

Por lo general, un software con funciones completas todavía tiene que someterse a pruebas beta y corregir errores, así como mejorar el rendimiento o la estabilidad antes de que pueda pasar a la versión candidata y, finalmente, al estado dorado.

Beta

Beta, llamada así por la segunda letra del alfabeto griego, es la fase de desarrollo de software que sigue a alfa. 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 entrega de una versión beta a los usuarios se denomina lanzamiento beta.y suele ser la primera vez que el software está disponible fuera de la organización que lo desarrolló. Las versiones beta del 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 clientes potenciales. Algunos desarrolladores se refieren a esta etapa como vista previa, lanzamiento de vista previa, prototipo, vista previa técnica o vista previa de tecnología (TP), o acceso anticipado.

Los probadores beta son personas que informan activamente sobre problemas de software beta. Suelen ser clientes o representantes de posibles clientes de la organización que desarrolla el software. Los probadores beta tienden a ofrecer sus servicios de forma voluntaria sin cargo, 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 versión beta perpetua, donde se agregan continuamente nuevas características al software sin establecer una versión "estable" final. A medida que 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.

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 que no está listo para ser utilizado por todos, ya sea debido a problemas de escalado, falta de documentación o aún le faltan funciones vitales. Los evaluadores informan cualquier error que encuentran y, a veces, sugieren características adicionales que creen que deberían estar disponibles en la versión final.

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

Candidato de lanzamiento

Una versión candidata (RC), también conocida como "going silver", es una versión beta con potencial para ser un producto estable, que está lista para su lanzamiento a menos que surjan errores significativos. 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 de clase superior. Un lanzamiento se llama código completocuando el equipo de desarrollo acuerde 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 los archivos de datos, y código periférico para casos de prueba o utilidades. Los probadores beta, si se seleccionan de forma privada, a menudo recibirán crédito por usar la versión candidata como si fuera un producto terminado. La prueba beta se lleva a cabo en la ubicación de un cliente o del cliente y para probar el software desde la perspectiva del usuario.

Liberación 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. Este lanzamiento va a producción. Algunos dominios (por ejemplo, las 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.

Liberar

Una vez lanzado, el software se conoce generalmente como "lanzamiento 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 a fabricación (RTM)

El término lanzamiento a fabricación (RTM), también conocido como "going gold", 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 RTM conocida como "gold master" o GM para la duplicación masiva o la replicación del disco, si corresponde. Esta terminología se toma de la industria de la grabación de audio, específicamente del proceso de masterización. RTM precede a la disponibilidad general (GA) cuando el producto se lanza al público. Una compilación maestra dorada (GM) suele ser la compilación final de una pieza de software en las etapas beta para desarrolladores. Por lo general, para iOS, es la compilación final antes de un lanzamiento principal; 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, donde el software y el hardware relacionado finalmente 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 la distribución minorista masiva. RTM también podría significar en otros contextos que el software ha sido entregado o lanzado a un cliente para su instalación o distribución a las computadoras o máquinas del usuario final del hardware relacionado. El término nodefinir el mecanismo o volumen de entrega; solo establece que la calidad es suficiente para la distribución masiva. El entregable de la organización de ingeniería suele tener la forma de un medio maestro dorado que se utiliza para la duplicación o para producir la imagen para la web.

Disponibilidad general (GA)

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 electrónica o de medios. 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)

Release to the 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 se están volviendo más comunes a medida que crece 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 llamados "lanzamientos provisionales" o "lanzamiento de mantenimiento" (MR). Por ejemplo, Microsoft lanzó tres paquetes de servicios importantes para las ediciones de 32 bits de Windows XP y dos paquetes de servicios para las ediciones de 64 bits. Dichos lanzamientos de servicio contienen una colección de actualizaciones, correcciones y mejoras, que se entregan en forma de un único paquete instalable. También pueden implementar nuevas características. Algún software se lanza con la expectativa de soporte regular. Las clases de software que generalmente implican soporte prolongado como norma incluyen suites antivirus y juegos en línea multijugador masivos. Continuando con este ejemplo de Windows XP, Microsoft ofreció actualizaciones pagas durante cinco años más después del final del soporte extendido.

Fin de la vida

Cuando el software ya no se vende o no recibe soporte, se dice que el producto ha llegado al final de su vida útil, que ha sido descontinuado, retirado, obsoleto, abandonado u obsoleto, pero la lealtad del usuario puede continuar existiendo durante algún tiempo, incluso mucho después de su la plataforma es 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 característica nueva, 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 liberar el código fuente, por lo que la plataforma volverá a vivir y será mantenida por voluntarios, y si no, se puede realizar ingeniería inversa más adelante cuando se convierta en abandonware.

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" era la verificación de un nuevo producto antes del anuncio público. La prueba "B" era la verificación antes de liberar 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, la terminología de prueba alfa se usó para denotar la prueba previa al anuncio y la prueba beta se usó para mostrar la disponibilidad general del producto. 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 bastante atención. El uso de "prueba beta" para referirse a las pruebas realizadas por los clientes no se hizo en IBM. Más bien, IBM utilizó el término "prueba de campo".

Posteriormente se desarrollaron importantes versiones beta públicas, y los primeros clientes compraron una "edición pionera" del procesador de textos WordVision para IBM PC por $ 49,95. 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, se lanzó una versión en caja del sistema operativo Mac OS X Public Beta de Apple. Lanzamiento de Microsoft de la vista previa de tecnología comunitaria (CTP) para Windows Vista, entre septiembre de 2005 y mayo de 2006. Y de 2009 a 2011, Minecraft estuvo en versión beta pública.

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 usa como si estuviera en el nivel de producción. Señaló que Gmail y Google News, por ejemplo, habían estado en versión beta durante mucho tiempo aunque se usaban ampliamente; Google News salió de la versión beta en enero de 2006, seguido de Google Apps (ahora llamado Google Workspace), incluido Gmail, en julio de 2009. Desde la introducción de Windows 8, Microsoft ha llamado al software de prelanzamiento una vista previa en lugar de una versión beta. Todas las compilaciones preliminares lanzadas a través del programa Windows Insider lanzado en 2014 se denominan "compilaciones de vista previa de Insider". "Beta" también puede indicar algo más como un candidato de lanzamiento, o como una forma de demostración de tiempo limitado o técnica de marketing.