Agile es un enfoque de desarrollo basado en la entrega iterativa, paso a paso, de características o incrementos funcionales al cliente y en la retroalimentación para cambiar la dirección o rediseñar la arquitectura basándose en los requisitos del cliente y los impulsores del negocio.
Las capacidades tecnológicas del mundo avanzan, y el desarrollo de software no es una excepción. Hemos visto un increíble aumento de la eficiencia en el desarrollo de nuestros propios productos y servicios. Este progreso también ha tenido un impacto positivo en nuestras vidas, dando lugar a una plétora de nuevas tecnologías, por las que estamos agradecidos. Pero también significa que los productos y servicios cambian más rápido que nunca.
Con el rápido ritmo de los cambios tecnológicos, no es de extrañar que la recopilación de requisitos para proyectos y productos se esté volviendo extremadamente difícil. Por eso el proceso tradicional de requisitos es tan defectuoso. Necesitas algo nuevo. Como trabajamos en un entorno en constante cambio, es muy difícil tener un conjunto completo y exhaustivo de requisitos de software. Sin estos requisitos, es prácticamente imposible que un modelo de software tradicional funcione. Los modelos de desarrollo de software se basan en tener especificaciones completas antes de pasar a la siguiente fase. Son lentos en el desarrollo de software porque son incapaces de encontrar rápidamente nuevas funciones o solucionar problemas. Por ello, el método ágil es cada vez más popular.