sábado, 4 de octubre de 2008

Procesos Unificados y AUP

En el anterior post me enfoqué sobre el OpenUp sus beneficios, principios y ciclo de vida; pero me olvidé de mencionar algo muy importante de que el OpenUp se encuentra dentro de un grupo de mejoras y variaciones del Proceso Unificado. Ahora comenzaré a dar una introducción sobre el proceso unificado para después comenzar a hablar sobre el Proceso Unificado Ágil (AUP) .



¿Qué es Proceso Unificado?

El proceso unificado o también llamado proceso unificado de desarrollo de software es un framework de procesos de desarrollo de software iterativo e incremental. La variación más conocida y extensivamente documentada de los Procesos Unificados es el RUP (Proceso Unificado Racional). También el proceso unificado es generalmente usado para describir procesos generales incluyendo aquellos elementos que son comunes en la mayoría de las variaciones.

Características del Proceso Unificado

- Iterativo e incremental
- Manejo de los Casos de Uso
- Centrado en la Arquitectura
- Enfocado en los Riesgos

Ciclo de Vida del Proyecto

Este punto ya ha sido mencionado en el anterior post en detalle, pero quiero recalcar que todas las variaciones del Proceso Unificado tienen las mismas 4 fases en común: Iniciación, Elaboración, Construcción y Transición.

Refinamientos y Variaciones del PU

Los refinamientos del Proceso Unificado varían de uno del otro en la forma que se categorizan sus disciplinas o flujos de trabajo. Por ejemplo, RUP define 9 disciplinas: Modelamiento del Negocio, Requerimientos, Análisis y Diseño, Implementación, Prueba, Despliegue, Configuración y Gestión del Cambio, Gestión del Proyecto y Ambiente. El EUP (Proceso Unificado Empresarial) adiciona ocho disciplinas empresariales y mientras las variaciones ágiles del Proceso Unificado tal como OpenUp/Basic y AUP (Proceso Unificado Ágil) simplifican el RUP reduciendo el número de disciplinas.

Los refinamientos también varían en el énfasis puesto en los diferentes artefactos. Los refinamientos ágiles racionalizan el RUP simplificando los flujos de trabajo y reduciendo el número de artefactos; además pueden variar en las especificaciones después de la etapa de transición como por ejemplo en el RUP después de su fase de transición es usualmente seguida por la fase de iniciación mientras que en el EUP es la fase de Producción.

Las organizaciones utilizan los procesos unificados invariablemente incorporando sus propias modificaciones y extensiones. El siguiente listado es sobre los refinamientos y variaciones más conocidos:

- Proceso Unificado Ágil (AUP): variación ligera desarrollada por Scott W. Ambler
- Proceso Unificado Básico (BUP): variación ligera desarrollada por IBM y el precursor del OpenUp.
- Proceso Unificado Empresarial (EUP): extensión del RUP
- Proceso Unificado Esencial (EssUP): variación ligera desarrollada por Ivar Jacobson.
- Proceso Unificado Racional (RUP): proceso de desarrollo de software racional propuesto por IBM.
- Método Unificado de Oracle (OUM): proceso de desarrollo e implementación de Oracle.

AUP – Disciplinas, Principios y Ciclo de Vida

Como ya lo había mencionado antes el Proceso Unificado Ágil es una versión simplificada del RUP, la cual describe en una forma simple, fácil de entender y brinda un enfoque de desarrollo de software utilizando técnicas ágiles y conceptos del RUP.

En comparación de las disciplinas del RUP que son 9, el AUP tiene solamente 7 las cuáles algunos son combinaciones de dos disciplinas del RUP

1. Modelo: Entender el negocio de la organización, el problema de dominio que se abordan en el proyecto, y determinar una solución viable para resolver el problema de dominio.
2. Implementación: Transformar el modelo(s) en código ejecutable y realizar un nivel básico de pruebas individuales.
3. Prueba: Realizar una evaluación objetiva para garantizar la calidad. Esto incluye la búsqueda de defectos, validar que el sistema funciona tal como está establecido, y verificar que se cumplan los requisitos.
4. Despliegue: Realizar un plan para la presentación del sistema y ejecutarlo para hacer que el sistema se encuentre a disposición de los usuarios finales.
5. Gestión de Configuración: Realizar la gestión de acceso a artefactos de su proyecto. Esto incluye no sólo el seguimiento de las versiones del artefacto en el tiempo, sino también el control y la gestión de cambios para ellos.
6. Gestión del Proyecto: Dirigir las actividades que se lleva a cabo en el proyecto. Esto incluye la gestión de los riesgos, la dirección de personas (la asignación de tareas, el seguimiento de los progresos, etc), y coordinar con las personas para garantizar que se entrega a tiempo y dentro del presupuesto.
7. Ambiente: Apoyar el resto de los esfuerzos por garantizar que el proceso adecuado, la orientación (normas y directrices), y herramientas (hardware, software, etc) están disponibles para el equipo según cuando ellos lo necesiten.

El ciclo de vida del AUP es el siguiente:


La primera cosa que es notable es que las disciplinas han cambiado. En primer lugar, la disciplina "Modelo" abarca el Modelado de Negocios, Requisitos y Análisis y Diseño del RUP. El Modelo es una parte importante del AUP, como se puede ver, no domina el proceso. En segundo lugar, las disciplinas Configuración y Gestión del Cambio es ahora la Gestión de Configuración, en su desarrollo ágil de Gestión del Cambio son parte de de los esfuerzos de gestión de requerimientos, que forma parte de la disciplina del Modelo.


Puedo mencionar algunos principios como:

1. El personal necesita saber lo que está haciendo. La gente no va a leer la documentación de los procesos en detalle, sino que quieren una orientación de alto nivel y/o formación de vez en cuando. El producto AUP proporciona enlaces a muchos de los detalles si uno está interesado pero no obliga seguir los detalles.
2. Simplicidad. Todo se describe concisamente usando unas páginas, no miles de páginas.
3. Agilidad. El AUP se ajusta a los valores y principios de la Alianza Ágil.
4. Centrarse en las actividades importantes. La atención se centra en las actividades que realmente cuentan.
5. Herramienta de la independencia. Poder usar cualquier herramienta que desee utilizar con la AUP. Es recomendable utilizar herramientas que mejor se adapten para el trabajo, que a menudo son herramientas simples o incluso herramientas de código abierto.
6. Querer adaptar este producto para satisfacer sus propias necesidades. El producto AUP es fácil de manejar a través de cualquier herramienta de edición de HTML. Usted no necesita comprar una herramienta especial, o tomar un curso, para adaptar el AUP.

Las versiones incrementales en el tiempo son las siguientes:

El primer release a menudo toma más tiempo que las demás, ya que mayormente el equipo de trabajo tiene la necesidad de obtener la mayor parte del sistema lo que permite la existencia de la colaboración del equipo. La primera producción de liberación puede tomar doce meses y la segunda nueve meses, y otras cada seis meses. Una de las primeras se centran en cuestiones de despliegue no sólo le permite evitar problemas que también le permite aprovechar de sus experiencias durante el desarrollo. Por ejemplo, cuando se está implementando el software en una área debe tomar notas de lo que funciona y lo que no.

2 comentarios:

Karen Montano dijo...

Hola Karen, gracias por la informacion tan util que has publicadoooo.Esta muy claro y muy interesante...Solo que me gustaria saber un poco mas, como por ejemplo los requisitos para implementar le metodologia y las tecnicas que implemeta AUP....

Saludos..

Leonardo Rodriguez dijo...

vale