Gestión de la liberación - Release management
La administración de versiones es el proceso de administrar, planificar, programar y controlar una compilación de software a través de diferentes etapas y entornos; incluye probar e implementar versiones de software .
Fondo
La gestión de versiones es una disciplina relativamente nueva pero de rápido crecimiento dentro de la ingeniería de software . A medida que los sistemas de software , los procesos de desarrollo de software y los recursos se distribuyen más, invariablemente se vuelven más especializados y complejos. Además, los productos de software (especialmente las aplicaciones web ) se encuentran típicamente en un ciclo continuo de desarrollo, prueba y lanzamiento , que a menudo se ejecutan en plataformas en evolución con una complejidad creciente. Estos sistemas requieren recursos dedicados para supervisar la integración y el flujo de desarrollo, prueba, implementación y soporte.
Relación con entrega continua, DevOps y desarrollo de software ágil
Las organizaciones que han adoptado el desarrollo de software ágil están viendo cantidades mucho mayores de lanzamientos. Con la creciente popularidad del desarrollo ágil, un nuevo enfoque para las versiones de software conocido como entrega continua está comenzando a influir en la forma en que el software pasa del desarrollo a una versión. Uno de los objetivos de Continuous Delivery y DevOps es lanzar aplicaciones más confiables con mayor rapidez y frecuencia. El movimiento de la aplicación desde una "compilación" a través de diferentes entornos hasta la producción como una "versión" es parte del proceso de entrega continua. Los administradores de versiones están comenzando a utilizar herramientas como la automatización de versiones de aplicaciones y las herramientas de integración continua para ayudar a avanzar en el proceso de Entrega continua e incorporar una cultura de DevOps al automatizar una tarea para que se pueda realizar de manera más rápida, confiable y repetible. Más lanzamientos de software han llevado a una mayor dependencia de las herramientas de automatización y administración de lanzamientos para ejecutar estos complejos procesos de lanzamiento de aplicaciones.
Relación con Enterprise Release Management
Mientras que Release Management se centra en las transiciones del desarrollo a las pruebas y el lanzamiento para un solo proyecto o una colección de proyectos relacionados, Enterprise Release Management (ERM) se centra en la coordinación de lanzamientos individuales dentro de una organización más grande. Una organización con varios grupos de desarrollo de aplicaciones puede requerir una serie de versiones altamente orquestadas durante varios meses o años para implementar un sistema a gran escala. ERM implica el esfuerzo coordinado de varios administradores de versiones para sincronizar las versiones en el contexto de una cartera de TI .
Relación con ITIL / ITSM
En las organizaciones que gestionan operaciones de TI utilizando el paradigma de gestión de servicios de TI , específicamente el marco ITIL , la gestión de versiones se guiará por los conceptos y principios de ITIL. Hay varios procesos formales de ITIL que están relacionados con la gestión de versiones, principalmente el proceso de gestión de versiones y despliegues, que "tiene como objetivo planificar, programar y controlar el movimiento de versiones a entornos de prueba y en vivo", y el proceso de gestión de cambios en organizaciones ITIL , las versiones tienden a ser menos frecuentes que en un entorno de desarrollo ágil. Los procesos de lanzamiento son administrados por equipos de operaciones de TI utilizando sistemas de tickets de Gestión de Servicios de TI, con menos enfoque en la automatización de los procesos de lanzamiento.
Ver también
- Automatización de lanzamiento de aplicaciones
- Automatización de construcción
- Gestión del cambio
- Gestión de la configuración
- Prueba continua
- DevOps
- Cadena de herramientas de DevOps
- Notas de lanzamiento
- Calidad del software
- Pruebas de software
- Plan de prueba
- WinOps
Referencias
- ^ Humilde, Jez; Farley, David (2011). Entrega continua: lanzamientos de software confiables a través de la automatización de compilación, prueba e implementación . Pearson Education Inc. pág. 110. ISBN 978-0-321-60191-9.
- ^ Bahías, Michael E. (1999). Metodología de lanzamiento de software . Upper Saddle River, Nueva Jersey: Prentice Hall PTR. ISBN 0-13-636564-7. OCLC 41411901 .
- ^ Ambler, Scott W. (12 de febrero de 2014). "¡Necesitamos más TI ágil ahora!" . El mundo del desarrollo de software del Dr. Dobb . San Francisco: UBM.
- ^ Humilde, Jez; Farley, David (2011). Entrega continua: lanzamientos de software confiables a través de la automatización de compilación, prueba e implementación . Pearson Education Inc. págs. 255–257. ISBN 978-0-321-60191-9.
- ^ Mejores prácticas en la gestión de cambios, configuración y versiones (informe). Gartner. 14 de julio de 2010.
- ^ "Gestión de implementación y lanzamiento de ITIL" . Mapas de procesos de TI . Alemania: Stefan y Andrea Kempter. 15 de mayo de 2016.
- ^ Murphy, Vawns (02 de febrero de 2016). "Gestión de cambios frente a versiones" . La revisión de ITSM . Reino Unido: Enterprise Opinions Limited.
- ^ "Prácticas de gestión de versiones ITIL / ITSM" . Wiki de gestión de versiones . Estados Unidos: Electric Cloud.
enlaces externos
- "Current Trends in Release Engineering 2016" - Curso académico del Grupo de investigación de construcción de software, RWTH Aachen, Alemania #
- Gestión de proyectos de software en Google Books
- Gestión de proyectos: mejores prácticas para profesionales de TI , p. 193, en Google Books
- Gestión de versiones: ¿por dónde empezar?
- Gestión de versiones y despliegues en el marco ITIL
- Wiki de gestión de versiones: recopilación de recursos actuales sobre todos los aspectos de la gestión de versiones
Otras lecturas
- Bays, ME (1999). Metodología de lanzamiento de software . Filadelfia, PA: Prentice Hall.