El Agile Manifesto es una compilación de principios que se propusieron para mejorar los procesos de desarrollo de software.
Seguramente has oído hablar de las metodologías ágiles en tu empresa, o has visto vacantes de empleo en las que mencionan metodologías de trabajo ágil que debes conocer.
Como programador no es necesario que investigues exhaustivamente sobre el tema, pero si eres un profesional con experiencia en gestión de equipos de desarrollo deberías estar más inmerso en temas de coordinación y agilismo.
Tal vez comenzaste a trabajar en entornos de desarrollo con métodos rígidos como Capability Maturity Model Integration (CMMI), Software Process Improvement Capability Determination (SPICE) o Waterfall, pero ahora es momento de que entres definitivamente al mundo del agilismo.
El manifesto del que hablamos aquí tiene características que han servido de base para otros métodos que continúan evolucionando en mundo del desarrollo.
Aquí te explicamos mejor en qué consiste.
Las 4 reglas del Manifesto Agile
El esta compilación de principios se basan en 4 fundamentos:
- 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
Si bien los elementos posteriores a los que inician los enunciados son importantes, se hace énfasis en los primeros, ya que solo a partir de ellos se puede avanzar durante los procesos de trabajo e ir eliminando problemas que muchas veces no deberían tener mayor importancia.
A partir de estas 4 reglas nacieron los 12 principios del Manifesto Agile.
Los 12 principios del Manifesto Agile
El Agile Manifesto se concretó el 12 de febrero del año 2001, gracias a 17 críticos de los modelos de trabajo que hasta entonces habían reinado en los equipos de desarrollo de tecnologías.
El sitio en el que publicaron este manifesto continúa vigente hasta el día de hoy.
Las necesidades que surgieron ante el avance tecnológico exponencial en esa época llevaron a estos profesionales a crear los 12 principios que posteriormente tomarían el lugar de las estrategias formales y rígidas.
Los 12 principios son:
- La prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
- Los requisitos pueden cambiar, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
- Se entrega software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al período de tiempo más corto posible.
- Los responsables del negocio y los desarrolladores trabajan juntos de forma cotidiana durante todo el proyecto.
- 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.
- 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.
- El software funcionando es la medida principal de progreso.
- Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante de forma indefinida.
- La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
- La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
- A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.
Agile Management y el desarrollo de software
El Agile Management o Gestión Ágil consiste en trabajar con equipos utilizando metodologías ágiles para mejorar la productividad.
Una vez que nace el Manifesto Ágil comenzaron a nacer metodologías basadas en esos principios y cuya aplicación se adaptó a distintos campos de la tecnología.
Por ejemplo, la metodología Scrum se utiliza en entornos de desarrollo de software, mientras que DevOps utiliza estrategias basadas en agilismo para que los equipos de desarrollo y operaciones trabajen en conjunto.
Ambas metodologías pueden aplicarse al mismo tiempo pero sus objetivos inmediatos son distintos.
Si eres Project Manager, Arquitecto Cloud o CTO de una empresa, deberás conocer cómo aplicar metodologías ágiles basadas en los principios del Manifesto Agile.