El
Proceso Unificado Agil de Scott Ambler o Agile Unified Process (AUP) en inglés
es una versión simplificada del Proceso Unificado de Rational (RUP). Este
describe de una manera simple y fácil de entender la forma de desarrollar
aplicaciones de software de negocio usando técnicas ágiles y conceptos que aún
se mantienen válidos en RUP. El AUP aplica técnicas ágiles incluyendo
Desarrollo Dirigido por Pruebas (test driven development - TDD), Modelado Ágil,
Gestión de Cambios Agil, y Refactorización de Base de Datos para mejorar la
productividad.
El proceso
unificado (Unified Process o UP) es un marco de desarrollo software iterativo e
incremental. A menudo es considerado como un proceso altamente ceremonioso
porque especifica muchas actividades y artefactos involucrados en el desarrollo
de un proyecto software. Dado que es un marco de procesos, puede ser adaptado y
la más conocida es RUP (Rational Unified Process) de IBM.
AUP
se preocupa especialmente de la gestión de riesgos. Propone que aquellos
elementos con alto riesgo obtengan prioridad en el proceso de desarrollo y sean
abordados en etapas tempranas del mismo. Para ello, se crean y mantienen listas
identificando los riesgos desde etapas iníciales del proyecto. Especialmente
relevante en este sentido es el desarrollo de prototipos ejecutables durante la
base de elaboración del producto, donde se demuestre la validez de la
arquitectura para los requisitos clave del producto y que determinan los
riesgos técnicos.
El
proceso AUP establece un Modelo más simple que el que aparece en RUP por lo que
reúne en una única disciplina las disciplinas de Modelado de Negocio,
Requisitos y Análisis y Diseño. El resto de disciplinas (Implementación,
Pruebas, Despliegue, Gestión de Configuración, Gestión y Entorno) coinciden con
las restantes de RUP.
CICLO
DE VIDA DEL PROCESO UNIFICADO AGIL (AUP)
Al
igual que en RUP, en AUP se establecen cuatro fases que transcurren de manera
consecutiva y que acaban con hitos claros alcanzados:
Inception (Concepción): El
objetivo de esta fase es obtener una comprensión común clienteequipo de
desarrollo del alcance del nuevo sistema y definir una o varias arquitecturas
candidatas para el mismo.
Elaboración: El
objetivo es que el equipo de desarrollo profundice en la comprensión de los
requisitos del sistema y en validar la arquitectura.
Construcción:
Durante la fase de construcción el sistema es desarrollado y probado al
completo en el ambiente de desarrollo.
Transición: el
sistema se lleva a los entornos de preproducción donde se somete a pruebas de
validación y aceptación y finalmente se despliega en los sistemas de
producción.
Las
disciplinas se llevan a cabo de manera sistemática, a la definición de las
actividades que realizan los miembros del equipo de desarrollo a fin de
desarrollar, validar, y entregar el software de trabajo que responda a las
necesidades de sus interlocutores.
Las
disciplinas son:
1. Modelo. El
objetivo de esta disciplina es 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. Aplicación. El
objetivo de esta disciplina es transformar su modelo (s) en código ejecutable y
realizar un nivel básico de las pruebas, en particular, la unidad de pruebas.
3. Prueba. El
objetivo de esta disciplina consiste en 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 verificando que se cumplan los
requisitos.
4. Despliegue. El
objetivo de esta disciplina es la prestación y ejecución del sistema y que el
mismo este a disposición de los usuarios finales.
5. Gestión de configuración. El
objetivo de esta disciplina es la gestión de acceso a herramientas de su
proyecto. Esto incluye no sólo el seguimiento de las versiones con el tiempo,
sino también el control y gestión del cambio para ellos.
6. Gestión de proyectos. El
objetivo de esta disciplina es dirigir las actividades que se lleva a cabo en
el proyecto. Esto incluye la gestión de riesgos, la dirección de personas (la
asignación de tareas, el seguimiento de los progresos, etc.), coordinación con
el personal y los sistemas fuera del alcance del proyecto para asegurarse de
que es entregado a tiempo y dentro del presupuesto.
7. Entorno. El
objetivo de esta disciplina es apoyar el resto de los esfuerzos por garantizar
que el proceso sea el adecuado, la orientación (normas y directrices), y
herramientas (hardware, software, etc.) estén disponibles para el equipo según
sea necesario.
INCREMENTO Y DESARROLLO DE AUP
Los
equipos de AUP suelen ofrecer versiones de desarrollo al final de cada
iteración en preproducción área (s). Una versión de desarrollo de una
aplicación es algo que podrían ser liberados en la producción si se ponen a
través de su pre-producción de garantía de calidad (QA), las pruebas y los
procesos de despliegue. La primera producción de liberación a menudo toma más
tiempo para entregar versiones posteriores. La primera producción de liberación
puede tomar doce meses para entregar la segunda versión de nueve meses, y luego
otras liberaciones se entregan cada seis meses. Una de las primeras se centra
en cuestiones de despliegue, no sólo permite evitar los problemas, sino que
también permite tomar ventaja de sus experiencias durante el desarrollo. Por
ejemplo, cuando despliegue un software en su área deberá tomar notas de lo que
funciona y lo que no, toma nota de que puede servir como la columna vertebral
de su instalación de scripts.
PRINCIPIOS DE LA AUP
La
AUP es ágil, porque está basada en los siguientes principios:
1. El personal sabe lo que está
haciendo. La gente no va a leer detallado el proceso de
documentación, pero algunos quieren una orientación de alto nivel y / o
formación de vez en cuando. La AUP producto proporciona enlaces a muchos de los
detalles, si usted está interesado, pero no obliga a aquellos que no lo deseen.
2. Simplicidad.
Todo se describe concisamente utilizando un puñado de páginas, no miles de
ellos.
3. Agilidad.
Ágil ARRIBA El ajuste a los valores y principios de la Alianza Ágil.
4. Centrarse en actividades de alto
valor. La atención se centra en las actividades que se ve que
son esenciales para el de desarrollo, no todas las actividades que suceden
forman parte del proyecto.
5. Herramienta de la independencia.
Usted puede usar cualquier conjunto de herramientas que usted desea con el ágil
UP. Lo aconsejable es utilizar las herramientas que son las más adecuadas para
el trabajo, que a menudo son las herramientas simples o incluso herramientas de
código abierto.
6. Adaptación de este producto para
satisfacer sus propias necesidades. La AUP producto es de fácil
acomodo común a través de cualquier herramienta de edición de HTML. No se
necesita comprar una herramienta especial, o tomar un curso, para adaptar la
AUP.
VENTAJAS:
ü El
personal sabe lo que está haciendo: no obliga a conocer detalles.
ü Simplicidad:
apuntes concisos.
ü Agilidad:
procesos simplificados del RUP
ü Centrarse
en actividades de alto valor: esenciales para el desarrollo.
ü Herramientas
independientes: a disposición del usuario.
ü Fácil
adaptación de este producto: de fácil acomodo (HTML)
DESVENTAJAS:
ü El
AUP es un producto muy pesado en relación al RUP.
ü Como
es un proceso simplificado, muchos desarrolladores eligen trabajar con el RUP, por tener a disposición mas
detalles en el proceso.
CARACTERISTICAS:
Iterativo
e Incremental.
ü Descomposición
de un proyecto grande en mini-proyectos
ü Cada mini-proyecto es una iteración
ü Las iteraciones deben estar controladas
ü Cada iteración trata un conjunto de casos de
uso.
Ventajas
del enfoque iterativo.
ü Detección
temprana de riesgos
ü Administración adecuada del cambio
ü Mayor grado de reutilización
ü Mayor experiencia para el grupo de desarrollo.
No hay comentarios:
Publicar un comentario