Los métodos ágiles son métodos
de desarrollo incremental donde los incrementos son mínimos y, por lo general,
se crean las nuevas liberaciones del sistema, y cada dos o tres semanas se
ponen a disposición de los clientes.
Los
métodos más populares son:
- Programación extrema
- SCRUM
Usualmente
se emplean estas metodologías para proyectos donde se requiere un producto
pequeño o mediano. En casos donde el cliente interviene en el proceso de
desarrollo proyecto con nuevos requerimientos, información, evaluación de
versiones, etc. Los principios de los métodos agiles son:
- Participación del cliente.
- Entrega incremental.
- Se da libertad a los miembros del equipo desarrollar sus formas de trabajar sin procesos establecidos
- Adoptar el cambio ante nuevos requerimientos.
- Mantener la simplicidad en el software a desarrollar con el proceso de desarrollo.
Sin
embargo, en la práctica estos principios pueden fallar, debido a que:
- El cliente no siempre participa
- Algunos programadores no tienen la personalidad adecuada para trabajar intensamente.
- Cada programador da prioridad a procesos o tareas diferentes.
- Bajo la presión de fechas de entrega, es posible que los miembros del equipo carezcan de tiempo para realizar simplificaciones.
- Dificultad de trabajar con procesos informales.
Como
resultado, los métodos ágiles deben apoyarse en contratos, en los cuales el
cliente pague por el tiempo requerido para el desarrollo del sistema, en vez de
hacerlo por el desarrollo de un conjunto especifico de requerimientos.
En
relación a los métodos ágiles, se ahorra la documentación por ahorrar tiempo,
sin embargo, el código debe ser legible de alta calidad, con el fin de escribir
código bien estructurado y destinar el esfuerzo en mejorar el código, a pesar
esto, el documento que nunca debe faltar es el documento de requerimientos, el
cual indica al ingeniero de software la función específica del sistema.
Desarrollo dirigido por un
plan y desarrollo ágil
Los enfoques ágiles en el
desarrollo de software consideran el diseño y la implementación como las
actividades centrales en el proceso del software. Incorporan otras actividades
en el diseño y la implementación, como la adquisición de requerimientos y
pruebas.
Un enfoque basado en un plan
para la ingeniería de software identifica etapas separadas en el proceso de
software con salidas asociadas a cada etapa. Las salidas de una etapa se usan
como base para planear la siguiente actividad del proceso.
![]() |
| Ilustración 1. Desarrollo basado en un plan |
Ilustración 2. Desarrollo Ágil
Para decidir sobre un
enfoque basado en un plan y uno ágil, se deben responder los siguientes
factores:
- Si es importante la especificación y diseño del sistema
- Que tan grande será el sistema a desarrollar
- El tiempo de vida del sistema
- Si el equipo de trabajo está distribuido en diferentes lugares
- La experiencia y velocidad de trabajo de los miembros del equipo
Referencia
Sommerville I.. (2011). Ingeniería de Software. México: Pearson.


No hay comentarios:
Publicar un comentario