Nociones básicas de metodologías ágiles

11 min read
28 de septiembre de 2023

El agilismo permite a las empresas ahorrar tiempo, adelantarse a la competencia, reducir los riesgos, mejorar en el tiempo de respuesta frente a los cambios y motiva a los equipos a trabajar con mayor autonomía.

En este artículo, exploraremos en profundidad el agilísimo y cómo está cambiando la forma en que las empresas en Colombia ahorran tiempo, se adelantan a la competencia, reducen riesgos y motivan a sus equipos a trabajar con mayor autonomía. Estos son los temas que encotrarás a continuación

Si estás leyendo este artículo es probable que ya hayas oído hablar sobre los marcos de trabajo ágiles como Scrum, Kanban y XP, que nos sirven para enfrentarnos a a todo tipo de problemas que tengan incertidumbre y complejidad, necesiten de retroalimentación y, eventualmente, hacer cambios en el camino. 

Hoy en día son muchas las empresas que trabajan con metodologías ágiles logrando una mayor adaptabilidad y capacidad de responder a los cambios que el mismo camino le muestra, además de tener información para tomar decisiones y generar valor. 

¿Qué son metodologías ágiles?

Las metodologías ágiles son una serie de prácticas, frameworks o marcos de trabajo que utilizamos para que las cosas sucedan. Están asociadas al Agilismo que se entiende como un conjunto de principios, valores y modelos mentales que nos permite enfrentar de una manera más efectiva la solución de los problemas.

En el pasado, la industria del software estaba acostumbrada a enfrentar problemas con métodos y maneras ‘tradicionales’, para predecir la solución, sin entender muy bien las incertidumbres. Es decir, cuando había un problema, los ingenieros suponían que lo resolverían con una determinada clave, entonces planeaban, diseñaban, desarrollaban y entregaban lo trazado; pero pasaban meses, y al final, se daban cuenta de que no era la solución.

Actualmente vivimos en un entorno VUCA que hace que las necesidades de las personas cambien constantemente. Esto supone un reto para las empresas que buscan innovar en el mercado ya que no se pueden enfrentar a escenarios adversos en los que sus productos y servicios no tienen el impacto que desean o no generan el beneficio que se pensaba.

El agilismo como movimiento nació a principios de este siglo  con el manifiesto para el desarrollo ágil, que tiene 12 principios, entre ellos, satisfacer al cliente mediante la entrega temprana y continua de software con valor y aprovechar el cambio para proporcionarle ventajas competitivas al cliente.

Al trabajar con metodologías ágiles, las personas no pueden predecir completamente la solución de los problemas, lo que sí pueden hacer es acercarse lo máximo posible, en pequeños períodos de entregas, y recibir retroalimentación del cliente en cada una de ellas. Si el camino está bien, hay continuar ese mismo, de lo contrario, buscar otros.

Conoce más sobre cómo el agilismo cambia la manera de enfrentar los problemas escuchando este podcast.

Principios del Manifiesto ágil

En el Manifiesto ágil se valoran más a los individuos e interacciones sobre los procesos y las herramientas, es más valioso un software funcionando que una documentación extensiva, asimismo, se valoran más a las personas y sus interacciones, que a los procesos y las herramientas. 

El Manifiesto ágil se crea en febrero de 2001 como una alternativa a las metodologías formales, de esta manera se crearon 12 principios sobre los que se basan los métodos ágiles: 

  1. Nuestra mayor prioridad es satisfacer al cliente, mediante la entrega temprana y continua de software con valor.

  2. Aceptamos que los requisitos cambien, incluso, en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.

  3. Entregamos un software funcional, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.

  4. Los responsables del negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.

  5. 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.

  6. 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.

  7. El software funcionando es la medida principal de progreso.

  8. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.

  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado es esencial.

  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos autoorganizados.

  12. A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para ajustar y perfeccionar su comportamiento en consecuencia.

En agilismo, deberíamos siempre estar pensando, diseñando, desarrollando en función del usuario, lo que al final va a determinar si algo es valioso, o no, a partir del uso y la satisfacción de la necesidad. Como vemos, uno de los principios del Manifiesto ágil dice que la principal prioridad es satisfacer al cliente, mediante la entrega temprana y continua, lo que resume el foco, y los otros valores complementan mucho ese. Los equipos reflexionan constantemente para encontrar maneras de ser más efectivos y ajustar sus comportamientos. 

Conoce más sobre lo fundamentos de agilidad en las memorias de este webinar:

¿Cuáles son los dos principios más importantes del agilismo?

La inspección y la adaptación: a partir del resultado, me inspecciono, me adapto y tomo decisiones. La inspección y la adaptación pueden darse desde muchas dimensiones: la forma cómo trabaja un equipo y los métodos que usa, entonces los integrantes se preguntan ¿estamos trabajando bien?, ¿nos analizamos? o ¿hacemos cambios?



"Ser ágil es inspeccionar el resultado, adaptarse y hacer ajustes con la retroalimentación del cliente."

 

Entonces tiene mucho que ver con las personas que están trabajando y las interacciones que tienen porque finalmente somos individuos que conformamos equipos para solucionar problemas que tienen otras personas, no es tener una fórmula mágica. La complejidad de los mismos usuarios y sus interacciones hacen que nos tengamos que enfrentar permanentemente a esas cosas inesperadas, los productos y relaciones en el mercado. 

En agilismo el papel del líder es clave para motivar e influenciar en el equipo, aprende más sobre este aspecto con el siguiente webinar:

 

Características de los Equipos ágiles

Los equipos de Alto Desempeño son aquellos que tienen cross-funcionalidad, que significa como un todo (como equipo), tienen todas las capacidades necesarias para resolver un determinado problema y no deberían depender de otras áreas o equipos, no quiere decir que sean superhéroes, que sepan de todos los dominios del conocimiento, pero entre ellos se complementan y aprenden.

"Son autoorganizados, eso significa que a partir de un objetivo y unas prioridades en función del valor, deciden cómo desarrollar la solución, toman ciertas decisiones y asumen riesgos y compromisos que les permite lograr los objetivos."

Normalmente, son equipos pequeños, algunos expertos dicen que lo ideal es de siete personas, pero no significa que uno de cuatro personas, o nueve, no funcione.

Tiene que ver con la complejidad de las relaciones de las personas, cuando tengo grupos grandes empiezo a tener mayor dificultad para que se organicen, para que los conflictos sean aceptables y tengan soluciones; es mucho más difícil que tengan esa cross-funcionalidad y resuelvan el problema por sí mismos.

Son equipos que pueden tener competencias de desarrollo de software y pruebas como normalmente los conocemos, pero también deberían incluir otras capacidades más allá de desarrollar líneas de código y probarlas, en nuestro caso es importante la participación de expertos en Experiencia de Usuario, en Arquitectura y Seguridad. Alrededor del equipo, pueden estar otras personas que apoyan el entendimiento de las necesidades y soluciones. 

Frameworks de trabajo ágil

Dentro de las metodologías ágiles podemos encontrar diferentes marcos de trabajo. Cada proyecto y cada compañía son únicos y deben conocer cuál framework se adapta mejor a sus necesidades, sin que esto represente que sean excluyentes. A continuación te presentamos las características de las 2 principales: Scrum y Kanban. 

1. Scrum

El Scrum es un marco de trabajo, un framework basado en los principios y valores del agilismo. Parte de la base de lo que se llama un product backlog o pila de producto, que está priorizada. Los equipos entienden las necesidades con la ayuda del product owner (dueño del producto) y establecen un compromiso para desarrollar cierta porción de esa pila de producto en el sprint (tiempos de entrega), que suele ser un periodo entre 15 o 30 días. Lo ideal es que se realice en máximo 15 días, ya que se puede reducir el espectro de errores o cambios en ese tiempo.

Los equipos empiezan a trabajar en el sprint, haciendo inspección y adaptación. Todos los días, se evalúan los compromisos, las cosas que se hicieron para acercarse a este y cómo se va a comprometer cada persona al siguiente día y si tiene algún impedimento, algo que lo está bloqueando, para seguir el objetivo del sprint.

El framework invita a tomar el proyecto que hay en mente y detallarlo a través de historias de usuario, que ayudan a conocer con profundidad todo el espectro del proyecto. Una vez realizadas, se define cuáles de esas historias dan valor al producto de manera inmediata.

"Uno de los aspectos más resaltantes del framework es que ayuda a la corrección de errores o a la adaptación de cambios en tiempos muy cortos."

El paso siguiente es tomar esas historias de usuarios que definimos en principio y dividirlas en sprints para entregar el mayor valor posible al producto, tomando en cuenta la velocidad del equipo de trabajo y la complejidad de las historias.



Cuáles son los roles de un equipo de Scrum?

  1. Product owner: es la persona que sabe cuáles son las necesidades de los usuarios, conoce el negocio de pies a cabeza y junto con él se definen las prioridades del proyecto.

  2. Scrum master: conoce todo el seguimiento del proyecto, se encarga de coordinar las reuniones, se preocupa por el rendimiento y la mejora continua del equipo, ayuda a quitar obstáculos que puedan presentarse durante el trabajo y hace de muro de contención para cuando llegan las presiones externas.

  3. Equipo de desarrollo: es el equipo conformado por el grupo de desarrolladores que se encarga del cumplimiento de las actividades del proyecto.

  4. Usuarios o stakeholders: son las personas para quienes esta dirigido el proyecto, es decir, los usuarios finales que utilizarán el producto que estamos desarrollando, tal y como lo indica su término en inglés, son “las partes interesadas”.


¿Qué se realiza en el proceso de Scrum?

  1. Product backlog: según la guía de Scrum, la Lista de Producto es una lista ordenada de todo lo que podría ser necesario en el producto, y es la única fuente de requisitos para cualquier cambio a realizarse en el producto. La Lista de Producto enumera todas las características, funcionalidades, requisitos, mejoras y correcciones que constituyen cambios a ser hechos sobre el producto para entregas futuras. Los elementos de la Lista de Producto tienen como atributos la descripción, la ordenación, la estimación y el valor.

    La idea es conseguir la historia más sencilla dentro de las que tenemos. No significa necesariamente la más fácil de realizar, sino la que todos los miembros del equipo sepan cómo hacerla para que se convierta en el común denominador.  Puntuar es una actividad que se realiza dentro del proceso de Scrum y nos ayuda a dar puntuaciones altas a historias complejas y bajas a historias más sencillas. Con base en eso podremos conocer la cantidad de puntos a los que puede comprometerse un equipo durante una iteración o sprint.

  2. Sprint backlog: Según la guía de Scrum, es el conjunto de elementos de la Lista de Producto seleccionados para el Sprint, más un plan para entregar el Incremento de producto y conseguir el Objetivo del Sprint.

  3. Burndown chart:  es una herramienta para facilitar la visibilidad en el progreso hacia la entrega de valor y el cumplimiento del compromiso establecido por el equipo en la reunión de planeación, mediante elementos del backlog terminados a lo largo del sprint representados en puntos de historia de usuario

    Es una gráfica que nos permite conocer el avance del equipo, que cruza los días del sprint contra los puntos prometidos. De esa forma, el product owner puede estimar si el desarrollo va lento o si, por el contrario, el equipo puede producir más puntos del que se comprometió en este sprint.

¿Cuáles son los pasos o ceremonias que contempla Scrum?

Sprint planning

Consiste en una reunión con los miembros del proyecto. Los únicos de los que se puede prescindir en esta reunión serían los stakeholders. En ella se toman todas las historias de usuarios ya priorizadas previamente y se decide sobre cuáles de estas se realizarán en el sprint. Se reparten las actividades entre los miembros del equipo y se establece la cantidad de puntos con las que se va a comprometer el equipo en ese sprint.

Daily Scrum

Es un proceso iterativo que se realiza diariamente con todos los integrantes del equipo de trabajo, una reunión de máximo 15 minutos (algunos suelen usar 30 minutos), en la que se discute el desarrollo que ha tenido el sprint y solo se permite responder cuatro preguntas a cada integrante del equipo: ¿Qué ha realizado desde el último daily? ¿Qué va a realizar hoy? ¿En qué tiene obstáculos? ¿O en qué le puedo ayudar el equipo?

Sprint review

Al final del Sprint se lleva a cabo una revisión de Sprint para inspeccionar el Incremento y adaptar la Lista de Producto si fuese necesario. Durante la revisión de Sprint, el Equipo Scrum y los interesados colaboran acerca de lo que se hizo durante el Sprint. Basándose en esto, y en cualquier cambio a la Lista de Producto durante el Sprint, los asistentes colaboran para determinar las siguientes cosas que podrían hacerse para optimizar el valor. Se trata de una reunión informal, no una reunión de seguimiento, y la presentación del Incremento tiene como objetivo facilitar la retroalimentación de información y fomentar la colaboración.

Sprint restrospective

Es una oportunidad para el Equipo Scrum de inspeccionarse a sí mismo y crear un plan de mejoras que sean abordadas durante el siguiente Sprint.

 

2. Kanban 

El método Kanban tiene como objetivo gestionar de manera ágil el flujo de trabajo de una compañía. 

Kanban tiene dos significados en japonés: Kanban escrito en Kanji significa “señal” o “tablero visual grande”; y Kanban escrito en alfabeto hiragana, significa “tarjeta”.

Kanban es un sistema de método visual o sistema de información que permite controlar de manera fluida una producción, desde el inicio hasta el final, adaptando un sistema pull que permite pasar de una tarea a otra, beneficiando la entrega de valor continua de los productos. Conoce más a profundidad cómo funciona este método con este webinar: 

 

Principios del método Kanban

Para tener un mayor rendimiento utilizando el método Kanban debemos aplicar los siguientes principios:

  1. Comenzar con lo que está haciendo ahora, respetando los procesos, roles y responsabilidades existentes.
  2. Entender las necesidades y expectativas del cliente y focalizarse en ellas. Todas las actividades incluidas en el tablero deben apuntar a una solución.
  3. Gestión del trabajo. Las personas son las que deben autoorganizarse alrededor de las tareas asignadas. Por eso es importante contar con un equipo autogestionado.
  4. Acordar la mejora continúa. El uso de la metodología Kanban tendrá como fin entrega de valor, la mejora de los tiempos y la resolución de problemas.
  5. Una revisión constante de la red de servicios y políticas.
  6. Fomentar el liderazgo en todos los niveles de la organización. 

Cómo aplicar el método Kanban

El método Kanban es como comerse a un elefante, es una tarea que requiere de organización y trabajo en equipo. Aquí te explicamos los pasos básicos, si deseas profundizar aprende a aplicar el método Kanban

  1. Definir el objetivo de trabajo con el equipo. Todos deben estar alineados con el propósito de proyecto y conocer muy bien cuál es el resultado que se espera.
  2. Dividir el proyecto en partes, entre más pequeñas mejor. En este paso se hace uso de las tarjetas Kanban, para escribir en cada una de ellas la actividad que se requiere para cumplir el objetivo definido.
  3. Ir realizando cada tarea. El tablero Kanban debe estar dividido en mínimo 3 columnas: pendientes, en proceso, terminadas. A cada tarjeta se le asigna un responsable y una fecha de compromiso de entrega. Las tarjetas deben ir moviéndose en las columnas a medida que vamos avanzando en su realización.  

Puedes implementar Kanban usando Trello, una herramienta que permite la visualización y la gestión del trabajo en progreso de una manera más ágil. 

Ventajas y desventajas del método Kanban

El método Kanban tiene pros y contras en su implementación. Aquí te daremos los conceptos básicos.

Ventajas del método Kanban

Desventajas del método Kanban
Generación de valor.
Mejora la productividad
Puede incurrir en costos elevados sino se controla el ingreso de lotes de trabajo.
Flujo de trabajo organizado y claro  Limitación en la asignación de tareas cuando se tienen trabajos muy especializados
Mayor cumplimiento en los tiempos de entrega  Su aplicación no es apta para todo tipo de proyectos 
Asignación de tareas claras para todos los miembros Podría existir un desbordamiento de trabajo si no se aplica las políticas que Kanban
Mejora la calidad del producto entregado   
Flexibilidad en la elaboración del producto acorde a los cambios del mercado   

 

Agilismo en Colombia

En definitiva, cada vez más empresas del sector tecnológico y bancario usan el agilismo para resolver problemas complejos, enfrentar el cambio, adelantarse a la competencia y a lo que quieren sus usuarios

Empresas exitosas como Spotify, Amazon y Airbnb trabajan para innovar cada día con metodologías ágiles, les dan autonomía a sus equipos, aprenden de los errores y potencian un trabajo colaborativo para ser líderes en el mercado e inspirar a nuevos emprendedores.

Pero en Colombia no nos quedamos atrás, gracias al agilismo empresas como Bancolombia han logrado un crecimiento acelerado en sus procesos. Y en el caso de Nequi, el agilismo ha contribuido a la creación de innovadores productos como el Préstamo Paracaídas, un desarrollo en tiempo récord.

 

La mejora constante y el desarrollo ágil son la clave para crear activos digitales que mejoran la vida de la gente. Alcanza tus objetivos de negocio a través de equipos de alto desempeño: 

Conversemos

Suscríbete al
Blog Pragma

Recibirás cada mes nuestra selección de contenido en Transformación digital.

Imagen form