Breve historia del manifiesto ágil
Desde su nacimiento hasta su evolución y aplicación.
Actualmente Scrum es uno de los marcos de trabajo más usados en empresas desarrolladoras de software debido a que está basado en un proceso de control empírico y sirve para construir productos complejos de forma sostenida.
Por lo mismo, nos pareció importante (y sumamente interesante) el conocer de dónde nace y cuál fue el camino recorrido por los fundadores del manifiesto ágil para así tener mayor espectro sobre su aplicación y generar mayor conocimiento e inquietud con respecto al tema.
¿Qué es “agile”?
“Agile” es la respuesta o paso siguiente al antiguo modelo en cascada que, debido a las muy variables (y poco satisfechas) necesidades del cliente se propone a cambiar no sólo la forma de trabajar, sino también tomar en cuenta la mayor cantidad de variables posibles en el proceso de desarrollo de un proyecto.
La finalidad de los distintos métodos que componen el agilismo es reducir los problemas clásicos de los programas de ordenador, a la par que dar más valor a las personas que componen el equipo de desarrollo del proyecto, satisfaciendo al cliente, al desarrollador y al analista de negocio.
- Carlos Blé Jurado (2010) - Diseño ágil con TDD.
De lleno con el manifiesto ágil
En 2001, 17 representantes de nuevos marcos de trabajo y críticos de los modelos de mejora basados en procesos se reunieron, convocados por Kent Beck, para discutir sobre el desarrollo de software creando así el manifiesto ágil desglosado en cuatro principios:
Individuos e interacciones sobre procesos y herramientas
Software que funciona sobre documentación exhaustiva
Colaboración con el cliente sobre negociación de contratos
Responder ante el cambio sobre seguimiento de un plan
Fue un ¡basta ya! a las prácticas tradicionales. Estos profesionales, llevaban ya alrededor de una década utilizando técnicas que les fueron posicionando como líderes de la industria del desarrollo software y así concretaron en crear el manifiesto ágil y sobre todo plasmar su filosofía en éstos 12 principios:
Tras este manifiesto se encuentran 12 principios de vital importancia para entender su filosofía:
Nuestra máxima prioridad es satisfacer al cliente a través de entregas tempranas y continuas de software valiosos
Los requisitos cambiantes son bienvenidos, incluso en las etapas finales del desarrollo. Los procesos ágiles aprovechan al cambio para ofrecer una ventaja competitiva al cliente.
Entregamos software que funciona frecuentemente, entre un par de semanas y un par de meses. De hecho es común entregar cada tres o cuatro semanas.
Las personas del negocio y los desarrolladores deben trabajar juntos diariamente a lo largo de todo el proyecto.
Construimos proyectos en torno a individuos motivados. Dándoles el lugar y el apoyo que necesitan y confiando en ellos para hacer el trabajo.
El método más eficiente y efectivo de comunicar la información hacia y entre un equipo de desarrollo es la conversación cara a cara.
La principal medida de avance es el software que funciona.
Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores, desarrolladores y usuarios deben poder mantener un ritmo constante.
La atención continua a la excelencia técnica y el buen diseño mejora la agilidad.
La simplicidad es esencial. Las mejores arquitecturas, requisitos y diseños emergen de la auto-organización de los equipos.
A intervalos regulares, el equipo reflexiona sobre cómo ser más eficaces, a continuación mejoran y ajustan su comportamiento en consecuencia.
Tras el nacimiento del el manifiesto y la “filosofía” ágil; tras años de experiencia, evolución y arduo trabajo desarrollando nuevas formas de aplicar el marco ágil, logramos comprender que no sólo es el conocer el manifiesto; es el aplicarlo a sabiendas del esfuerzo de cambiar día con día el “mind set” actual, también es construir dentro de nuestras empresas una cultura ágil enfocado siempre que podamos, no sólo mejorar el producto para la satisfacción del cliente, sino también formar una comunidad y asi adentrarse en el generar mayor conocimiento sobre los marcos ágiles.