Universidad Mariano Gálvez de Guatemala
FACULTAD DE INGENIERIA EN SISTEMAS DE
INFORMACION Y CIENCIAS DE LA COMPUTACION
ESCUELA DE INGENIERIA EN SISTEMAS DE INFORMACION
Y CIENCIAS DE LA COMPUTACION
PLAN SABADO
ALM (Application LifeCycle
Management)
Emmanuel Guerra Castro
Guatemala, septiembre 10 del 2023
Contenido
INTRODUCCION ............................................................................................................... 3
¿QUE ES Y PARA QUE SIRVE ALM?.............................................................................. 4
ETAPAS DE ALM ............................................................................................................. 5
- Etapa 1.................................................................................................................... 5
- Etapa 2.................................................................................................................... 5
- Etapa 3.................................................................................................................... 5
- Etapa 4.................................................................................................................... 5
- Etapa 5.................................................................................................................... 6
VENTAJAS ....................................................................................................................... 6
DIFERENCIAS ALM Y SLDC ............................................................................................ 7
INTRODUCCION
En la actualidad cada vez más empresas pequeñas o grandes se están adentrando a un
mundo más digitalizado y centrado en la tecnología, las aplicaciones informáticas han
pasado de ser visto como un lujo innecesario a ser una parte esencial de nuestra vida
cotidiana y del funcionamiento de las organizaciones en todo el mundo. Desde aplicaciones
que encontramos en los smartphones, tablet o pc que simplifican nuestras tareas diarias
hasta sistemas complejos empresariales que impulsan la productividad, las aplicaciones
informáticas desempeñan un papel fundamental en la forma en que interactuamos con la
tecnología.
Sin embargo, el desarrollo y la gestión de estas aplicaciones no son tareas simples. Para
que una aplicación sea efectiva y eficiente, es necesario seguir un proceso tomando en
cuenta desde que alguien tiene la idea de cómo mejorar un proceso con un sistema hasta
su aplicación. Este proceso se conoce como Gestión del Ciclo de Vida de las Aplicaciones
ALM.
ALM es un enfoque sistemático que toma en cuenta todas las etapas del ciclo de vida de
una aplicación, desde la planificación inicial hasta su descontinuación.
En la siguiente investigación, se explicará en detalle que es ALM, para que sirve, como se
utiliza en entornos agiles, las diferentes etapas, ventajas y diferencias con SLDC.
A través de esta investigación sobre ALM, se espera proporcionar una comprensión más
profunda de cómo las aplicaciones informáticas se desarrollan, mantienen y mejoran a lo
largo del tiempo.
¿QUE ES Y PARA QUE SIRVE ALM?
Como sus siglas lo indican ALM se refiere a la gestión del ciclo de vida útil de una aplicación
o un software. Cuando un sistema ALM se encuentra bien pensado y luego se construye
de la mejor manera optimiza la productividad del equipo. por otro lado, también proporciona
un buen soporte para enfoques de desarrollo ágiles. El desarrollo ágil de sistemas es un
enfoque de desarrollo de software que se basa en los principios del Manifiesto Ágil. Estos
principios se enfatizan en la colaboración, la adaptabilidad, la entrega incremental y la
respuesta rápida a los cambios. El desarrollo ágil se ha utilizado en los últimos años en la
industria del software debido a su capacidad de mejorar la flexibilidad y la eficiencia en el
desarrollo de sistemas.
AML regularmente se respalda en herramientas y sistemas especializados, como sistemas
de control de versiones SCV que son una herramienta muy importante durante el desarrollo
de software que permite rastrear y gestionar las diferentes versiones de los archivos y el
código fuente de un de un software. Los SCV ofrecen un registro completo de todas las
modificaciones realizadas en los archivos del software, permite rastrear quién las hizo y
cuándo se hicieron. Este es un procedimiento de suma importancia para mantener la
integridad del código, herramientas de seguimiento de problemas cuya función es ayudar a
los equipos de desarrollo a gestionar y solucionar problemas, errores y tareas de manera
eficiente. Estas herramientas son fundamentales para mantener un registro de los
problemas, asignar responsabilidades, dar seguimiento al progreso y colaborar en equipo,
sistemas de integración continua o su abreviación en siglas CI es una práctica de desarrollo
de software en la que cada cambio que se le realiza al código se integra de manera
automática en un repositorio central y se van construyendo poco a poco y durante este
proceso se van realizando pruebas de manera automática. El objetivo principal de la CI es
detectar problemas en una etapa temprana del desarrollo de software permitiendo una
corrección más rápida y reduciendo la posibilidad de errores en el software final.
Con la información obtenida se puede concluir que el objetivo final de ALM es garantizar
que la aplicación se desarrolle de manera eficiente, se mantenga de manera efectiva y se
retire adecuadamente cuando sea necesario.
ETAPAS DE ALM
Dentro de ALM se encuentran diversas etapas, desde su concepción hasta su retirada.
Estas etapas se superponen y se realizan de manera iterativa en un entorno ágil.
Dependiendo de la metodología de desarrollo de la empresa, las etapas de ALM pueden
constituir fases distintas o pueden superponerse como parte de un enfoque continuo de
integración y desarrollo. Las 5 etapas comunes dentro de ALM son:
- Etapa 1: Durante esta etapa se establecen los objetivos y requisitos los cuales serán
una base para el proyecto. Se determina qué funcionalidades debe tener la
aplicación y se planifica su desarrollo. El enfoque en cascada es uno de los más
utilizados en esta etapa del desarrollo de software, este proceso comienza con las
necesidades más generales y luego se adentra hacia las más específicas, utilizando
una estructura ordenada en forma de jerarquía.
- Etapa 2: La etapa 2 es donde inicia el desarrollo de las aplicaciones. El equipo de
desarrollo toma los requisitos y crea un plan de desarrollo que se planifico durante
la primera etapa. En la mayoría de los casos se deben de dividir los requisitos y
asignarlos a los equipos adecuados para posteriormente desarrollar un cronograma
para la implementación de cada fase. Por ultimo los equipos crean el código y lo
integran de acuerdo con el plan
- Etapa 3: Cuando la etapa 2 está terminada es decir se ha desarrollado de acuerdo
con los requisitos inicia la etapa 3 la cual consiste en poner a prueba el sistema para
asegurarse de que realmente cumple con todos los requisitos, funciona sin
problemas y proporciona la experiencia que el cliente solicito. Para poner a prueba
el sistema se preparan casos de prueba y entornos de prueba y de esta manera se
va revisando el resultado para entregarle un sistema totalmente funcional al cliente.
Por ultimo los evaluadores brindan comentarios y envían informes sobre cualquier
problema o error. El equipo de desarrollo realiza cambios en el producto de acuerdo
con esos comentarios.
- Etapa 4: Cuando el software está completamente terminado sin errores se entrega
al cliente o se lanza a los usuarios. Hay varias formas de hacerlo, según las
necesidades de los clientes. Inicialmente, el software se entregaba físicamente a los
clientes en CD o USB, pero en los últimos años los consumidores prefieren el
formato digital desean poder descargar el software que compran al instante.
- Etapa 5: El proceso de ALM no termina con la implementación del producto por eso
encontramos la etapa 5 la cual son operaciones y mantenimiento para los usuarios.
El objetivo de la etapa 5 es para asegurarse de que el software cumpla rendimiento
ya que debe supervisarse y administrarse incluso después de su lanzamiento.
Durante el tiempo en que el cliente o los usuarios hacen uso del sistema el equipo
de mantenimiento revisa que no se encuentren fallas y de encontrarlas pasan la
información al equipo de desarrollo y poder arreglarlo lo antes posible.
La fase final de esta etapa es el retiro del producto. El equipo debe definir con
anticipación cuando será retirado y si habrá una versión nueva que sustituye al
sistema actual.
VENTAJAS
- Mejora de la calidad del software: promueve la realización de pruebas continuas por
lo tanto ayuda a detectar problemas a tiempo y poder solucionar errores de manera
temprana en el ciclo de desarrollo, mejorando así la calidad del software final.
- Entrega continua y rápida: integración rápida con prácticas de entrega continua lo
que permite la entrega frecuente y rápida de nuevas funcionalidades a los usuarios
finales.
- Gestión efectiva en cambios: Facilita los cambios en el código y mejoras en la
interfaz permitiendo la priorización y la implementación de manera organizada.
- Visibilidad y transparencia: proporciona una visión completa y transparente de todo
el ciclo de vida de la aplicación, lo que permite a los equipos estar pendientes del
progreso del desarrollo del sistema
- Reducción de riesgos: La identificación temprana de problemas contribuye a reducir
los riesgos asociados al desarrollo de software.
- Mejora de la productividad: Agiliza la productividad y desarrollo de tareas del equipo
de desarrollo.
- Mejora continua: Fomenta un ciclo de mejora continua lo que permite a las
organizaciones mantenerse al día con las demandas cambiantes del mercado
- Documentación: Ayuda en la creación y el mantenimiento de documentación
técnicas lo que facilita la conformidad del usuario
DIFERENCIAS ALM Y SLDC
ALM SLDC
Enfoque Se centra en la gestión de todo el ciclo de Se centra específicamente en el ciclo
vida de una aplicación, desde su de desarrollo del software
concepción hasta su retiro o
descontinuación
Diseño Incluye diseño de alto nivel Incluye el diseño de alto nivel y de bajo
nivel
Herramientas Hace uso de herramientas y tecnologías Se apoya en herramientas y
para la gestión de requisitos el control de tecnologías que facilitan el desarrollo,
versiones, el seguimiento de problemas, la la integración continua y las pruebas
automatización de pruebas y la gestión de del software.
proyectos.
Relación con el Es compatible con enfoques ágiles y puede puede estar asociado con prácticas
desarrollo ágil adaptarse para incluir prácticas ágiles ágiles como parte del proceso de
como Scrum desarrollo de software