### Desarrollo Ágil de Software
* Definición
* Manifiesto Ágil
* Aplicabilidad
* Problemas
* Mantenimiento
* Desarrollo Guiado por Plan
* Cuestiones técnicas, humanas y organizacionales
* Programación Extrema
* Escenarios de Requerimientos
* Refactorización
* Pruebas
* Automatización de Pruebas
* Programación en pares
* Gestión Ágil
* Scrum
* Ciclo Sprint
* Beneficios de Scrum
* Desarrollo de Sistemas Grandes
---
### Desarrollo ágil de software
* El rápido desarrollo y la entrega son ahora los
requisitos más importantes para los sistemas de software
* Los requisitos de las empresas cambian rápidamente y es
prácticamente imposible producir un conjunto de requerimientos de software estable.
* El Software tiene que evolucionar rápido para reflejar los cambios en las necesidades del negocio.
---
### Desarrollo ágil de software
Aunque existen muchos enfoques para el desarrollo ágil, todos comparten ciertas características:
1. Especificación, diseño e implementación estan entrelazados
2. El sistema se desarrolla en diferentes versiones. Se pueden proponer cambios y nuevos requerimientos en versiones posteriores.
3. Las interfaces del usuario se desarrollan a menudo utilizando un IDE y herramientas gráficas
4. Se emplea desarrollo incremental
5. Se involucra al cliente en el desarrollo
6. Poca documentación
---
### Métodos Ágiles
* La insatisfacción con los gastos involucrados en los métodos
de diseño de software de los años 1980 y 1990 dieron lugar a la
creación de métodos ágiles. Estos métodos:
* Se enfocan en el código en lugar del diseño
* Se basan en un enfoque iterativo para el desarrollo de software
* Tienen la intencion de ofrecer software de trabajo de forma rápida y
evolucionar rápidamente para satisfacer las cambiantes necesidades.
* El objetivo de los métodos ágiles es reducir los gastos
generales del proceso de software (por ejemplo, limitando la
documentación) y ser capaces de responder rápidamente a las
necesidades cambiantes sin rehacer trabajo de manera
excesiva
---
#### Manifiesto Ágil: Valores

---
### Métodos Ágiles: Ejemplos
* Programación Extrema (Beck)
* Scrum (Cohn, Schwaber, Beedle)
* Crystal (Cockburn)
* ASD - Desarrollo de Software Adaptativo (Highsmith)
* DSDM - Desarrollo de Sistemas Dinámicos (Stapleton)
* FDD - Desarrollo dirigido por características (Palmer y Felsing)
---
### Principios de los métodos ágiles