Metodología Agile – Principios, funcionamiento y recorrido
El desarrollo de software siempre ha sido una labor compleja, a la que históricamente se le han aplicado fórmulas de resolución basadas en ingeniería y dando resultados generalmente desastrosos. De ahí nace la idea para desarrollar una Metodología Agile.
La primera idea de Agile es que trabajamos en producto, no en desarrollo de software.
Qué es Metodología Agile
La Metodología Agile para el desarrollo de software hace referencia a un grupo de metodologías basadas en ciclos iterativos. Se fundamenta en los principios e ideas Lean del Toyota Production System.
Aplicar Metodologías Agile requiere de disciplina en el código y colaboración puesto que trabajar de forma iterativa, significa que el código generado no es el definitivo y en una siguiente iteración será revisado. Esta revisión se hace para responder a las necesidades que surgen y es indispensable mantener el código sin la denominada Deuda técnica.
Se caracteriza por la colaboración y el trabajo en equipo junto con la capacidad de auto organización de las personas involucradas.
Las metodologías ágiles son características por realizar el producto (desarrollo software) de forma incremental.
Por último, para entrar en consideración de Metodología Agile, el proceso de desarrollo ha de cumplir con el Manifiesto Agil
Manifiesto ágil
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the righ, we value the items on the left more.

Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan
Esto es, aunque valoramos los elementos de la derecha,
valoramos más los de la izquierda.
Metodologías Agile más conocidas
Scrum
Se trata del marco (que no es lo mismo que metodología) más extendido en las organizaciones.
Extreme Programming o XP
Son una serie de prácticas de ingeniería del software que aseguran que el concepto Iterativo e Incremental funcione.
Se trata de realizar Test Unitarios automatizados, test funcionales automatizados, seguimiento de calidad de código…
DevOps como parte de Agile
DevOps tampoco es una metodología que se diga, se trata de una cultura de trabajo. Conceptos básicos como Integración continua aparecen junto a DevOps.
Otras metodologías ágiles
Agile Modeling, Agile Unified Process, Crystal Clear,…
Los 12 principios de manifiesto ágil
En base a los cuatro principios del manifiesto ágil, se establecen los 12 principios del manifiesto:
- Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor.
- Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
- Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los periodos breves.
- Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
- Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad y el respaldo que necesitan y procurándoles confianza para que realicen la tarea.
- La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
- El software que funciona es la principal medida del progreso.
- Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida.
- La atención continua a la excelencia técnica enaltece la agilidad.
- La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos que se autoorganizan.
- En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia.