En febrero de 2001, a principios de este siglo, 17 personas de amplia experiencia y trayectoria en el mundo del desarrollo de software se reunieron en Utah para discutir y debatir sobre técnicas y procesos para desarrollar software.
Estos críticos de los modelos convencionales y formales, que son modelos pesados y prescriptivos por demás, concluyeron la reunión con el “Manifiesto por el desarrollo ágil de software”, conocido comúnmente como “Manifiesto ágil” o “Agile manifesto”.
La frase introductoria de este manifiesto dice lo siguiente: “Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros”.
Con respecto a esta poderosa frase, cabe destacar que ellos no afirman algo como “¡eureka!”, o “ya terminamos de descubrir…”, quiere decir que no todo está prescrito ni definido, que estamos aprendiendo y seguiremos aprendiendo a partir de nuestra propia experiencia; de realizar experimentos permanentemente; de fallar y ajustar; de compartir el conocimiento y de seguir descubriendo formas mejores.
Junto con esta introducción, se encuentran los denominados valores en las metodologías ágiles, que transcribo a continuación:
A través de este trabajo, hemos aprendido a valorar:
- 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.
12 principios del Manifiesto ágil
Complementando la introducción y los valores, están entonces los 12 principios en los que se soporta el manifiesto ágil:
1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
3.Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
6.El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
7. El software funcionando es la medida principal de progreso.
8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
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 la cantidad de trabajo no realizado, es esencial.
11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.