¿Cuáles son los valores y principios de Agile? Han pasado veinte años del Manifiesto ágil, la conocida declaración para transformar la forma de desarrollar software hacia métodos más flexibles y adaptables a entornos cambiantes. En la actualidad, las metodologías ágiles están ampliamente extendidas en las organizaciones, si bien muchas creen que aplican sus principios efectivamente cuando realmente solo pasan por encima de ellos. Además, el mundo del desarrollo de software ha cambiado notablemente en los últimos años. Por todo ello, en este artículo vamos a revisitar los 4 valores y 12 principios de Agile que fueron difundidos en esta declaración. Concretamente, veremos en qué consisten y qué papel siguen desempeñando en el desarrollo de software a día de hoy.
¿Qué es el Manifiesto ágil?
El Agile Manifesto, Manifiesto ágil o Manifiesto para el desarrollo de software ágil es una declaración de valores y principios sobre nuevas formas de desarrollar software que surgió en 2001, como reacción a los tradicionales métodos formales con los que se trabajaba entonces en la industria.
En 2001, diecisiete informáticos críticos de los métodos de desarrollo de software basados en procesos se reunieron en Utah para reflexionar sobre nuevos modos de crear software. En ese encuentro acuñaron el término metodologías agiles para referirse a aquellas (Extreme Programming, Scrum, DSDM, etc.) que estaban surgiendo como alternativa a los métodos formales (como CMMI o SPICE), a los que consideraban demasiado rígidos por su carácter normativo y las planificaciones exhaustivas previas al desarrollo que requerían.
Los participantes del encuentro resumieron los fundamentos de estos nuevos métodos en el llamado Manifiesto ágil del desarrollo de software. A continuación, veremos en detalle los 4 valores y 12 principios que promulga.
Los 4 valores del Manifiesto Agile
Los impulsores del Manifiesto ágil compartían una serie de valores y promovieron modelos de organización centrados en las personas y la colaboración. Esencialmente, buscaban ofrecer buenos productos a los clientes operando en un entorno que pasase de hablar de las personas como “el activo más importante de las compañías”, a actuar como si realmente lo fueran y dejasen de ser un mero “activo”.
Estos son los 4 valores sobre los que se fundamentan las metodologías ágiles:
Individuos e interacciones por encima de procesos y herramientas
El primero de los valores que promueve el manifiesto es que las personas son lo más importante, por encima de los procesos y las herramientas por su capacidad para ser creativas e innovar. Los procesos y las herramientas deben servir de apoyo para que las personas cumplan sus objetivos.
De este modo, este enunciado plantea que, aunque los procesos son de ayuda para guiar el trabajo, deben adaptarse a la organización, los equipos y las personas, y no al revés. Asimismo, defiende que aunque las herramientas mejoran la eficiencia, no consiguen resultados por sí solas.
Además, en una realidad cada vez más cambiante, los procesos y las herramientas deben adaptarse rápidamente. Para lo que es fundamental que las personas propongan cambios o se adapten inmediatamente.
Como veremos más adelante, son muchos los principios de Agile que se centran en las personas para conseguir el éxito en los proyectos de software.
Software funcionando por encima de documentación exhaustiva
Esta afirmación sostiene que ver cómo se comportan las funcionalidades esperadas en software funcionando es más valioso que un documento muy detallado de requisitos, que además será muy difícil de crear antes del desarrollo de un proyecto por la inestabilidad de su naturaleza.
Según este valor, es más interesante el feedback temprano que pueden dar los usuarios al interactuar con un prototipo o con el producto parcial. Ya que permitirá a los usuarios tomar decisiones sobre el producto y ayudará al equipo a tener más claro qué desarrollar.
El Manifiesto Agile no renuncia a la documentación del software (que sigue considerando interesante como soporte y en otras cuestiones), pero defiende que genera menos valor que el software en funcionamiento. Por lo que se debería reducir a lo mínimo indispensable.
Como veremos más adelante, las metodologías ágiles conciben el software en funcionamiento como la medida fundamental para conocer el progreso.
Colaboración con el cliente por encima de negociación contractual
De nada sirve entregar un producto a los usuarios que ya no es relevante para ellos. Este valor defiende que, en entornos cada vez más cambiantes, tiene más sentido ir creando el producto con una retroalimentación continua durante su desarrollo, que cumplir a rajatabla lo pactado de antemano.
En desarrollo ágil, el cliente es un miembro más del equipo. La colaboración continua con él genera más valor que el cumplimiento estricto de un contrato, que no hace más que crear barreras y delimitar responsabilidades.
Las metodologías ágiles son especialmente útiles cuando es difícil definir los requisitos del producto desde el principio, cuando hacerlo conllevaría entregar menos valor al final que si vamos enriqueciendo el producto con feedback continuo o en entornos comerciales que cambian rápidamente en los que los requisitos son muy inestables.
Respuesta ante el cambio por encima de seguir un plan
El cuarto de los valores de Agile habla de que no tiene sentido utilizar planteamientos rígidos en escenarios volátiles como el del desarrollo de software. Es más valiosa la capacidad de respuesta y adaptación a los cambios que la de seguir y asegurar el cumplimiento de los planes preestablecidos.
Las metodologías ágiles promueven la anticipación y la adaptación, frente a la planificación y el control que proponen las fórmulas de gestión tradicionales. Y, como veremos ahora en sus principios, el manifiesto lleva esta idea un paso más allá, al sugerir el aprovechamiento de los cambios como una ventaja competitiva para las organizaciones.
Estos son los cuatro valores que propone el Manifiesto ágil. Si bien, conviene aclarar que, con ellos, los firmantes de esta declaración no renuncian por completo a todos los componentes de las anteriores metodologías (procesos, documentación, contratos y planificación). Simplemente le dan más importancia a los elementos que colocan en la izquierda de estos cuatro enunciados (personas, software funcionando, colaboración y respuesta al cambio). Así, por ejemplo, están a favor de documentar pero con sentido y de planificar, pero siendo conscientes de los límites de hacerlo en entornos turbulentos.