Las Metodologías Ágiles surgen como reacción a los problemas de las Metodologías de Desarrollo clásicos como el Unified Software Development Process: su burocracia y rigidez. La agilidad busca reducir los desvíos del software y llegar más rápido al mercado.
Los frameworks ágiles son:
- Adaptativos al proyecto, equipo, etc.
- Orientados a las personas.
- Enfocados en la comunicación constante con el cliente.
- Livianos (exigen poca documentación).
En 2001 se firmó el Manifiesto Ágil como consecuencia de propuestas ágiles ya existentes. Los 4 valores definidos son:
- Individuos e interacciones sobre procesos y herramientas.
- Software funcionando sobre documentación extensiva.
- Colaboración con el cliente sobre negociación contractual.
- Respuesta ante el cambio sobre seguir un plan.
El agile modeling es un conjunto de prácticas complementarias a otros frameworks ágiles que sirven para documentar y modelar. Por ejemplo, sirven para usar UML en la agilidad.
Algunas prácticas ágiles fueron creadas hace más de 20 años, así que es razonable que hayan nuevas propuestas. El post-agilismo es un movimiento que propone ideas nuevas, algunas construidas sobre la agilidad y otras escépticas de las propuestas ágiles.
Ejemplos de frameworks: Scrum (1995), XP (1996), Crystal (1998), Feature Driven Development (1997), DSDM (1994), ASD (1999).
A modo de ejemplo, describimos algunas propuestas de XP.
XP
eXtreme Programming es un framework ágil propuesto por Kent Beck y pensado para equipos pequeños en dominios muy dinámicos. Sus valores son la simplicidad, comunicación, retroalimentación, coraje, y respeto.
Actividades básicas:
- Programar.
- Probar.
- Escuchar.
- Diseñar.
Prácticas centrales:
- El juego de la planificación.
- Entregas.
- Metáfora (una historia fácil de entender sobre cómo debería funcionar el sistema).
- Diseño simple.
- Pruebas.
- Refactorización (constantemente reestructurar y simplificar el código).
- Pair programming.
- Estándares de codificación (código por sobre diagramas).
- Integración continua.
- Propiedad colectiva.
- Cliente en el sitio.
El proceso de XP tiene la siguiente forma:

Una spike es una pequeña historia para investigar una pregunta y resolver un problema específico. Por ejemplo, prototipar un script de migración para validar si es posible o no migrar el sistema a una base de datos diferente.