¿En qué consiste la administración del ciclo de vida de las aplicaciones (ALM)?

La administración del ciclo de vida de las aplicaciones (ALM) se refiere a la creación y el mantenimiento de una aplicación de software hasta que deje de utilizarse. Implica varios procesos, herramientas y personas que trabajan conjuntamente para administrar todos los aspectos del ciclo de vida, como las ideas, el diseño y el desarrollo, las pruebas, la producción, el soporte y la eventual redundancia.

La administración del ciclo de vida de las aplicaciones (ALM) también se conoce como administración integrada del ciclo de vida de las aplicaciones porque varios expertos en software, como desarrolladores, analistas, responsables de las pruebas y administradores del cambio, trabajan conjuntamente a lo largo del ciclo de vida de las aplicaciones. La colaboración entre equipos y el uso de diversas herramientas de soporte garantizan que el desarrollo de la aplicación cumpla los objetivos empresariales y que el proyecto tenga éxito.

¿Por qué es importante la administración del ciclo de vida de las aplicaciones (ALM)?

Tradicionalmente, las diferentes áreas del proceso de desarrollo de software estaban completamente separadas. Esta fragmentación provocaba ineficiencias en los procesos, retrasos en las entregas, cambios inesperados en el alcance y excesos de costos. La administración del ciclo de vida de las aplicaciones (ALM) resuelve eficazmente estos problemas al integrar múltiples disciplinas, prácticas y equipos bajo un mismo ámbito. El trabajo conjunto facilita la creación, la entrega y la administración de software complejo.

La administración del ciclo de vida de las aplicaciones (ALM) aporta varias ventajas a lo largo del ciclo de vida de una aplicación de software.

Orienta de forma clara el proyecto

Los procesos y las herramientas de administración del ciclo de vida de las aplicaciones (ALM) ayudan a los equipos de desarrollo y de pruebas a planificar y aplicar la estrategia del proyecto. Pueden calcular los requisitos del proyecto de manera más precisa y proyectar mejor el futuro de la aplicación. También pueden tomar decisiones en tiempo real y ajustar el plan eficazmente a medida que las circunstancias cambian.

Aumenta la visibilidad entre los equipos

Las herramientas y técnicas utilizadas en la administración del ciclo de vida de las aplicaciones (ALM) generan una visión coherente del proyecto para todos los equipos. Todos son conscientes del trabajo que se ha hecho hasta el momento y de las tareas que aún quedan por hacer. Diferentes equipos pueden trabajar conjuntamente para priorizar los próximos pasos en el desarrollo de la aplicación. 

Mejora la satisfacción del equipo

Los equipos se comunican mejor y colaboran de forma más eficaz. Esta comunicación mejora la productividad y aumenta tanto la satisfacción de los empleados como su compromiso en el lugar de trabajo.

Aumenta la velocidad y la calidad del desarrollo

Cuando un equipo de desarrollo de software sigue los principios de ALM, los desarrolladores y los encargados de las pruebas cooperan eficazmente para mejorar la calidad del software. Pueden recurrir a la automatización para probar el código fuente con frecuencia y solucionar a tiempo los errores de codificación. Al someter a prueba todo el código cada vez que se realiza un cambio, los equipos pueden ofrecer nuevas características de software con mayor rapidez y confianza.

¿Cuáles son las etapas de la administración del ciclo de vida de las aplicaciones?

Hay cinco etapas en el ciclo de vida de una aplicación:

Determinación de los requisitos de la aplicación

En la fase inicial, las partes interesadas determinan qué necesitan obtener de la aplicación. Analizan el modo en que la aplicación contribuirá a la consecución de los objetivos empresariales y al cumplimiento de los requisitos de conformidad regulatoria. Por lo general, este tipo de gestión de requisitos implica elaborar historias de usuario que indiquen cómo van a interactuar los diferentes usuarios con la aplicación.

Ejemplo de determinación de los requisitos de la aplicación

Un banco considera la posibilidad de crear una aplicación de banca móvil. Define dos usuarios: clientes y administradores. El equipo de administración de requisitos identifica dos historias de usuario:

  • Una historia de usuario para clientes que expone que estos utilizan la aplicación para presentar una solicitud de apertura de una nueva cuenta bancaria. 
  • Una historia de usuario para administradores que expone que estos utilizan la aplicación para aprobar los documentos de los clientes. 

Además, el equipo de administración de requisitos identifica que el sistema de software de la aplicación debe cumplir con los estándares de seguridad que se ajustan a las leyes de privacidad de datos.

Desarrollo de aplicaciones

En la fase de desarrollo, varios equipos trabajan conjuntamente para convertir los requisitos en una aplicación funcional. Los siguientes pasos son un ejemplo:

  • Los administradores de proyectos calculan el tiempo y el costo de desarrollo. 
  • Los desarrolladores identifican las tareas de diseño y las actividades de programación.
  • Los analistas de calidad introducen tareas de revisión y puntos de control para verificar la calidad y los avances. 

Los equipos de desarrollo y pruebas también planifican un calendario para sus proyectos de software. Identifican cualquier interdependencia entre los requisitos y deciden el orden en el que se deben completar y lanzar las nuevas características.

Ejemplo del desarrollo de una aplicación

El equipo de TI del banco elabora un plan de desarrollo para la aplicación móvil. Los miembros del equipo identifican que primero deben completar la historia de usuario para los clientes y, a continuación, probarla exhaustivamente antes de abordar los requisitos de los administradores. Sin embargo, saben que tienen que complacer los requisitos de ambas partes antes de lanzar el nuevo producto. Codifican la aplicación y la lanzan a un grupo beta en dos meses.

Probar la aplicación

En la fase de pruebas de software, los analistas de calidad evalúan la aplicación para verificar si cumple los requisitos. Identifican y priorizan cualquier error o fallo del software, que posteriormente corrige el equipo de desarrollo de software. Las pruebas y el desarrollo de las aplicaciones generalmente se llevan a cabo de forma simultánea durante el ciclo de vida de la aplicación. Por ejemplo, las metodologías de desarrollo ágil utilizan herramientas de pruebas automatizadas para probar toda la base de código cada vez que los desarrolladores realizan un cambio en el software.

Ejemplo sobre cómo se prueba una aplicación

El equipo de control de calidad del banco verifica el caso de negocio de la apertura de cuentas para la aplicación de banca móvil. Descubre que el cliente únicamente puede elegir la licencia de conducción como prueba de identidad. Dado que el banco también acepta los pasaportes como prueba de identidad, solicita al equipo de desarrollo que actualice la aplicación para incluir esta información.

Implementación de aplicaciones

Durante el despliegue, los desarrolladores lanzan la aplicación para los usuarios finales. La administración de versiones también contempla la planificación del modo en que el equipo despliega los cambios de software a lo largo del tiempo. Los equipos de desarrollo ágil automatizan el despliegue para acelerar el lanzamiento de nuevas características y actualizaciones. Herramientas y servicios como AWS CodeDeploy permiten controlar mejor el despliegue y minimizar los errores en la fase de producción.

Ejemplo del despliegue de una aplicación

El equipo de la aplicación móvil del banco utiliza un servidor en la nube para alojar el código de la aplicación de modo que los administradores puedan acceder a esta desde un sitio web. También despliegan el código en las tiendas de aplicaciones de las plataformas móviles más conocidas de modo que los clientes puedan realizar la descarga directamente.

Mantenimiento de la aplicación

En la fase de mantenimiento, los equipos de soporte y de desarrollo trabajan conjuntamente para resolver los errores que aún persisten, planificar nuevas actualizaciones y mejorar aún más el producto. Tienen en cuenta los comentarios de los usuarios y lanzan nuevas características que son relevantes para los clientes. Los equipos también utilizan herramientas como AWS X-Ray y AWS CloudTrail para supervisar el rendimiento y el uso de las aplicaciones en la fase de mantenimiento. Con el tiempo, a medida que la tecnología evoluciona, es posible que también decidan crear una nueva aplicación en sistemas modernos y dejar de utilizar la existente.

Ejemplo del mantenimiento de una aplicación

El equipo de TI del banco supervisa el rendimiento de la aplicación móvil y descubre que se ralentiza cuando los clientes cargan documentos. Realizan cambios en el sistema y mejoran el diseño antes de lanzar la siguiente actualización.

¿En qué consisten las herramientas de administración del ciclo de vida de las aplicaciones (ALM)?

Las herramientas de administración del ciclo de vida de las aplicaciones (ALM) consisten en software que los desarrolladores, analistas y otras partes interesadas utilizan para administrar las aplicaciones. Proporcionan un entorno estandarizado que todos pueden utilizar para comunicarse y colaborar. A continuación, presentamos algunas características comunes de un conjunto integrado de administración del ciclo de vida de las aplicaciones (ALM).

Administración de proyectos

La mayoría de las herramientas de administración del ciclo de vida de las aplicaciones (ALM) son esencialmente herramientas de administración de proyectos. Puede consultar el estado del proyecto durante todas las fases de la administración del ciclo de vida de las aplicaciones (ALM). Las herramientas muestran las tareas detalladas e incluyen características para la previsión de gastos y la planificación del proyecto. 

Administración de requisitos

Una herramienta de administración de ciclo de vida de las aplicaciones (ALM) actúa como un repositorio central para los requisitos de los usuarios de las aplicaciones. Es posible vincular las historias de los usuarios con las especificaciones técnicas y funcionales. Por ejemplo, el requisito técnico de cifrado de la contraseña puede ser un requerimiento para la aplicación en materia de acceso de los usuarios.

Administración de código fuente

Numerosas herramientas de administración del ciclo de vida de las aplicaciones (ALM) ofrecen opciones para que los desarrolladores puedan hacer un seguimiento de los cambios en el código. Diferentes desarrolladores pueden trabajar sobre una única base de código, realizar y combinar cambios, y administrar eficazmente el proceso de desarrollo.

Administración de pruebas

Los analistas utilizan las herramientas de administración del ciclo de vida de las aplicaciones (ALM) para escribir y mantener las pruebas de software para la integración continua. Este enfoque de desarrollo prueba automáticamente cada cambio de código realizado en la aplicación. Mejora la garantía de calidad y permite entregar continuamente nuevas funcionalidades de la aplicación a los clientes.

Características adicionales

Las herramientas de administración del ciclo de vida de las aplicaciones (ALM) también incluyen otras características para una administración eficaz, como por ejemplo:

  • Soporte técnico a través de chat en tiempo real
  • Administración de la cartera de proyectos
  • Herramientas de visualización, como tablas y gráficos

¿Cómo se compara la administración del ciclo de vida de las aplicaciones (ALM) con otras metodologías de administración del ciclo de vida?

En el ámbito de la tecnología, el ciclo de vida se refiere con frecuencia al proceso completo de innovación y soporte tecnológico. A continuación, se indican otros términos similares.

Ciclo de vida del desarrollo de software

El ciclo de vida del desarrollo de software (SDLC) es una metodología sistemática que se puede utilizar para producir software de calidad de forma rentable. Los equipos de desarrollo de software utilizan el enfoque paso a paso de la metodología SDLC para diseñar, desarrollar, probar y desplegar eficazmente el software. 

ALM frente a SDLC

El ciclo de vida del desarrollo de software (SDLC) describe la fase de desarrollo de la aplicación con mayor detalle. Forma parte de la administración del ciclo de vida de las aplicaciones (ALM). La administración del ciclo de vida de las aplicaciones (ALM) comprende todo el ciclo de vida de la aplicación y trasciende el ciclo de vida del desarrollo de software (SDLC). La administración del ciclo de vida de las aplicaciones (ALM) puede incluir varios ciclos de vida del desarrollo del software (SDLC) durante el ciclo de vida de una aplicación.

Administración del ciclo de vida del producto

La administración del ciclo de vida del producto (PLM) se ocupa del diseño, la producción y la venta de productos físicos, especialmente en los sectores de la fabricación y la ingeniería.

ALM frente a PLM

La administración del ciclo de vida de las aplicaciones (ALM) se refiere principalmente a los componentes de software, mientras que la administración del ciclo de vida del producto (PLM) indica que existe algún tipo de hardware, electrónica u otros componentes físicos en el producto. Aunque los principios subyacentes tanto de la administración del ciclo de vida del producto (PLM) como de la administración del ciclo de vida de las aplicaciones (ALM) son los mismos, la manera en que se implementan estos principios varía.

Por ejemplo, la etapa de desarrollo de la administración del ciclo de vida del producto (PLM) incluye las especificaciones de fabricación, y la etapa de comercialización del producto incluye el diseño del empaque. Debido a estas diferencias, la administración del ciclo de vida del producto (PLM) cuenta con su propio conjunto de herramientas. Es posible adaptar y configurar determinadas herramientas de la administración del ciclo de vida de las aplicaciones (ALM) para una administración del ciclo de vida del producto (PLM) específica.

¿En qué consiste la gobernanza de las aplicaciones en la administración del ciclo de vida de las aplicaciones (ALM)?

La gobernanza de las aplicaciones se refiere al conjunto de políticas, procedimientos y reglas que las organizaciones utilizan para asignar eficazmente los recursos durante el ciclo de vida de las aplicaciones. Ayuda a reducir los plazos de entrega y establece una responsabilidad y un control claros en todo el proceso de administración del ciclo de vida de las aplicaciones (ALM). Una sólida gobernanza garantiza que la aplicación cumple con los requisitos en materia de seguridad de datos, regulaciones y conformidad a los que está sujeta la organización. 

La gobernanza de aplicaciones incluye los siguientes aspectos:

  • Seguridad de los datos y acceso de los usuarios
  • Revisiones, auditorías y reversiones de aplicaciones
  • Administración central de los recursos
  • Supervisión del rendimiento y del sistema

¿En qué consiste la gobernanza de las aplicaciones en la administración del ciclo de vida de las aplicaciones (ALM)?

La gobernanza de las aplicaciones se refiere al conjunto de políticas, procedimientos y reglas que las organizaciones utilizan para asignar eficazmente los recursos durante el ciclo de vida de las aplicaciones. Ayuda a reducir los plazos de entrega y establece una responsabilidad y un control claros en todo el proceso de administración del ciclo de vida de las aplicaciones (ALM). Una sólida gobernanza garantiza que la aplicación cumple con los requisitos en materia de seguridad de datos, regulaciones y conformidad a los que está sujeta la organización. 

La gobernanza de aplicaciones incluye los siguientes aspectos:

  • Seguridad de los datos y acceso de los usuarios
  • Revisiones, auditorías y reversiones de aplicaciones
  • Administración central de los recursos
  • Supervisión del rendimiento y del sistema

¿Cómo puede Amazon contribuir a la administración del ciclo de vida de las aplicaciones (ALM)?

Los servicios de administración y gobernanza de AWS apoyan a las organizaciones para que puedan innovar más rápidamente sin dejar a un lado el control de los costos, la conformidad y la seguridad. Estos servicios administran recursos en la nube altamente dinámicos a escala masiva, a la vez que ofrecen un único plano de control para la administración. Los servicios de administración y gobernanza de AWS también sirven para evaluar el uso de los recursos e identificar maneras de reducir los costos.

Por ejemplo, puede utilizar estos servicios:

  • AWS Budgets permite planificar el control de costos y elaborar un presupuesto para los recursos en AWS.
  • AWS Organizations permite gobernar y administrar de forma centralizada todas las cuentas de AWS.
  • AWS CloudFormation permite modelar y aprovisionar los recursos de la infraestructura en la nube.

Para comenzar a utilizar la administración del ciclo de vida de las aplicaciones (ALM), cree una cuenta de AWS hoy mismo.

Siguientes pasos de la administración del ciclo de vida de las aplicaciones de AWS

Descubra otros recursos relacionados con el producto
Servicios gratuitos de gestión de la nube en AWS 
Regístrese para obtener una cuenta gratuita

Obtenga acceso inmediato al nivel Gratuito de AWS. 

Regístrese 
Comience a crear en la consola

Comience a crear en la consola de administración de AWS.

Iniciar sesión