Qué es la gestión del ciclo de vida de las aplicaciones
Application Lifecycle Management (ALM) es la especificación, diseño, desarrollo y prueba de una aplicación de software. ALM cubre todo el proceso que va desde el alumbramiento de una idea hasta su puesta en marcha, experimentación, implementación, soporte, y si procede, cancelación de los sistemas.
De qué se compone y cómo se aplica la gestión del ciclo de vida de las aplicaciones
En inglés, Application Lifecycle Management (ALM) es en realidad un término genérico que engloba disciplinas diferentes que hasta hace nada, se consideraban compartimentos separados, pero las empresas se dieron cuenta de que era más eficiente integrar los procesos y definirlos todos los departamentos IT juntos, automatizando el proceso, y reduciendo costes y tiempo.
Las fases de las que se compone la gestión del ciclo de vida del producto son:
Gestión de requisitos: Esta fase tiene como comprender e identificar los problemas de nuestro plan de producto, siendo esta fase adaptable a nuestro plan y no al revés.
Mediante la definición de los casos de uso, iremos recopilando información y administrando flujos de trabajo.
Arquitectura de software: En esta fase, diseñaremos las entrañas del software, desde los algoritmos hasta la estructura de los datos. Y es que la arquitectura software son los patrones por los cuales se hará el código fuente. Marca unas pautas, objetivos y restricciones previendo los posibles errores a los que te enfrentarás al desarrollar tu proyecto, anticipando la solución.
Programación informática: Esta fase consiste en escribir el código, y si bien no se considera una fase ALM propiamente dicha, es muy útil que la funcionalidad de administración de código fuente esté integrada de manera efectiva en la suite de ALM, cosa que la mayoría de las herramientas ALM le permitirá.
Pruebas de software: Esta fase consiste en pruebas de control de calidad del proceso de esarrollo de software, guardando información acerca de todos los ensayos y errores con los que nos podamos encontrar.
Mantenimiento de software: Esta fase consiste en la modificación de un software después de que se lo hayamos dado al cliente para corregir problemas que le vayan surgiendo.
Gestión de cambios: Este es un enfoque organizado que tiene como objetivo para estructurar eficazmente los cambios ligados a la gente que compone la empresa, y que influye directamente con los objetivos económicos esperados.
Integración continua: Consiste en hacer añadidos cada poco descargando las fuentes desde el control de versiones, recopilarlos y hacer pruebas para que la herramienta elabore informes y podamos detectar cuanto antes posibles fallos.
Gestión de proyectos: Una vez se tiene la información integrada en el sistema con información resumida mediante tablas y gráficos, que es lo que se hace en esta fase, ya podremos pasar a la siguiente fase de la toma de decisiones.
Gestión de lanzamientos: No es otra cosa que investigar y determinar la fecha de entrega del producto a los usuarios.
Ejemplos de aplicaciones que usan e investigan el ALM:
Endeavour: Es una herramienta online basada en webhook, trazabilidad integral y soporte RESTful API, que proporciona un enfoque estandarizado, fiable y automatizado para asegurar y administrar sus activos de software. Está diseñado para automatizar el proceso de desarrollo, monitorizando el inicio, las modificaciones y la implementación de nuestros programas, desde la primera línea de código hasta los cambios que se sugieren después de los análisis y las pruebas de los mismos.
Es una herramienta muy útil que nos ayudará a mejorar nuestro aprendizaje en menos tiempo, que posee una integración automatizada, rápida y sencilla con nuestros proyectos.
Enterprise Architect: Sparx Systems Enterprise Architect es una herramienta de diseño y modelado visual basada en OMG UML. Su función es el diseño, construcción y seguimiento de sistemas de software, aunque también es capaz de implementar nuevos a los que ya hay, o modificar los existentes, cubriendo todo el ciclo de vida de los programas hasta su satisfactoria ejecución. Ideal para medianas y grande empresas, organismos gubernamentales del sector informático, así como para profesionales del mundillo como programadores y analistas.
FusionForge: Otra herramienta AML, compuesta de otras cuya función es también, ayudar a tu marca a realizar un seguimiento en la creación de apps varias, mediante la gestión de publicaciones de ficheros, documentos, noticias y tareas; encuestas de mejoramiento tanto para usuarios y administradores; seguimiento de errores y fallos; una wiki propia.
Gitlab: Es un servicio web de control, seguimiento de problemas derivados del desarrollo software, gestor de repositorios y desarrollo de software colaborativo basado en Git, y con licencia de código abierto (cualquier usuario puede mejorarlo).
Creado por lo ucranianos Dmitriy Zaporozhets y Valery Sizov en el lenguaje de programación Ruby, la empresa cuenta con un equipo de 160 personas y más de 1500 usuarios.
El proyecto es financiado por particulares y por usuarios de pago, aunque también cuenta con una versión gratuita más limitada.
Helix ALM: Es un software cuya arquitectura está basada en cliente-servidor, que se comunican a través de una conexión TCP / IP. Su función es integrarse y monitorizar los procesos de desarrollo de software, desde el principio hasta el final del proceso, teniendo en cuenta las pruebas ya realizadas, quién y cuándo se hicieron, idioma, configuración y plataforma…etc.
HP Application Lifecycle Management: Otro software creado por la empresa Micro Focus para el desarrollo y prueba de aplicaciones. Contiene herramientas para la gestión de requisitos, pruebas de software (de funciones y de rendimiento)…etc.
Proporciona soporte tanto a los usuarios como a los departamentos de tecnología de la información IT, que son los usuarios finales de este producto. Es una mezcla de plataforma online común, compuesta de varias aplicaciones y un panel de control cuyo objetivo es gestionar el ciclo de vida de las aplicaciones que queramos desarrollar hasta el final del proceso, sobre una base de software común que contiene un repositorio consistente y una arquitectura de integración abierta y compatible con un SDK.
IBM Rational Team Concert: Otro software dirigido a empresas, con tecnología ALM, y que gestiona proyectos, tareas relacionadas, momento en el que se encuentra el proyecto y su relación con el flujo de trabajo.
Creado por IBM a través de Rational Software, basada en la tecnología IBM Jazz, con arquitectura cliente-servidor ya mencionada.
Sus características principales son la monitorización automática, seguimiento y planificación del proyecto, posibilidad de colaboración online y creación de informes sencillos y útiles.
Jira: Otro programa de planificación de proyectos colaborativos para realizar seguimientos del ciclo de vida de una aplicación, creada por la marca australiana Atlassian y basada en la tecnología Java EE, con más de 12000 clientes en más de 100 países, entre los que destacan la BBC, el CERN y otros grandes organismos.
Es una herramienta de pago, pero a veces se dan licencias gratuitas de código abierto a ONGs
De forma nativa, puede llevarse un registro de horas sobre las tareas y su gestión suele hacerse a través de paneles kanban o gráficos de gantt. Pueden añadirse plugins para mejorar sus funcionalidades, y su objetivo es planificar y facilitar el trabajo diario de todos los componentes del departamento IT, automatizando las tareas de supervisión, organización, detección de errores, elaboración de informes online…etc.
Mylyn: Software que administra el ciclo de vida del producto informático con una interfaz enfocada en la tarea y de código abierto desarrollada por la empresa Eclipse.
Integrable con Mantis, Jira, GitHub y otras plataformas, está dirigida a los desarrolladores para que puedan supervisar la actividad de los usuarios en la aplicación, consiguiendo información útil acerca de su comportamiento, los problemas con los que se encuentran, así como facilitar la planificación del trabajo, la recuperación de esfuerzos, mejora de la productividad y el intercambio de conocimientos.
Parasoft Development Testing Platform (DTP): Programa destinado a eliminar el riesgo comercial asociado a desarrollar un mal software, acelerando su entrega al cliente y facilitando la mejora continua de los procesos. Actúa como un centro de administración de seguridad y calidad de software mediante una amplia gama de informes sobre actividades de desarrollo de software, de codificación, pruebas y análisis de datos de todas las actividades relacionadas con la app.
El DTP supervisa y realiza un seguimiento de la aplicación mediante testeos de calidad, como el análisis estático, pruebas unitarias, análisis de cobertura, detección de problemas en tiempo real… etc. para centrarse en el código modificado y en la ejecución del cumplimiento de los plazos. El DTP aplica prácticas de acuerdo con sus políticas de desarrollo, reduciendo discretamente la brecha entre las expectativas del negocio y las actividades de desarrollo / prueba.
Protecode System 4: Es un software cuyo objetivo es administrar licencias de software de código abierto, compuestas por múltiples herramientas que identifican ese tipo de código y determinan lo que implican esas licencias. Protecode funciona usando una base de datos patentada de proyectos públicos comparándolas con otras, produciendo informes de inventario de software, con referencias cruzadas a los atributos de licencia y derechos de autor.
Además, la herramienta ofrece un servicio de auditoría, muy útiles sobre todo en las transacciones comerciales, como adquisiciones, fusiones o financiación de empresas.
PTC Integrity: Otra solución de Desarrollo de Software que organiza y administra todos los procesos del ciclo de vida útil de una aplicación, ayudándonos a impulsar la innovación y la colaboración, lo que simplifica el cumplimiento de plazos de lanzamiento del producto, proporcionándonos soluciones.
Esta plataforma, gestiona la configuración y los cambios del software a desarrollar, proporcionando capacidades de trazabilidad, transparencia y eficacia de todos los procesos
.
PULSE: Otro software de gestión basada en “La Nube”, cuyo objetivo es la administración de relaciones con el cliente (tanto potenciales como reales), empleados y los puntos de venta.
Otras características incluyen la puesta en marcha del servicio, fomentar el bienestar corporativo y la facturación, comunicación mediante correo electrónico o de texto en general, y la gestión de los procesos de pago. La plataforma es compatible con dispositivos móviles, por lo que los usuarios pueden programar desde ahí sus citas y su organigrama empresarial, inventarios, soporte técnico…etc.
Rational solution for Collaborative Lifecycle Management: Es una solución integral basada en Jazz, para hacer un seguimiento del ciclo de la vida del producto que ayuda a los equipos de trabajo a integrar tareas.
Su función es conectar el trabajo de los analistas de negocio con los equipos de desarrollo y pruebas, así como instalación, actualización e implementación del proyecto.
Esta herramienta se compone de cuatro aplicaciones disponibles para instalar en un Jazz: Team Server son Gestión de requisitos (RM), Gestión de cambios y configuración (CCM), Gestión de calidad (QM) y Gestión de diseño (DM).
La licencia se basa en los roles individuales de los usuarios concretos, que pueden modificar cosas distintas en función de la licencia que posean.
Rocket Aldon: Otra solución integral para el desarrollo de software que automatiza el trabajo de implementación y adaptación, empleando las mejores prácticas del sector para cumplir con los plazos de entrega.
Esta herramienta permite elaborar informes, y entregarlos a los destinatarios que lo soliciten, mejorando los recursos empresariales y aumentando su productividad.
Todo ello, lo puedes gestionar desde un panel de control que proporciona información sobre todas las actividades y una base de datos para ver todos sus activos de TI y conocer cualquier cambio en ellos.
SAP Solution Manager: Otra plataforma que usa tecnología ALM, desarrollada por la empresa SAP, y orientada a simplificar y mejorar el trabajo de las organizaciones de TI y asegurar el cumplimiento de los objetivos de la marca mediante un contrato de licencia. Dispone de una organización de gestión central para controlar todas las operaciones, servicios y proyectos de mantenimiento, implementación o migraciones necesarias durante todo el ciclo de vida de las aplicaciones mediante la colaboración de los distintos agentes implicados en el funcionamiento de proyecto.
Sus funciones son supervisar y ofrecer soluciones a sus clientes en el proceso de desarrollo de tu proyecto.
StarTeam: Se trata de un sistema de gestión del cambio empresarial, enfocada a equipos de desarrollo centralizados o desperdigados en la geografía, para que estos consigan entregar un producto de calidad en un tiempo record.
Proporciona información fiable acerca del ciclo del software, mediante un seguimiento exhaustivo de los cambios y los flujos de trabajo, y permite el uso de un gran almacén de datos para dar visibilidad a sus proyectos.
TeamForge: Es un sistema de gestión y revisión de cambios en programas informáticos, webs o documentos online de toda índole, de código abierto y que nos ofrece una interfaz con una amplia gama de servicios orientados a llevar a buen puerto nuestros proyectos, mediante una supervisión de principio a fin del ciclo de desarrollo. Integrable en una gran cantidad de aplicaciones.