Control de release

Cuando pensamos en control de versiones nos surgen algunas preguntas, como: ¿qué versión es? ¿qué arreglos incluye esa versión?, ¿en qué entornos fueron ejecutados ?

La administración de versiones es  administrar todo el ciclo de vida de entrega de software, desde la planificación, construcción y pruebas hasta la implementación.

Con el objetivo de mantener la información del software como por ejemplo, qué versión del software o los componentes que se implementan en qué entornos, cuándo y cómo se implementó.

Una liberación exitosa puede realizarse en cinco pasos que definiremos a continuación:​
COORDINACIÓN DE CAMBIOS

Se define como la etapa en la que el administrador del proyecto o PM (del inglés Project Manager) analiza los cambios solicitados por el cliente. Luego empieza la creación y asignación de tareas a los desarrolladores, revisando con estos las posibles áreas de afectación que podría tener el software al realizar los cambios.

PULL REQUEST DE LOS FEATURES

Cuando un desarrollador da por terminada una tarea coloca sus cambios en un pull request. Luego el líder de desarrollo realiza una revisión de código de los commit y con esto determinar si es aprobada o denegada la tarea asignada. revisando con estos las posibles áreas de afectación que podría tener el software al realizar los cambios.

PRUEBAS EN LOS LABORATORIOS DE LOS FEATURES A LIBERAR

Para dar por bueno el código de la tarea, los ingenieros de calidad crean diferentes escenarios en los que se puedan probar los features, con el fin de encontrar posibles errores que el desarrollador ha dejado escapar.

Cuando encuentra un error, se lo comunicamos al desarrollador. Este prioriza el arreglo del mismo, de manera tal que el pull request sea tan breve como sea posible.
Este proceso se espera sea rápido y directo.
Tanto el desarrollador, como el ingeniero de calidad deben evaluar la mayor cantidad de escenarios posibles para evitar encontrar errores en momentos posteriores a la liberación y pasar por el proceso de pruebas nuevamente.
Una vez se arreglan los problemas encontrados, el ingeniero de calidad marca el pull request cómo aprobado.

FULL REGRESSION Y PRUEBAS DE PERFORMANCE

Antes de ir a la etapa de liberación, se efectúan diversas pruebas en el sistema, para garantizar el funcionamiento correcto de la versión en proceso.

Los ingenieros de calidad verifican que cada tarea finalizada cumpla los objetivos y a su vez crea cobertura sobre el área trabajada para garantizar que la liberación sea exitosa. Esta cobertura se realiza con casos de prueba manuales e inclusive automatizados. Estos casos son muy importantes para validar que no estamos rompiendo o dañando alguna parte crítica del sistema. Por eso en cada liberación ejecutamos el Full Regression de casos de prueba manuales y automatizados.

Una vez todo esté verificado y funcionando se hace una prueba de performance para asegurar el funcionamiento del producto en horas pico.

DOCUMENTACIÓN DE INSTALACIÓN PARA LA NUEVA LIBERACIÓN O RELEASE

Hemos aprovechado al máximo la metodología ágil inclusive en el proceso de instalación para aprovechar el diseño de nuestra arquitectura en todas las etapas de desarrollo. Para esto creamos diferentes directrices que deben ser seguidas obligatoriamente por el encargado de la liberación, con el objetivo de ser más eficiente, reducción de tiempo, y reducir el margen de error en la liberación del producto.