La
ingeniería de software ágil combina una filosofía con un conjunto de
lineamientos de desarrollo. La filosofía pone el énfasis en: la satisfacción
del cliente y en la entrega rápida de software incremental, los equipos
pequeños y muy motivados para efectuar el proyecto, los métodos informales, los
productos del trabajo con mínima ingeniería de software y la sencillez general
en el desarrollo.
Desarrollo adaptativo de software (DAS)
El desarrollo adaptativo de software (DAS)
fue propuesto como una técnica para elaborar software
y sistemas complejos. Los fundamentos filosóficos del DAS se centran en la
colaboración humana y en la organización propia del equipo.
Highsmith argumenta que un enfoque de
desarrollo adaptativo basado en la colaboración es tanto una fuente de orden
en nuestras complejas interacciones, como de disciplina e ingeniería.

Scrum
Scrum, es un método de desarrollo
ágil de software concebido por Jeff Sutherland y su equipo de desarrollo a
principios de la década de 1990. En años recientes, Schwaber y Beedle [Sch01a]
han desarrollado más los métodos Scrum.
Los principios Scrum son congruentes con el
manifiesto ágil y se utilizan para guiar actividades de desarrollo dentro de un
proceso de análisis que incorpora las siguientes actividades estructurales:
requerimientos, análisis, diseño, evolución y entrega. Dentro de cada actividad
estructural, las tareas del trabajo ocurren con un patrón del proceso (que se
estudia en el párrafo siguiente) llamado sprint. Cada uno de estos
patrones de proceso define un grupo de acciones de desarrollo.

Método de desarrollo de sistemas
dinámicos (MDSD)
El método de desarrollo de sistemas dinámicos
(MDSD) es un enfoque de desarrollo ágil de software que “proporciona
una estructura para construir y dar mantenimiento a sistemas que cumplan
restricciones apretadas de tiempo mediante la realización de prototipos
incrementales en un ambiente controlado de proyectos” [CCS02]. La filosofía
MDSD está tomada de una versión modificada de la regla de Pareto: 80 por ciento
de una aplicación puede entregarse en 20 por ciento del tiempo que tomaría
entregarla completa (100 por ciento).
El MDSD es un proceso iterativo de software
en el que cada iteración sigue la regla de 80 por ciento. Es decir, se requiere
sólo suficiente trabajo para cada incremento con objeto de facilitar el paso al
siguiente. Los detalles restantes se terminan más tarde, cuando se conocen los
requerimientos del negocio y se han pedido y efectuado cambios.El objetivo de este ciclo
iterativo es recabar requerimientos adicionales por medio de la obtención de
retroalimentación de los usuarios cuando practican con el prototipo.

Cristal
La metodología Cristal en realidad es un conjunto de ejemplos de
procesos ágiles que han demostrado ser efectivos para diferentes tipos de
proyectos. El objetivo es permitir que equipos ágiles seleccionen al miembro de
la familia Cristal más apropiado para su proyecto y ambiente.
Desarrollo impulsado por las características (DIC)
El desarrollo impulsado por las
características (DIC) lo concibió originalmente Peter Coad y sus colegas
[Coa99] como modelo práctico de proceso para la ingeniería de software
orientada a objetos. Stephen Palmer y John Felsing [Pal02] ampliaron y
mejoraron el trabajo de Coad con la descripción de un proceso adaptativo y ágil
aplicable a proyectos de software de tamaño moderado y grande.
Igual que otros proyectos ágiles, DIC adopta
una filosofía que:
1) pone el énfasis en la colaboración entre los integrantes de un equipo DIC;
2) administra la complejidad de los problemas y del proyecto con el uso de la descomposición basada en las características, seguida de la integración de incrementos de software.
3) comunica los detalles técnicos en forma verbal, gráfica y con medios basados en texto. El DIC pone el énfasis en las actividades de aseguramiento de la calidad del software mediante el estímulo de la estrategia de desarrollo incremental, el uso de inspecciones del diseño y del código, la aplicación de auditorías de aseguramiento de la calidad del software
1) pone el énfasis en la colaboración entre los integrantes de un equipo DIC;
2) administra la complejidad de los problemas y del proyecto con el uso de la descomposición basada en las características, seguida de la integración de incrementos de software.
3) comunica los detalles técnicos en forma verbal, gráfica y con medios basados en texto. El DIC pone el énfasis en las actividades de aseguramiento de la calidad del software mediante el estímulo de la estrategia de desarrollo incremental, el uso de inspecciones del diseño y del código, la aplicación de auditorías de aseguramiento de la calidad del software
Desarrollo esbelto de software (DES)
El desarrollo esbelto de software (DES)
adapta los principios de la manufactura esbelta al mundo de la ingeniería de
software. Los principios de esbeltez que inspiran al proceso DES
Para un análisis detallado del DES y para
conocer lineamientos prácticos a fin de implementar el proceso, debe
consultarse
El proceso unificado ágil (PUA)
El proceso unificado ágil (PUA) adopta una
filosofía “en serie para lo grande” e “iterativa para lo pequeño”, a fin
de construir sistemas basados en computadora. Al adoptar las actividades en
fase clásicas del PU —concepción, elaboración, construcción y transición—, el
PUA brinda un revestimiento en serie (por ejemplo, una secuencia lineal de
actividades de ingeniería de software) que permite que el equipo visualice el
flujo general del proceso de un proyecto de software.

• Modelado. Se crean representaciones de UML
de los dominios del negocio y el problema.
No obstante, para conservar la agilidad,
estos modelos deben ser “sólo suficientemente buenos” [Amb06] para permitir que
el equipo avance.
• Implementación. Los modelos se traducen a
código fuente.
• Pruebas. Igual que con la XP, el equipo
diseña y ejecuta una serie de pruebas para detectar errores y garantizar que el
código fuente cumple sus requerimientos.
• Despliegue. Como en la actividad general
del proceso que se estudió en los capítulos 1 y 2, el despliegue en este contexto se centra
en la entrega de un incremento de software y en la obtención de
retroalimentación de los usuarios finales.
• Configuración y administración del proyecto.
En el contexto del PUA, la administración de la configuración (véase el
capítulo 22) incluye la administración del cambio y el riesgo, y el control de
cualesquiera productos del trabajo persistentes17 que produzca el equipo.
La administración del proyecto da seguimiento
y controla el avance del equipo y coordina sus actividades.
• Administración del ambiente. La
administración del ambiente coordina una infraestructura del proceso que
incluye estándares, herramientas y otra tecnología de apoyo de la que dispone
el equipo.
No hay comentarios.:
Publicar un comentario