¿Qué se debe entender por Ágil?¿Cuando aplicar Agile? ¿Aplica para todo tipo de proyectos?

Hace unas semanas escribí en mi perfil de Linkedin una consulta general:

“Teóricamente en cualquier proyecto de desarrollo se podrían aplicar metodologías ágiles. Sin embargo, he visto mejores resultados cuando se aplica para temas de canales de contacto directo con el cliente externo. En aplicaciones mainframe no he visto el mismo resultado. Estoy escribiendo un artículo y mi consulta es. ¿Existe algún criterio para NO usar AGILE y optar por métodos tradicionales?

Entre las respuestas tenemos las siguientes afirmaciones:

  1. A mayor incertidumbre, entorno cambiante y grado innovador del proyecto entonces es el Ambiente propicio para Agile. Escenarios más certeros mejor con un híbrido o el enfoque tradicional. (Milton Parra)
  2. Cuando uno trabaja solo con Agile (Metodologías Ágiles) nos quedamos cortos con la gestión de riesgo, rrhh, etc … (Jerónimo Medina)
  3. Agile es más un estilo de cómo podemos hacer las cosas pensando en las personas que trabajarán con el producto final más allá de ser un standard…se debe trabajar bajo el manifiesto agile. (Gerardo Germán)
  4. Dependerá del tipo de proyecto, del equipo, de la forma de trabajo, etc. Los híbridos hoy tienen una mejor entrada con las personas cuando no se conoce a pleno el tema ágil. (Johana Chuquino).

Hay más respuestas válidas e interesantes, pero por motivos del texto no las copio. Pueden ver mi perfil de Linkedin si desean más detalles: @Rayner1977

Agile

En este momento cuando se habla de Agile se mezclan conceptos como Lean, LeanStartUp, Squad, Scrum, Safe, Kanban, Agile PM, Agile Scrum, etc.. Se le llama Metodología, mejor práctica, etc.. Y se dice que aplica para el desarrollo de software, entrega de soluciones, etc.. Y recientemente nacieron conceptos como agile coach, agile office o agile team. El concepto de AGILE está entre todas estas. Veamos.

¿Qué es Agile?

Historia rápida

  • El movimiento Agile nació a mediados de los 90. Producto del descontento en la gestión de los proyectos de desarrollo con metodologías tradicionales. (todo era muy lento).
  • Se publica en 2001 el Manifiesto Agile, fruto de conversación entre 17 personas en el Lodge del Resort Snowbird, que dicta los principios que gobiernan AGILE. Dice lo siguiente:

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

Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.

Noten algunas cosas importantes del manifiesto:

  1. Habla de SOFTWARE. Es decir el manifiesto vigente esta relacionado a DESARROLLO.
  2. No menciona nada de HERRAMIENTAS, METODOLOGÍAS o FRAMEWORKS.
  3. El manifesto son 6 frases no 4 🙂
  • Las personas que lanzaron el manifiesto ágil eran representantes de Scrum, Extreme Programming, DSDM, Desarrollo de Software Adaptativo, etc. que se pusieron de acuerdo sobre principios básicos de agilidad.

Sin embargo, el concepto de Agilidad ha ido evolucionando y ampliando su impacto. Pasó de ser aplicado solo a desarrollo de software a una forma de actuar de las empresas. Veamos los siguientes conceptos.

Conceptos:

  • “Ágil es un set de métodos y metodologías que ayudan al equipo a pensar más eficientemente y tomar mejores decisiones” (Libro: Learning Agile: Understand Scrum, XP, Lean, and Kanban).
  • Ágil es también una forma de pensar (Mindset) que puede hacer una gran diferencia en como un equipo usar efectivamente las prácticas ágiles. (Libro: Learning Agile: Understand Scrum, XP, Lean, and Kanban).
  • El enfoque Ágil está basado en un Método de control empírico — un proceso de toma de decisiones basada en la realidad observada del proyecto actual. El control empírico requiere: transparencia, inspección frecuente y adaptación. Para lograr esto último los proyectos ágiles trabajan en “iterations” (pequeños segmentos de proyecto) (Libro: Agile Project Management for Dummies).
  • Ágil es una nueva forma de trabajar que nos permite movernos a gran velocidad, brindar gran valor y ser muy efectivos en lo que se quiere. (Youtube: What is Agile — Jim Kavanaugh — IBM 2015).
  • La cultura Ágil es importante porque hoy la velocidad es la nueva moneda. Permite comprender, diseñar, construir y desplegar soluciones como nunca antes. (YouTube: Building an Agile Enterprise: Jeff Smitch CIO IBM).
  • Agile es un set de valores y principios. Un conjunto de creencias que los equipos pueden usar para tomar decisiones sobre como hacer el trabajo de desarrollar programas (Youtube: What is Agile — Mark Shead)
  • Pero, ¿qué es eso del ‘Agile’? Metodologías ágiles, agilismo, agilidad, Agile,… recibe muchísimos nombres diferentes, pero en resumen es la filosofía de trabajo que utilizan las empresas más innovadoras para gestionar proyectos y que ayuda a las personas de una organización a trabajar codo con codo de una forma eficiente para lograr los objetivos de negocio. (El Confidencial — Alejandro Lazo)
  • “Los fundamentos ágiles pueden aplicarse a cualquier tipo de negocio… La agilidad corporativa se basa precisamente en la capacidad de una empresa de cambiar continuamente en base a las nuevas reglas, pero también debido a su propia capacidad de proponer nuevos escenarios”. (SolvingAdHoc)
  • Muchas empresas digitales están utilizando prácticas de desarrollo ágil para entregar productos y servicios a los clientes de manera más eficiente y con mayor fiabilidad. Utilizando este enfoque de desarrollo de software en todas las unidades de negocio y grupos de productos, los gigantes digitales han sido capaces de diseñar y construir características rápidamente, probarlas con los clientes y refinarlas y actualizarlas en iteraciones rápidas. (An operating model for company-wide agile development — McKinsey)

Entonces…..

  1. Ágil es un movimiento que nació para acelerar los desarrollos mediante la aplicación de diversas metodologías sin embargo con el paso del tiempo ha evolucionado y ampliado su impacto a través de toda la empresa.
  2. Ágil también se entiende como un grupo de metodologías que cumplan con el manifiesto ágil. Y cualquier metodología de desarrollo que cumpla con el Manifiesto se puede considerar Ágil también.

Ahora si podemos arriesgarnos a brindar un concepto:

“Ágil es una forma de hacer las cosas (productos, servicios, software) donde lo importante es entregar valor mediante la adaptación a las necesidades del cliente y la velocidad de entrega. Para lograrlo se basa en metodologías o frameworks que cumplan con el manifiesto ágil. Implica un cambio en la cultura de la empresa”.

(Rayner Huamantumba)

Ya, perfecto, Entendí. ¿Por donde empezar? ¿Cuáles son las herramientas?

Cuándo nos cuestionan sobre herramientas, ansiosos por la lista de tecnologías existentes  o una lista de buzzwords, (várias de estas herramientas que están de moda, sobre las que todos los desarrolladores, UXs, probadores, hablan todo el tiempo) les contestamos que precisan básicamente de 5 cosas:

  1. Un equipo dispuesto a compartir y aprender y que cumpla las ceremonias.
  2. Una pared en blanco, una ventana o una pizarra
  3. Plumones
  4. Postit
  5. Una cinta de color diferente de donde va a pegar los post it.

Veo la cara de decepción de algunas personas – y de verdad, me da algo de risa. Pero de todos los items arriba el más importante es el equipo y las ceremonias de cada framework, pues muchas iniciativas de implementación de cultura ágil fracasan por falta de continuidad y importancia a las sesiones de trabajo. Este es el principal papel de Agile Coach, garantizar que los problemas diarios no sea la excusa para no tener el Daily, o la retrospectiva.

«Ser ágil no es solamente poner post it en la pared, es cambiar la manera de pensar, la manera de ágil, poner el enfoque en los resultados y no en los problemas»

(Kefreen Batista)

Pero, ¿Por qué precisamos usar modelo Agile y no el tradicional?

Sabemos que existen diferentes modelos de gestión de proyectos creados y usados mucho antes de la gestión ágil, gestión de proyectos conocidos como Grant Chart. Utilizados en industrias de manufactura y construcción, algunos ejemplos son Lean Manufactura Lean, Modelo Taylor y Gestión Científica, etc..

W. Royce cuando publica su paper sobre Waterfall en 1970, define este modelo de desarrollo de proyectos como uno conjunto de procesos basada en actividades secuenciales, y aún en su presentación comentó que existía algunas malas prácticas en utilizarlo para el desarrollo de software. Principalmente pues software requiere cambios y evoluciones constantes, y que cambios estructurales no son aceptables en industrias tradicionales ej. Construcción.

Junto a este aviso, parece que todos que ahí estaban en la conferencia olvidaron esto y entendieron que se debería construir todas las suertes de software con la misma receta que se construye un edificio o se monta un carro.

Pero para los amantes de tecnología, podemos utilizar algunas herramientas:

  • Comunicación: Slack, Confluence, Team, (Por favor, Whatsapp no) ,etc.
  • Kanban: Trello, Jira, Pipefy, etc.
  • Documentación Colaborativa: Google Docs, Office 365, etc.
  • Video Conferencia: Hangout, Skype, Join.me, Zoom, etc.

 

«Si entregas un software solamente cuándo está al 100%, y este no atiende a la necesidad de usuario, perdiste 100% de todo el trabajo invertido y desperdiciaste tiempo. Entrega valor incremental y ajusta las entregas a lo que realmente le importa al usuario «

(Kefreen Batista)

Respondiendo la pregunta inicial

¿Existe algún criterio para NO usar AGILE y optar por métodos tradicionales?
  1. En el Agile Practice Guide del PMI, se muestra una imagen que puede ayudar a responder esto. Fig 2.5 incluye el término INCERTIDUMBRE para temas tanto técnicos como de requerimientos. Es decir, si la incertidumbre técnica es alta y los requerimientos no son conocidos desde el inicio o no se tienen claros entonces un esquema AGILE adaptativo es lo mejor que se puede usar.
  2. Incluso eligiendo metodologías Ágiles, dentro de un proyecto se pueden mezclar con metodologías tradicionales sin problema.
  3. Según los conceptos vistos se puede afirmar que. Toda empresa debe ser Ágil pero no todos los proyectos deben aplicar metodologías ágiles.

Finalmente.

Las metodologías y frameworks Ágiles

Ahora que tenemos claro el concepto de Agilidad, la pregunta sería.

¿Cúal de todos los métodos y frameworks debo usar?

Christopher Webb (Deloitte) realizó una brillante infografía relacionada a todas las metodologías relacionadas con agile. Las divide en: Scaling (planeamiento), LeaderShip, Iniciate, Discover, Deliver y Release.

Y sobre esta división, puso a los frameworks y metodologías ágiles más reconocidos hasta hoy.  Ubica tu proyecto/empresa dentro de este cuadrante y tendrás una idea mejor de que hacer y que usar.

Espero les haya servido, comenten y compartan.

Nota:

BBVA en un artículo dice “ En España, BBVA está utilizando la metodología ‘Agile, como una de las herramientas que impulsan su transformación digital. Distintos grupos de trabajo (‘scrums)”

Ver: https://www.bbva.com/es/metodologia-agile-la-revolucion-las-formas-trabajo/

Según los conceptos del presente artículo, ahora podemos afirmar que lo escrito por BBVA está mal. Ellos debieron decir que están usando SCRUM, una de las metodologías ágiles.

Referencias:

 

Una respuesta a “¿Qué se debe entender por Ágil?¿Cuando aplicar Agile? ¿Aplica para todo tipo de proyectos?”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *