El Proceso Unificado Ágil: fases y disciplinas

Cuando empecé el desarrollo de Let’s req!, mi proyecto de fin de carrera, dediqué unos días a investigar algunos procesos de desarrollo de software que me habían llamado la atención cuando estudié Administración de Proyectos Informáticos, en busca de un proceso que me guiara por el desarrollo pero que no me añadiera más trabajo que el desarrollo en sí. Así que busqué algo que se pareciera al Proceso Unificado, que era el que habíamos utilizado como referencia a lo largo de toda la carrera, pero quizás no tan centrado en la documentación. Y así llegué al Proceso Unificado Ágil.

El Proceso Unificado Ágil (AUP, del inglés Agile Unified Process) es una versión simplificada del Proceso Unificado de Rational (Rational Unified Process, RUP) desarrollada por Scott Ambler, que describe una aproximación al desarrollo de aplicaciones que combina conceptos propios del proceso unificado tradicional con técnicas ágiles, con el objetivo de mejorar la productividad.

En general, el Proceso Unificado Ágil supone un enfoque intermedio entre XP (eXtreme Programming) y el Proceso Unificado de Rational, y tiene la ventaja de ser un proceso ágil que incluye explícitamente actividades y artefactos a los que la mayoría de desarrolladores ya están, de alguna manera, acostumbrados. Muchas organizaciones recelan de XP porque les parece demasiado ligero: XP no especifica cómo crear algunos de los artefactos que los gestores necesitan, lo cual es en cierta manera una contrariedad porque XP se considera, en general, un buen proceso ágil.

En el otro lado está el Proceso Unificado de Rational, cuya gestión resulta realmente sencilla pero que los desarrolladores suelen temer debido al gran número de artefactos que requiere. Esto también resulta desafortunado porque el Proceso Unificado tiene mucho que ofrecer, y puede ser adaptado y recortado hasta conseguir algo más o menos práctico (que es exactamente lo que IBM Rational recomienda). El Proceso Unificado Ágil, pues, se haya entre ambos, adoptando algunas de las técnicas ágiles de XP y otros procesos ágiles, pero reteniendo parte de la formalidad del Proceso Unificado de Rational.

El Proceso Unificado Ágil consta de cuatro fases que el proyecto atraviesa de forma secuencial. Dichas fases son, al igual que en el Proceso Unificado de Rational:

  1. Iniciación. El objetivo de esta fase es identificar el alcance inicial del proyecto, una arquitectura potencial para el sistema y obtener, si procede, financiación para el proyecto y la aceptación por parte de los promotores del sistema.
  2. Elaboración. Mediante esta fase se pretende identificar y validar la arquitectura del sistema.
  3. Construcción. El objetivo de esta fase consiste en construir software desde un punto de vista incremental basado en las prioridades de los participantes.
  4. Transición. En esta fase se valida y despliega el sistema en el entorno de producción.

La siguiente figura muestra un esquema de estas cuatro fases incluyendo, además, los objetivos y tareas fundamentales de cada una, así como los diferentes hitos por los que pasa el proyecto (a saber, LCO, LCA, IOC y PR):

A lo largo de las cuatro fases, se desarrollan actividades relativas a siete disciplinas de manera iterativa:

  1. Modelado. Su objeto es entender la lógica de negocio de la aplicación, el dominio del problema del proyecto e identificar una solución viable para el dominio del problema.
  2. Implementación. Transformar los modelos en código ejecutable y realizar pruebas básicas, en particular pruebas unitarias.
  3. Pruebas. Realizar una evaluación de los objetivos para asegurar la calidad. Esto incluye encontrar defectos, validar que el sistema funciona como fue diseñado y verificar que los requisitos se cumplen.
  4. Despliegue. Planear la entrega del sistema y ejecutar el plan para hacer que el sistema quede disponible para los usuarios finales.
  5. Gestión de la configuración. Gestionar el acceso a los artefactos del proyecto. Esto incluye, además de la traza de versiones de los artefactos, el control de cambios y la gestión de los mismos.
  6. Gestión del proyecto. Dirige las actividades que tienen lugar dentro del proyecto, incluyendo gestión de riesgos, dirección del personal y coordinación.
  7. Entorno. Apoyar el resto del esfuerzo asegurando que los procesos, métodos y herramientas están disponibles para el equipo cuando los necesitan.

En la próxima entrega veremos cómo se tratan en el Proceso Unificado Ágil los modelos y la documentación.

Segunda entrega: El Proceso Unificado Ágil: Modelos y documentación.

One thought on “El Proceso Unificado Ágil: fases y disciplinas”

Leave a Reply

Your email address will not be published. Required fields are marked *