La gestión del ciclo de vida de las aplicaciones (ALM) es una práctica que se utiliza para el desarrollo de aplicaciones de software. No se trata únicamente de la gestión del código fuente que luego se compila en un programa de software, sino de todos los aspectos del desarrollo desde el momento del concepto hasta el momento en que se considera que la aplicación ya no es factible para un mayor desarrollo. Con esta práctica, ALM es un medio para unir los objetivos que una empresa u organización tiene para un software en particular, la creación o implementación de ese software y el mantenimiento del software. Por tanto, ALM es eficaz para mejorar la producción, la colaboración y la calidad a lo largo de la vida útil de un proyecto de desarrollo.
El proceso generalmente se divide en tres objetivos principales, cada uno con responsabilidades superpuestas. La práctica principal y más frecuente en toda la aplicación del proceso de gestión del ciclo de vida es la gobernanza. Desde el momento de la concepción, todo en el proceso de ALM se gestiona y se realiza un seguimiento. Cada componente del ciclo de vida, incluido el diseño, los desarrolladores y el código de software en sí, es responsabilidad del gobierno.
El gobierno maneja toda la organización de estos elementos, así como el análisis y los informes generados en cada paso del proceso. Esto ayuda a la empresa a tomar decisiones acertadas sobre los esfuerzos de desarrollo adicionales, como las comparaciones de costos de varios aspectos del ciclo de vida, para mejorar el proceso general. Las métricas de datos obtenidas durante la gestión del ciclo de vida de la aplicación a través de su gobierno también son importantes para determinar si se justifica un mayor desarrollo o si el proyecto de software debe descartarse para otro esfuerzo.
El segundo aspecto principal de ALM, el desarrollo, es donde tiene lugar todo el proverbial giro de llave inglesa. Aquí también es donde la gestión del ciclo de vida de las aplicaciones puede confundirse con el ciclo de vida del desarrollo de software (SDLC), que en sí mismo contiene niveles adicionales de complejidad. Sin embargo, ALM incluye SDLC como un componente crítico. El aspecto de desarrollo se ocupa de los requisitos, el diseño, la codificación y las pruebas del software. Aquí también es donde ocurre gran parte del mantenimiento, como nuevas versiones completas, correcciones de errores y versiones menores.
Luego están las operaciones diarias. Una vez que el software ha alcanzado un estado en el que se puede implementar con éxito, en el sentido de que cumple con todos los requisitos y especificaciones de diseño y ha pasado las pruebas iniciales de calidad, está listo para su lanzamiento. Operaciones toma aquí el rol de administración del ciclo de vida de la aplicación, al preparar el software para la implementación. Esto puede implicar cualquier tipo de marketing y ventas que sea necesario y la creación de un entorno de soporte para ayudar a los clientes.