En esta guía, vamos a explorar los principios de la metodología Agile y cómo se pueden aplicar este tipo de prácticas para mejorar el rendimiento y obtener una mayor eficacia en la gestión de proyectos.
La historia relacionada con la aparición de la metodología Agile puede rastrearse hasta finales de los años 50s (gestión de proyectos evolutiva) y a principios de los 70s (desarrollo adaptado de software). Sin embargo, la verdadera innovación en este campo llegó durante la década de los 90’s, en medio de la crisis de desarrollo de aplicaciones.
Como la implementación de una solución informática empresarial requería al menos 3 años, este plazo no correspondía con las necesidades crecientes de la industria. Esta preocupación dio origen a lo que se denominó como desarrollos de software lightweight (ligero) en respuesta a los métodos heavyweight (pesado), que eran demasiado regulados, micro gestionados y planeados.
Ante la necesidad de mayor rapidez y flexibilidad para la gestión de proyectos, fue así que aparecieron otros métodos. Entre los más destacados, están:
Esto ocurría antes de la aparición del Manifiesto Ágil, que vendría unos años después. Mientras que estos sistemas fueron catalogados bajo la premisa de la metodología Ágil, ocurrían cambios similares en la industria aeroespacial y de manufactura. Fue en 2001, durante una reunión en un complejo turístico de Snowbird (UT), que 17 desarrolladores darían forma a lo que hoy se conoce como el Manifesto for Agile Software Development.
A partir de ese momento, acontecieron otros hechos importantes que permitieron consolidar el desarrollo de software bajo esta filosofía:
La metodología Agile (o meodología ágil en español) es una forma de llevar a cabo el proceso de gestión de proyectos bajo el entorno del desarrollo de software. En este ámbito, las soluciones y exigencias evolucionan por medio del esfuerzo conjunto entre equipos de trabajo auto-organizados y multifuncionales y los clientes.
Producto del Agile Manifesto, la puesta en práctica de esta filosofía viene a superar las carencias que presentan los sistemas tradicionales, como el método en cascada. Dado que la industria del software es un mercado altamente competitivo, los desarrolladores deben disponer de mucha adaptación, rapidez y flexibilidad para generar innovaciones. Esta actualización continua de productos requiere una implementación que vaya más allá del enfoque lineal y secuencial.
Cuando diferenciamos las prácticas ágiles con el método Waterfall (cascada en español), encontramos 2 diferencias sustanciales:
El desarrollo de software en cascada segmenta el proyecto en varias etapas SDLC (Ciclo de vida del desarrollo de programas). Se tiene que completar una fase para luego pasar a la siguiente.
Existe un enfoque distinto en lo que se refiere a las pruebas y la gestión de calidad. Con el método Waterfall, primero hay una etapa de estructuración y luego una de ensayo. En cambio, con el sistema ágil tanto la programación como la prueba ocurren en una misma iteración.
El propósito de las iteraciones cortas consiste en tener una perspectiva que favorece más al producto que al proyecto. Esta conexión con el concepto de lean startup proporciona una mayor capacidad de pivotar durante el proceso de desarrollo. Además, permite una evolución del producto en función de las exigencias del mercado y los requisitos empresariales.
En contraste con un proyecto fijo que no se puede modificar a medida que se avanza, las pruebas en cada iteración sirven para validar el valor. La actualización del programa por partes facilita que los usuarios tomen mejores decisiones sobre cómo será el resultado final. Esta replaneación y retrospectiva ayuda a la adaptación de los equipos de trabajo para maximizar el valor. Esto se hace mediante el patrón PDAC: planeado, hecho, chequeado y, según los cambios, actuar de conformidad.
El Manifiesto Ágil representa una declaración que incluye 4 valores fundamentales y 12 principios sobre los cuales están sustentadas las prácticas de la metodología Agile. Su función principal es encaminarte para que puedas descubrir mejores formas de desarrollar software. Por eso te da una estructura clara y medible que promueve el trabajo en equipo, la iteración y el reconocimiento del cambio.
Los 4 valores de Manifiesto Ágil son:
Este enunciado hace referencia a la importancia que tiene el personal del equipo de trabajo para dar los resultados esperados. Los individuos capacitados, enfocados y con actitud positiva son los responsables de la culminación exitosa de un proyecto. En cambio, los procesos sirven como guía y las herramientas se emplean para mejorar la eficiencia.
No es un misterio que el siglo pasado las organizaciones comenzaron a dar más reconocimiento a los procesos que a la experiencia, talento y capacidad de los colaboradores. Esto propone la idea de que se puede alcanzar logros sin precedentes con un staff mediocre. En función de la creatividad e innovación, los procesos deben ser diseñados para fortalecer al negocio, aprovechar la tecnología y orientar al personal.
Este valor encierra la relevancia que tiene para las empresas la capacidad de ver de antemano las funcionalidades de prototipos o partes de un producto final. Esta condición de retroalimentación permite la gestación de ideas que no parecían factibles inicialmente. Este nivel de detalle no se puede lograr a través de un documento al empezar un proyecto.
La documentación solamente es necesaria para registrar, transferir conocimiento y cumplir la ley. En lo que respecta a la generación de valor del producto, el papeleo no debería interferir en la interacción con los prototipos y la comunicación entre empleados. Por eso tiene que usarse en lo mínimo requerido para dejar que la organización y el personal tengan mayor integración con el sistema.
Los acuerdos son documentos legales que establecen derechos y responsabilidades entre las partes, pero que no aportan valor. Implementando el modelo ágil, se busca un resultado exitoso mediante la intervención directa con el producto. En este caso, las consecuencias de la generación de valor no están sujetas al control de procesos.
Por este motivo, las prácticas ágiles están especialmente diseñadas para aquellos proyectos que no exigen un elevado nivel de detalle inicial. También son utilizadas para situaciones en que los requerimientos cambiarán mucho por la rapidez con que opera el negocio. En sí, se trata de promover un feedback continuo durante la etapa de desarrollo para optimizar los resultados.
Esta idea pretende darle más importancia a la capacidad de respuesta del trabajo en equipo durante la gestión de proyectos. La metodología Agile se nutre de habilidades como la anticipación y adaptación que difieren de la planificación tradicional que se rige por evitar la desviación del plan establecido.
Este principio deriva de que el desarrollo de software se maneja en contextos que cambian rápidamente y requieren un ajuste continuo a las necesidades que surjan.
Con la intención de complementar los 4 valores básicos, te presentamos los 12 principios del Manifiesto Agile:
Podemos establecer que la razón principal para implementar las prácticas ágiles tiene que ver con hallar el producto correcto según las circunstancias del mercado. En vez de comercializar un software antes de hacerlo, se busca optimizarlo a la par de su lanzamiento. Así puede ser lo más competitivo posible en la medida que vaya ajustándose a las necesidades de los usuarios.
Las técnicas ágiles pueden ser usadas tanto para proyectos de desarrollo de software, como para la creación de otros productos, como ordenadores, coches, música y más. Su aplicación va depender de cómo la organización quiere simplificar los procesos para conseguir mejores resultados. Puede implementarse en una empresa mediante la gestión de negocios, atendiendo aspectos como riesgo, estrategia, gobernanza, finanzas y más.
Como ejemplo de la puesta en práctica de las metodologías de gestión de proyectos, podemos mencionar a IBM. Esta megacorporación es una de las que reconoce la aplicación del Manifiesto Agile. Ellos alegan que les ha servido para ejecutar cambios organizacionales importantes.
Además de aumentar sus probabilidades de éxito, entiende que la orientación crítica para los equipos de trabajo minimizan los problemas relacionados con adopción, implementación y expansión de un producto.
A medida que la transformación digital y los modelos de negocios enfocados en el cliente se afianzan habrá más necesidad de incorporar la metodología ágil. Esto se debe a que les permite a las empresas entregar productos/servicios con menores costes, en plazos más cortos y con una gestión de calidad mucho más depurada.
Estas prácticas están diseñadas para el desarrollo de proyectos que requieren rapidez y flexibilidad en el cumplimiento de las necesidades de clientes. Ya que están enfocadas en los resultados, las compañías pueden gestionar sus objetivos con mayor nivel de adaptación, eficacia y autonomía, lo que también se refleja en el aumento de la productividad.
Estas metodologías de gestión de proyectos son capaces de elevar la productividad un 300%. Debido a sus valores y principios, el sistema Scrum ha sido uno de los que más aceptación ha encontrado en el mundo de los negocios. El énfasis en el talento, la interacción entre los equipos y la comunicación con el cliente, son esenciales para afrontar los retos y cambios que presentan los nuevos mercados.
La metodología ágil surge como un cambio de paradigma que vino a sustituir una estructura más pesada por otra más ligera para el desarrollo de software. Presentada como una solución más rápida y flexible que los métodos tradicionales, pretende superar las limitaciones del pasado. Esto ha hecho que su adopción esté ampliamente aceptada en la industria.
Entre sus ventajas principales, podemos mencionar:
Dentro de la filosofía ágil, los métodos están diseñados para que el desarrollo del producto se haga mediante pequeños avances que minimizan la planeación y diseño previos. Las iteraciones o sprints hacen referencia a cortos períodos de tiempo que suelen durar de 1 a 4 semanas.
En estas iteraciones trabajan equipos multifuncionales en diferentes áreas, como:
Cuando termina período de tiempo asignado, el equipo de trabajo les muestra una versión funcional a los accionistas de la empresa. Esto tiene como finalidad reducir el riesgo general y permitir una adaptación más rápida a los cambios exigidos.
Es posible que un sprint no aporte la suficiente funcionalidad como para un lanzamiento al mercado, pero la idea es sacar una versión con la menor cantidad de errores (bugs). El progreso está en la disposición de un software funcional.
Dentro de las prácticas ágiles, se utiliza la coubicación para que los colaboradores de un mismo equipo trabajen juntos, permitiendo mejorar su comunicación. Esto se hace para reducir los tiempos del ciclo que toma responder preguntas a través del chat, correo o teléfono. En cambio, favorece una interacción directa e idealmente frente a una pizarra.
Sin importar el método que se use (Kanban, Scrum, XP, etc.), cada equipo debe contar con un representante del cliente. Elegido por los accionistas, su función consiste en estar disponible para responder preguntas durante cada iteración.
Al final de cada fase, el representante y los accionistas revisan el progreso y revalúan las prioridades con el fin de optimizar el ROI para satisfacer las necesidades del usuario final.
La metodología agile cuenta con una serie de herramientas y técnicas específicas para asegurar la calidad y promover un desarrollo más ágil. Entre las más utilizadas, destacan la prueba automatizada de la unidad, diseño de patrones, refactorización del código, desarrollo basado en comportamiento, diseño basado en dominio, entre otras. Así se favorece la calidad desde el comienzo y se puede demostrar la funcionalidad del software en cualquier punto o al final de cada sprint.
El desarrollo de software ágil se distingue por tener una reunión (stand-up) diaria, también conocidos como scrum. Representa una sesión corta en la cual los miembros del equipo se informan entre sí sobre lo que hicieron el día anterior en función del objetivo de la iteración. También mencionan cualquier obstáculo que podría existir y lo que planean hacer ese día para acercarse más a la meta.
Mientras que las prácticas ágiles favorecen la productividad y están muy relacionadas con el lean startup, no carecen de dificultades. Debido a la complejidad del desarrollo de software, las desventajas más frecuentes son:
Para hacer esta diferenciación, tenemos que aclarar que el Manifiesto Agile es una filosofía que enmarca varios sistemas de trabajo, como el Scrum, Kaban, XP, Lean Startup, FDD, ASD, DSDM, RAD y otros más. Los valores y principios derivados de esta declaración son los que rigen las prácticas ágiles en estas formas de trabajar y gestionar proyectos.
Creado por Ken Schwaber y Jeff Sutherland (participantes del manifiesto), este framework se basa en 5 valores básicos: compromiso, coraje, respeto, apertura y enfoque. Lo que este sistema se diferencia de otros lo vemos en las tareas, eventos y roles que lo integran.
Empezando por las tareas, tenemos:
En los roles del equipo hay:
Con relación a los eventos, encuentras:
Kanban es una metodología ágil muy visual que favorece la visualización del flujo de trabajo. Tiene la finalidad de entregar la mayor calidad con respecto al servicio o producto mediante la identificación temprana de los cuellos de botella para corregir cualquier falla.
Fue un framework desarrollado por Toyota en los años 40s y posee 6 prácticas generales:
Entre sus recursos más utilizados, destacan:
Las tarjetas Kanban. Son tarjetas que señalan una tarea dentro del proceso. Son empleadas para mejorar la comunicación, ya que incluyen datos como: estatus, tiempo del ciclo y las fechas de entrega que vienen.
El tablero Kanban. Es una herramienta de manejo visual para detallar el proceso de desarrollo. Puede tratarse de un elemento virtual o físico, como una pizarra blanca, marcadores o notas. Sirve para uso profesional o para la productividad personal.
Los carriles (swimlanes) Kaban. Se trata de elementos visuales sobre el tablero que te permiten distinguir con más precisión una tarea mediante la categorización. Tienen una orientación horizontal y proporcionan un mejor entendimiento del flujo de trabajo.
La metodología ágil del framework XP está pensada para promover una mejor calidad de vida para los equipos de trabajo y también un producto de mayor calidad. Se fundamenta en 5 valores: respeto, feedback, valentía, comunicación y simplicidad. Se apoya en prácticas de ingeniería, que podemos resumir así:
Si estás pensando en incorporar la filosofía ágil en tu negocio, puedes recurrir a diversas fuentes para adquirir estos conocimientos u obtener tu certificación. Hay toda clases de organizaciones, fundaciones y portales online para aprender sobre estos métodos de forma paga o gratuita. Udemy o edX son buenas alternativas.
Te recomendamos los siguientes cursos ofrecidos por Udemy:
- Kanban para principiantes (haz clic aquí para verlo) que ya cuenta con más de 19,000 estudiantes.
- Scrum Master + Liderar Equipos Scrum y Ágil (haz clic aquí para verlo) que ya cuenta con más de 31,000 estudiantes.
Hemos visto que las metodologías de gestión de proyectos basadas en el Manifiesto Agile contribuyen a implementar procesos más flexibles y rápidos para el desarrollo de software. Asimismo, esta filosofía puede ser integrada a otros emprendimientos que valoran el trabajo en equipo efectivo, la colaboración con el cliente y los resultados de calidad.
Las prácticas ágiles pueden presentar diversos problemas con cierto tipo de proyectos y ser ineficientes cuando hablamos de grandes organizaciones. A pesar de su amplia aceptación dentro de la industria y de proporcionar una línea de ataque no lineal, algunos alegan que los equipos de trabajo que profesan esta mentalidad, simplemente han abandonado valores tradicionales sin internalizar los principios del Manifiesto Ágil.