Para gestionar cualquier tipo de
proyecto que una empresa quiera iniciar, sin importar la complejidad del mismo,
se necesita la unión de un conjunto de procesos y herramientas para que pueda
organizarse eficazmente todas las fases del proyecto de una manera integrada y
centralizada, obteniendo así unos resultados esperados.
En la actualidad muchas empresas
necesitan coordinar proyectos y recursos de una manera mutualizada, buscando
maneras de optimizar sus procesos y reducir costes sin que ello repercuta en el
resultado el producto, que necesita seguir siendo eficiente y de alta calidad.
Para todo esto, la metodología ALM (Application Lifecycle Management) ayuda y permite a las empresas y organizaciones realizar la gestión y coordinación de todo el ciclo de vida de un proyecto, desde la toma de requisitos hasta la implantación del producto pasando por el desarrollo, testing y más tarde el mantenimiento del mismo.
Los beneficios de implantar ALM son
múltiples, los más destacables son:
- Aumento de la productividad.
- Mejora de la calidad del producto.
- Mayor velocidad de desarrollo.
- Disminución de costes.
- Mayor colaboración y comunicación entre recursos.
- Transparencia en el negocio.
Las herramientas para la administración o gestión del ciclo de vida de la aplicación ofrecen diversas funcionalidades para tener control del proceso de desarrollo y mantenimiento, entre dichas funcionalidades se encuentran:
- Administración de requerimientos: para registrar los requerimientos por medio de casos de uso, historias de usuarios o cualquier otra técnica utilizada.
- Administración de tareas: para crear a cada integrante del equipo las tareas que debe realizar con sus prioridades y consideraciones particulares.
- Control de Código Fuente: para mantener protegido el código fuente, controlar cambios, verificar históricos de cambios, crear Troncos y Ramas para el mantenimiento de versiones.
- Control de defectos/bugs: para llevar registro de los defectos encontrados, removidos y pendientes.
- Administración de casos de pruebas: para organizar y documentar las pruebas que serán realizadas a cada producto desarrollado.
- Ejecución de Pruebas y reporte de Defectos: para controlar los casos de pruebas ejecutados, cuáles de ellos fallaron, y reportar los defectos encontrados durante su ejecución.
- Herramientas de Integración de la aplicación: para realizar integración continua de la aplicación que nos permita mejorar la calidad del producto.
- Administración de Versiones: para controlar las versiones que del producto final se vallan liberando.
- Pruebas automatizadas: para robotizar las pruebas y generar escenarios que permitan realizar pruebas de regresión, carga y estrés entre otras.
- Monitoreo y reportes: para elaborar informes sobre todo el proceso, tener indicadores y herramientas para hacer control y auditoria del mismo de forma que se puedan tomar decisiones oportunas.
ALM y Metodologías
Existen muchas metodologías que podemos aplicar al momento de desarrollar una aplicación, desde modelos robustos como RUP (Rational Unified Process) y TFS (Team Software Process), hasta las actualmente muy usadas metodologías ágiles, como Scrum o XP. Varias herramientas ALM incluyen plantillas de procesos para las más usadas de estas metodologías e incluso brindan la posibilidad de modificarlas o crear plantillas propias.
Existen muchas metodologías que podemos aplicar al momento de desarrollar una aplicación, desde modelos robustos como RUP (Rational Unified Process) y TFS (Team Software Process), hasta las actualmente muy usadas metodologías ágiles, como Scrum o XP. Varias herramientas ALM incluyen plantillas de procesos para las más usadas de estas metodologías e incluso brindan la posibilidad de modificarlas o crear plantillas propias.
Gracias a esta característica es posible llevar control particular en cada
etapa, así como en la transición de una etapa a otra. De la misma
forma definir características particulares de la metodología. Por
ejemplo si usamos Scrum podemos definir un Sprint o un item de la pila de
productos.
Herramientas disponibles
Existen varias herramientas en el
mercado como Microsoft TFS, Atlassian JIRA, IBM Rational solution for
Collaborative Lifecycle Management, IBM Rational Team Concert, HP Application
Lifecycle Management, StarTeam y SAP Solution Manager. (Coronel, 2013)
Las herramientas ALM van, principalmente, desde la gestión del proyecto, al control de versiones, los requisitos, incidencias, diseño, etc. Siendo este un negocio que, según Gartner, en 2011 movió 150.000 millones de dólares, con una previsión de crecimiento de casi el 4%, y en el que, actualmente el fabricante líder es IBM (con las herramientas de Rational), seguido de cerca por Microsft (con su Team Foundation Server) y Atlassian (y su Jira, entre otros).
Las herramientas ALM van, principalmente, desde la gestión del proyecto, al control de versiones, los requisitos, incidencias, diseño, etc. Siendo este un negocio que, según Gartner, en 2011 movió 150.000 millones de dólares, con una previsión de crecimiento de casi el 4%, y en el que, actualmente el fabricante líder es IBM (con las herramientas de Rational), seguido de cerca por Microsft (con su Team Foundation Server) y Atlassian (y su Jira, entre otros).
Todo esto se extrae de que recientemente Gartner publicó uno de
sus famosos cuadros mágicos, en este caso uno relativo a ALM. Los famosos
“cuadrantes mágicos” de Gartner clasifican a través de dos variables a las
empresas que, en este caso, venden herramientas ALM. Estas dos variables son,
por un lado, la visión de negocio (estrategia de mercado, estrategia de ventas,
etc.) y, por otro, la capacidad de ejecución (capacidad de venta, conocimiento
de clientes, productos principales, etc.).
Según este informe, el resultado en 2011 muestra que el fabricante líder es IBM, seguido de Microsoft y Atlassian. En lo que refiere a potenciales fabricantes en el futuro, encontramos a HP. Y entre los fabricantes que actualmente tienen menor capacidad de expansión y crecimiento se encuentran algunos como MicroFocus, TechExcel o Rocket Software. Por último, los visionarios, empresas que tienen una gran visión del mercado de ALM pero carecen de medios para ejecutarlas, como ThoughtWorks o Polarion. (Garzás, 2012)
Referencias
Según este informe, el resultado en 2011 muestra que el fabricante líder es IBM, seguido de Microsoft y Atlassian. En lo que refiere a potenciales fabricantes en el futuro, encontramos a HP. Y entre los fabricantes que actualmente tienen menor capacidad de expansión y crecimiento se encuentran algunos como MicroFocus, TechExcel o Rocket Software. Por último, los visionarios, empresas que tienen una gran visión del mercado de ALM pero carecen de medios para ejecutarlas, como ThoughtWorks o Polarion. (Garzás, 2012)
Referencias
Bravent. (2013). Por qué implantar ALM para gestionar
el ciclo de vida de tus proyectos. Obtenido de
http://www.bravent.net/por-que-implantar-alm/
Coronel, G. (21 de
Febrero de 2013). Desarrollo Web. Obtenido de
http://desarrollandowebapps.blogspot.com/2013/02/herramientas-alm.html
Garzás, J. (05 de Julio
de 2012). ¿Cuáles son las mejores herramientas de gestión del desarrollo
software? ¿Atlassian, Microsoft, IBM, HP, ...? Obtenido de
http://www.javiergarzas.com/2012/07/herramientas-alm.html