Se presenta el contexto en el que surgen las metodologías ágiles, sus valores, principios y comparación con las metodologías tradicionales.
Existen numerosas propuestas metodológicas para el desarrollo de software que inciden en distintas dimensiones del proceso de desarrollo.
Las propuestas más tradicionales se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, de las actividades involucradas , de los artefactos que se deben producir y de las herramientas y notaciones que se usarán, incluyendo modelado y documentación detallada.
Este esquema para abordar el desarrollo de software ha demostrado ser efectivo y necesario en proyectos de gran tamaño (respecto a tiempo y recursos), donde por lo general, se exige un alto grado de ceremonia en el proceso. Sin embargo, este enfoque no resulta ser el más adecuado para muchos de los proyectos actuales, donde el entorno del sistema es muy cambiante y en donde se exige reducir drásticamente los tiempos de desarrollo, pero manteniendo una alta calidad.
En este escenario, las metodologías ágiles emergen como una posible respuesta para llenar ese vacío metodológico. Por estar especialmente orientadas para proyectos pequeños, las metodologías ágiles constituyen una solución a medida para ese entorno, aportando una elevada simplificación, que a pesar de ello, no renuncia a las prácticas esenciales para asegurar la calidad del producto.
En la comunidad de la ingeniería del software se está viviendo con intensidad un debate abierto entre los partidarios de las metodologías tradicionales (referidas peyorativamente como "metodologías pesadas") y aquellos que apoyan las ideas emanadas del "Manifiesto Ágil".