Durante los fríos días del 11 al 13 de febrero del 2001, en la estación de esquí de Snowbird en las montañas de Utah, Estados Unidos; convocados por Kent Beck, se reunieron 17 reconocidos expertos de la ingeniería del Software. Entre los asistentes se encontraban los creadores de Scrum, XP, Crystal, DSDM, Extreme Programming, Adaptive Sotfware Development, Feature-Driven Development…

El objetivo de la reunión fue debatir y buscar alternativas a los procesos tradicionales de desarrollo de software, caracterizados por la rigidez de su carácter normativo y su gran dependencia de la planificación detallada previa al desarrollo.

Para englobar todas las metodologías que estaban surgiendo como alternativa a la metodología tradicional y formal, se decidieron por el termino Métodos Ágiles.
Los “métodos agiles” no son una metodología, son una mentalidad y un comportamiento guiados por unos valores y unos principios comunes, recogidos en el “Agile Manifestó” , y que fue el resultado de la reunión de estos 17 grandes en Utah.

El manifiesto ágil se compone de cuatro valores fundamentales de los que se derivan doce principios. Todo aquel que se considere agile, debería creer en ellos ya que afectan directamente a como las personas nos vamos a comportar. El ADN de un “agile” tiene gravados a fuego los cuatros valores.

Los 4 Valores del Manifiesto Ágil

El manifiesto ágil comienza así: “Estamos descubriendo mejores formas de desarrollar software haciéndolo y ayudando a otros a hacerlo. A través de este trabajo hemos llegado a valorar:

  • a los individuos y las interacciones del equipo sobre el proceso y las herramientas.
  • el desarrollar software que funcione más que obtener una exhaustiva documentación.
  • la colaboración con el cliente más que negociación de un contrato.
  • el responder a los cambios más que seguir estrictamente un plan.

Aunque los elementos de la derecha tiene valor, se valoran más los que se encuentran a la izquierda.

Los 12 Principios del Manifiesto

De los cuatro valores anteriores, emanan los siguientes principios redactados por los firmantes.

  1. La prioridad es satisfacer al cliente a través de entregas tempranas y continuas de software que aporte valor.
  2. Aceptación y bienvenida a los cambios. Los procesos ágiles aprovechan el cambio para proporcionar una ventaja competitiva al cliente.
  3. Entregar frecuentemente software que funcione, desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre entregas.
  4. Los desarrolladores y las personas de negocio deben trabajar juntos diariamente en todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiar en ellos para conseguir finalizar el trabajo.
  6. La conversación cara a cara es el método más eficiente y efectivo de comunicar información al equipo y entre sus miembros.
  7. El software que funciona es la medida fundamental de progreso.
  8. Los proceso Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios deberían ser capaces de mantener un ritmo constante de forma sostenible.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  10. La simplicidad, o el arte de maximizar el trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. En intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, y según esto ajusta y perfecciona su comportamiento.

Lo que no dice el manifiesto ágil.

  • Que exista ausencia de documentación.
  • Que no exista planificación. Aceptar cambios, ser flexible y planificar no es sinónimo de improvisar. Un ejemplo, en framework tan extendidos como Scrum, la planificación tiene un peso tan importante y relevante, que cada día se realiza en la daily.
  • Que el equipo pueda modificar la metodología sin justificación.
  • Que el cliente sea el jefe del proyecto y deba organizar el equipo.