Etapa en el proceso de desarrollo de software
En ingeniería de software , un congelamiento es un punto en el tiempo en el proceso de desarrollo después del cual las reglas para realizar cambios al código fuente o recursos relacionados se vuelven más estrictas, o el período durante el cual se aplican esas reglas. [1] Un congelamiento ayuda a que el proyecto avance hacia un lanzamiento o el final de una iteración al reducir la escala o frecuencia de los cambios, y puede usarse para ayudar a cumplir una hoja de ruta .
Las reglas exactas dependen del tipo de congelamiento y del proceso de desarrollo particular que se utilice; por ejemplo, pueden incluir permitir únicamente cambios que corrijan errores o permitir cambios solo después de una revisión exhaustiva por parte de otros miembros del equipo de desarrollo. También pueden especificar qué sucede si se requiere un cambio contrario a las reglas, como reiniciar el período de congelamiento. Los tipos comunes de congelamientos son:
- Una congelación de especificación (completa), en la que las partes involucradas deciden no agregar ningún requisito, especificación o característica nueva a la lista de características de un proyecto de software, a fin de comenzar el trabajo de codificación.
- Una congelación (completa) de funciones, en la que se suspende todo el trabajo de añadir nuevas funciones, lo que desplaza el esfuerzo hacia la corrección de errores y la mejora de la experiencia del usuario. La incorporación de nuevas funciones puede tener un efecto disruptivo en otras partes del programa, debido tanto a la introducción de código fuente o recursos nuevos y no probados como a las interacciones con otras funciones; por lo tanto, una congelación de funciones ayuda a mejorar la estabilidad del programa. Por ejemplo: "congelación de funciones de la interfaz de usuario" significa que no se permitirán más funciones en la parte del código de la interfaz de usuario; los errores aún se pueden corregir.
- Un congelamiento (completo) del código, en el que no se permite ningún cambio en una parte o en la totalidad del código fuente del programa. Particularmente en sistemas de software grandes, cualquier cambio en el código fuente puede tener consecuencias no deseadas , potencialmente introduciendo nuevos errores; por lo tanto, un congelamiento del código ayuda a garantizar que una parte del programa que se sabe que funciona correctamente seguirá haciéndolo. Los congelamientos del código se emplean a menudo en las etapas finales del desarrollo, cuando se está probando una versión o iteración en particular, pero también se pueden utilizar para evitar cambios en una parte de un programa mientras se está desarrollando otra. Por ejemplo: "congelamiento de física" significa que no se permitirá ningún cambio en la parte de física del código.
Implementaciones
En los entornos de desarrollo que utilizan control de versiones , el uso de ramificaciones puede aliviar los retrasos en el desarrollo causados por congelamientos. Por ejemplo, un proyecto puede tener una rama "estable" desde la que se lanzan nuevas versiones del software y una rama "de desarrollo" separada en la que los desarrolladores agregan código nuevo. El efecto de un congelamiento es entonces evitar la promoción de algunos o todos los cambios de la rama de desarrollo a la rama estable. En otras palabras, el congelamiento se aplica solo a la rama estable y los desarrolladores pueden continuar su trabajo en la rama de desarrollo.
Véase también
Referencias
- ^ Mascitelli, Ronald (1 de enero de 2007). Guía de desarrollo de productos lean: todo lo que su equipo de diseño necesita para mejorar la eficiencia y reducir el tiempo de comercialización. Perspectivas tecnológicas. pág. 111. ISBN 9780966269734.