Introducción a Agile

Photo by David Travis on Unsplash

Disclaimer

Con este post, quiero empezar una serie de artículos mediante los cuales voy a contaros mis experiencias, descubrimientos y aprendizajes en las denominadas metodologías Ágiles.

Vaya por delante que para nada me considero experto en estos métodos, pues justamente estoy empezando con el aprendizaje de los mismos de forma totalmente autodidacta.

Estos artículos son a modo de contaros mis aprendizajes y sobre todo a modo de fijar por escrito el conocimiento adquirido.

Estoy seguro de que como cualquier persona que se inicia en cualquier disciplina, cometeré errores de concepto y aprendizaje. Tan solo pido a los Agilistas Profesionales y experimentados, que tengan a bien corregir mis errores de forma educada y objetiva para que de ello pueda corregir, mejorar y aprender de forma positiva.

Origen

Las metodologías denominadas Ágiles, tienen su origen en el mundo del desarrollo del software. No obstante se ha probado su eficacia en muchísimos sectores profesionales, y a día de hoy algunas de estas metodologías, son plenamente válidas y operativas para gestionar proyectos y equipos de trabajo de cualquier tipo.

Periodistas, Fuerzas de venta, Equipos de investigación, Equipos de desarrollo son solo unos pequeños ejemplos de la aplicación de metodologías Ágiles en los diferentes sectores profesionales.

El método tradicional de gestión de proyectos

Tradicionalmente, en el desarrollo de Software, el método de gestión de proyectos más habitual, ha sido el denominado “Sistema de desarrollo en cascada”.

Esta denominación viene dada por la posición de las fases en el desarrollo del proyecto, las cuales parecen caer en cascada una debajo de otra avanzando hacia la siguiente fase.

Este enfoque metodológico, ordena las etapas del proyecto de tal manera que el inicio de cada fase o etapa, ha de esperar a que la etapa anterior finalice.

Este sistema, ampliamente utilizado, tiene algunas desventajas frente a las denominadas metodologías Ágiles.

Los proyectos, rara vez cumplen las previsiones establecidas, por lo que con frecuencia al poco tiempo de haber empezado el proyecto, el sistema de gestión en cascada por fases, está desactualizado y muestra información irreal.

Los proyectos extrañamente siguen una secuencia lineal, urgencias, imprevistos, errores… hacen que el modelo en cascada tenga que ser replanteado y re dibujado frecuentemente.

La jerarquía de fases en cascada, impiden que se pueda empezar a desarrollar otra fase si no se ha terminado previamente la fase anterior.

Si se detectan errores en la fase actual del proyecto, hay que volver al inicio de la misma o a la fase anterior para poder corregir los errores detectados, con tal de que no afecten a la siguiente fase a desarrollar.

Gestión de proyectos con metodologías Ágiles

El termino moderno de “Desarrollo de Software Ágil”, evolucionó a mediados de la década de los 90 como reacción a los métodos tradicionales de gestión de proyectos de software basados en el sistema de gestión en cascada.

Los sistemas de gestión en cascada, son sistemas extremadamente estructurados, estrictos y poco o nada dinámicos, lentos y burocráticos, orientados a documentar en exceso las fases, procedimientos, peticiones y requerimientos del proyecto.

El desarrollo de software ágil, pivota sobre un enfoque basado en la toma de decisiones, apoyado sobre un desarrollo iterativo e incremental del proyecto.

Con este enfoque, los requisitos del proyecto y las soluciones aportadas, evolucionan según la necesidad del proyecto.

El trabajo se realiza mediante la colaboración de equipos con capacidad de auto-organizarse. Estos equipos son multidisciplinares, compartiendo la toma de decisiones a corto plazo.

Ciclo de vida

El ciclo de vida de un proyecto, son las fases por las que el responsable o responsables del proyecto, pueden dividirlo. El conjunto de las fases, se conoce como ciclo de vida.

Así pues, un ciclo de vida básico podría ser:

Iteración del ciclo de vida

Iteración, significa el acto de repetir un proceso con la intención de alcanzar una meta deseada, objetivo o resultado. Cada repetición del proceso, se le denomina iteración, y los resultados de una iteración se utilizan como punto de partida para la siguiente iteración.

En la gestión de proyectos, las iteraciones, se refieren a la técnica que contempla el desarrollo y la entrega de componentes del proyecto de forma incremental. De forma habitual, esta asociación se realiza con el desarrollo ágil de software, pero perfectamente se puede asociar a cualquier otro tipo de proyecto e incluso a la gestión de equipos y actividades que no estén relacionados con ningún proyecto en concreto.

Ejemplo de una iteración siguiendo la metodología Scrum

Fuente: Wikipedia

En el desarrollo de software, cada iteración del ciclo de vida del proyecto incluiría la Planificación, Análisis de requisitos, Diseño, Codificación y Pruebas, teniendo gran importancia la fase de “Completado”, debido a que el objetivo de cada iteración, no es dotar de toda la funcionalidad para justificar el lanzamiento del producto, si no todo lo contrario, incrementar el valor de la entrega, mediante el lanzamiento de pequeñas actualizaciones del software, pero plenamente funcional, operativo y sin errores.

Comunicación ante todo

Las metodologías ágiles, hacen énfasis especial en las comunicaciones cara a cara, en lugar de documentar. La gran mayoría de equipos de trabajo que utilizan metodologías ágiles, están localizados en oficinas abiertas y diáfanas, y se rigen por reuniones frecuentes. En función de la metodología y el equipo, lo más habitual es realizar pequeñas reuniones diarias para analizar como ha ido el trabajo del día anterior, que impedimentos se han encontrado que han dificultado la realización de determinadas tareas, y que previsión de trabajo tiene el equipo para el día en curso. También es frecuente en función de la metodología, una reunión post iteración para analizar como ha ido el desarrollo de la iteración en si, que se ha podido entregar, que no se ha podido entregar, porqué y como superar las dificultades que han impedido la entrega.

Resumen

Como has podido apreciar, las metodologías Ágiles, tienen su origen en el campo del desarrollo de software, sin embargo, debido a su probada eficacia, ha llegado un punto en que las metodologías Ágiles se pueden utilizar para desarrollar prácticamente cualquier tipo de actividad.

Metodologías Ágiles en equipos de venta

Los equipos de venta pueden adoptar el uso de metodologías ágiles, por ejemplo para realizar:

  • Iteraciones de campañas de venta en base a objetivos mensuales o trimestrales.
  • Iteraciones de campañas de venta desarrolladas por sus departamentos de marketing.
  • Iteraciones de campañas de venta en base a estacionalidad de sus productos.
  • Iteraciones de campañas de venta en base a la captación de nuevos clientes.

Metodologías Ágiles en equipos de investigación y desarrollo

Los equipos de I+D, pueden beneficiarse de las metodologías Ágiles por ejemplo para realizar:

  • Iteraciones sobre nuevas funcionalidades de un producto a desarrollar
  • Iteraciones sobre el desarrollo de un nuevo producto
  • Iteraciones sobre estudios científicos

Metodologías Ágiles en equipos de Márketing

Los equipos de Marketing, pueden beneficiarse de las metodologías Ágiles por ejemplo para realizar:

  • Iteraciones en diferentes campañas de redes sociales
  • Iteraciones para el desarrollo de contenido para un blog
  • Iteraciones para desarrollar campañas de Marketing
  • Iteraciones para el desarrollo de nuevos catálogos o folletos

Metodologías Ágiles en equipos financieros

Los equipos financieros, pueden beneficiarse de las metodologías Ágiles por ejemplo para realizar:

  • Iteraciones en campañas de impuestos
  • Iteraciones para la realización de informes mensuales, trimestrales o anuales

Metodologías Ágiles para la gestión personal de tareas y proyectos

¿Se pueden aplicar los principios de las metodologías Ágiles para la gestión personal de tareas y proyectos? Sin duda Si. Con adaptaciones, pero si, es posible.

Si eres Freelance o Autónomo, puedes utilizar las metodologías Ágiles para realizar iteraciones que conlleven el desarrollo de tu producto o servicio. También puedes utilizar las metodologías Ágiles, para llevar a cabo los proyectos para los que te contratan.

¿Y si trabajo en una oficina?

Nadie impide que te gestiones y organices tu trabajo como tu mejor convengas.

Como profesional del conocimiento, puedes desarrollar tu trabajo basándolo en iteraciones que contemplen las tareas clave, que aporten valor a tus resultados y objetivos.

Puedes definir un ciclo de vida para tus tareas en función de las fases más habituales por las que estas pasan habitualmente. Tu y nadie mejor que tu conoce ese ciclo de vida. En función del tipo de responsabilidades que ejerzas, puedes tener definidos diferentes ciclos de vida para tus tareas.

En la gestión de proyectos siguiendo metodologías Ágiles, es frecuente ver los ciclos de vida implementados en tableros Kanban, físicos con Post-its o virtuales con herramientas como MeisterTask o Trelloentre otras, pero eso lo veremos más adelante.

Ciclo de vida: Ejemplo 1

Ciclo de vida: Ejemplo 2

¿Y tu, cómo gestionas tus proyectos?

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.