¿Qué es la metodología de desarrollo “Agile?”

11 Jun 2007 en Software

La metodología Agile propone la utilización de un proceso de cambios parciales o evolutivos durante el ciclo de vida de los proyectos de software. Existen varios enfoques para el desarrollo “agile” o ágil de software y la mayoría apuntan a la minimización del riesgo mediante un desarrollo de software fraccionado en términos de tiempos o iteraciones con una duración típica de una a cuatro semanas. Cada iteración es como un proyecto de software en miniatura e incluye todas las tareas necesarias para liberar ese mini-incremento de nueva funcionalidad: Planeamiento, análisis de requerimientos, diseño, codificación, prueba y documentación. Si bien una iteración puede no agregar funcionalidad suficiente como para liberar un producto, un proyecto agile trata de liberar nuevo software al final de cada iteración, especialmente cuando se trata de software Web que puede ser liberado con facilidad. Al final de cada iteración, el equipo de trabajo evalúa las prioridades del proyecto.
Los métodos agile enfatizan en la comunicación en tiempo real de los integrantes del team, dando prioridad a la comunicación personal, cara-a-cara, por sobre la escrita.
En la mayoría de los proyectos agile, se ubica a los equipos en un mismo ambiente o “bullpen” donde está toda la gente necesaria para completar el desarrollo del software. Esto incluye como mínimo a los programadores y a sus “clientes” o personas que definen el producto esperado. Estos últimos pueden ser gerentes de producto, analistas de procesos de negocio o bien verdaderos clientes. En el bullpen pueden estar también los encargados de prueba, diseñadores de interacciones, escritores técnicos de documentación y gerentes.
La menor proporción de documentación escrita acerca de la evolución del proyecto de desarrollo ha originado críticas calificando a esta metodología como “indisciplinada.”