El Agile Software Development (desarrollo ágil de software) es un paradigma de la ingenieria del software cuyas principales características son:
- la idea general es el desarrollo iterativo e incremental minimizando costes.
- una iteración es el software desarrollado en una unidad de tiempo, entre una y cuatro semanas.
- cada iteración no agrega mucha funcionalidad pero debe estar libre de errores y funcionar.
- en cada iteración: planificación, analisis, diseño, implementación, prueba y documentación.
- al final de cada iteración se reevaluan las prioridades del proyecto.
- se enfatiza la comunicación cara a cara.
Scrum es un ejemplo concreto de metodología ágil. El diagrama de la empresa Mountain Goat Software de Mike Cohn es bastante autoexplicativo:
y aquí una introducción de ellos mismos a estos temas.
¿Alguna herramienta libre para llevar ésto a la práctica? Pués, por ejemplo, PangoScrum o Kunagi. Según ellos mismos, «PangoScrum is a agile project management tool for Scrum.Keeping it simple, it focus on the continuously efficiency improvement of software development», «Kunagi is a free web-based tool for integrated project management and collaboration based on Scrum«.
Finalmente, en esta página de Scrum Manager, los princípios de la Orientación a Objetos.