Metodologías

Kanban vs Scrum

Kanban vs Scrum, te ayudamos a elegir la metodología más adecuada para tu proyecto con esta completa comparativa.

Publicado el 23 de Diciembre de 2019
Compartir

No sé si lo sabes, pero en el mundo empresarial hay una guerra, y no una guerra cualquiera. Se trata de vencer al mayor enemigo imaginable, desperdiciar tiempo y optimizar procesos. Seguro que te has encontrado alguna vez en una reunión interminable donde la toma de decisiones no llegaba a concretarse lo suficiente como para dar avance al proyecto donde trabajabas. Esta situación se da mucho más a menudo de lo que creemos y no es algo nuevo, las organizaciones llevan buscando soluciones desde incluso antes de la gran crisis del software.

Para ponernos en situación, durante los años 60 los desarrolladores de software comenzaron a notar que cada vez era más complejo finalizar un proyecto. Las técnicas que se utilizaban en la época para programar se estaban quedando obsoletas y generaban incluso más problemas de los que resolvían.

En 1968 surge por primera vez el término “Crisis del software” durante una conferencia elaborada por la OTAN donde Friedrich L. Bauer hacía mención detallada de este conjunto de dificultades, errores de planificación y costes que afectaban al sector.

Claro está que hablamos de los años 60, una época donde había quien pensaba que la programación debía ser considerada un arte, una actividad más creativa que disciplinaria en donde cada programador, cual maestro sin educación formal, iba improvisando sobre la marcha a base de prueba y error. Como era lógico, la calidad del software y la productividad de los equipos no era la más deseable.

Pero volviendo a la época actual, las cosas han cambiado mucho desde entonces. En la actualidad existen diferentes métodos o marcos de trabajo para permitir un desarrollo ágil de software. Quizá los más conocidos son Kanban y Scrum. Qué son, en qué se diferencian y qué ventajas presentan es lo que hablaremos en este artículo.

Aplica metodologías ágiles en tus proyectos de desarrollo
Cursos, talleres y laboratorios para aplicar metodologías ágiles de desarrollo en cualquier proyecto, aprendiendo Scrum, Planning Póker, Design Thinking y más.
Comenzar gratis ahora

Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas funcionan como pilares que se apoyan entre sí y que tienen como centro el estudio de la manera de trabajar en equipos altamente productivos. Entre sus características tenemos:

  • Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto.
  • Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos auto-organizados, que en la calidad de los procesos empleados.
  • Solapar las diferentes fases del desarrollo en lugar de realizar una tras otra en un ciclo secuencial o en cascada.

Kanban es un método para gestionar el trabajo intelectual con énfasis en la entrega puntual, mientras no se sobrecarguen los miembros del equipo. En este enfoque, el proceso, desde la definición de una tarea hasta su entrega al cliente, se muestra para que los participantes lo vean y los miembros del equipo tomen el trabajo de una cola.

Kanban se puede dividir en dos partes:

  • Kanban - Un sistema de gestión de proceso visual que le indica qué producir, cuándo producir, y cuánto producir.
  • El método Kanban - Una aproximación a la mejora del proceso evolutivo e incremental para las organizaciones.

Comparativa Scrum vs Kanban

Scrum

Kanban

Enfocado al producto

Enfocado en los plazos de entrega

El trabajo se realiza dentro de los sprints en plazos de tiempo determinados, generalmente de 2 a 4 semanas.

 

El objetivo es producir un producto potencialmente entregable después de cada sprint.

No hay sprints de longitud fija. En cambio, los equipos marcan una lista de cosas prioritarias que deben hacerse y tras esto las mejoras se van implementando sobre la marcha.

 

Producto se lanza en una cadencia particular, que está determinada por la longitud de los sprints. Por lo tanto, un equipo suele lanzar el producto después de 3 sprints, o cada 6 semanas.

Los lanzamientos ocurren continuamente, o siempre que se crea un producto que se puede enviar.

Hay un enfoque fuertemente pensado en la funcionalidad cruzada. Los equipos no tienen roles específicos: todos son "especialistas en marketing".

Los miembros del equipo pueden especializarse y extraer tareas relacionadas con su área de especialización, pero demasiada especialización puede reducir la efectividad de un equipo.

El inicio del sprint, las paradas diarias, las revisiones de sprint y las retrospectivas de sprint son rituales vitales dentro del proceso Scrum

Se hace hincapié en la mejora continua de los procesos, pero no hay reuniones regulares o rutinas estandarizadas.

Ventajas y desventajas de Scrum

Toca enumerar las ventajas y desventajas de Scrum como marco de trabajo. A grandes rasgos, Scrum define un conjunto de prácticas y roles que sirven de punto de partida para definir los procesos que se seguirán durante el desarrollo en un proyecto. Entre sus ventajas encontramos:

  • Dirigido al equipo: Scrum permite la creación de equipos auto-organizados impulsando la co-localización de todos los miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas involucrados en el proyecto. Los roles principales en Scrum son el Scrum Master, que procura facilitar la aplicación de Scrum y gestionar cambios, el Product Owner, que representa a los stakeholders (interesados externos o internos), y el Team (equipo) que ejecuta el desarrollo y demás elementos relacionados con él.
  • Evita el Context Change: El equipo de desarrollo toma la decisión en la que va a trabajar durante el Sprint sin interrupciones por parte de factores externos.
  • Dirigido al cliente: Permite la gestión regular de las expectativas del cliente, resultados anticipados, flexibilidad y adaptación, retorno de inversión, mitigación de riesgos, productividad y calidad, alineamiento entre cliente y equipo y equipo motivado. Si un requerimiento es ambiguo o muy grande, éste se rechaza ya que no cumple con la definición de listo (Definition of Ready) . En su lugar se entrega lo que es posible durante un Sprint y el cliente puede familiarizarse ajustando sus expectativas.
  • Ahorro de tiempo y retroalimentación: Promoción de pocas reuniones pero efectivas. Se realiza a diario una reunión de Scrum, que es una reunión de avance diaria que no dura más de 15 minutos con el objetivo de obtener realimentación sobre las tareas del equipo y los obstáculos que se presentan.

Cada uno de estos puntos mencionados hacen que el Scrum sea utilizado de manera regular en un conjunto de buenas prácticas para el trabajo en equipo y de esa manera obtener resultados posibles

Scrum es a su vez una metodología flexible que permite a equipos organizarse del modo que sea más eficaz para el cumplimiento de los objetivos pautados. Así, existen varias implementaciones para gestionar el proceso de Scrum. Algunas van desde notas amarillas o “post-it” y pizarras hasta paquetes de software en donde se definen tres columnas, En ellas cualquier miembro del equipo podrá ver en qué proceso se encuentran las tareas en qué están trabajando los demás: trabajo pendiente ("backlog"), tareas en proceso ("in progress") y hecho ("done").

La metodología se basa en:

  • El desarrollo incremental de los requisitos del proyecto en bloques temporales cortos y fijos.
  • Se da prioridad a lo que tiene más valor para el cliente.
  • El equipo se sincroniza diariamente y se realizan las adaptaciones necesarias.
  • Tras cada iteración (un mes o menos entre cada una) se muestra al cliente el resultado real obtenido, para que este tome las decisiones necesarias en relación a lo observado.
  • Se le da la autoridad necesaria al equipo para poder cumplir los requisitos.
  • Fijar tiempos máximos para lograr objetivos.
  • Equipos pequeños (de 3 a 9 personas cada uno).

Desventajas

  • Desarrolladores que se esconden: Debido a que es el equipo de desarrollo el responsable, puede tener que enfrentarse a desarrolladores con poca experiencia o mala actitud (funciona en mi PC, no es mi problema), que se escondan detrás de la silla y no aporten nada al proyecto.
  • Poca importancia a las técnicas ágiles: Uno de los problemas de Scrum reside en que, si bien define las pautas, no dice nada acerca de técnicas ágiles - Unit Testing, CI, Code Review, Funtional Testing, etc - por lo que se corre el riesgo de que el equipo tienda a no trabajar en actividades que no estén directamente relacionadas con el proyecto, ya que estos esfuerzos no tienen visibilidad al no estar contemplados en las métricas.

Ventajas y desventajas de Kanban

Kaban toca otro enfoque, con énfasis en la entrega justo a tiempo y hay pros y contras que deben ser tenidos en cuenta. Entre sus principales beneficios tenemos:

  • Medición del rendimiento. Con el método Kanban podemos medir el rendimiento de los trabajadores o equipos, así como detectar cualquier problema que se genere durante el transcurso de la tarea.
  • Organización del flujo de trabajo. El flujo de trabajo queda claro en cada fase del proyecto gracias a la organización de las tareas por estados y la duración estimada que se indica para cada una de ellas. Por ello, es posible prever una cantidad de trabajo adecuada y asequible para el cumplimiento de las metas.
  • Cumplir los tiempos de entrega. Ligado al segundo punto, gracias a la organización del flujo de trabajo podremos medir y cumplir con los tiempos de entrega demandados por el cliente.
  • Distribución de tareas. Poder ver las tareas que se han hecho, las que se están haciendo y las que quedan por hacer ayuda a una correcta distribución: todo el equipo puede ver cómo va el transcurso del trabajo y saber cuál es el siguiente paso.
  • Mejorar la calidad del producto. Con buena organización y con un buen control de los tiempos, se podrán detectar posibles problemas y, en consecuencia, encontrar la solución.
  • Evitar la acumulación de trabajo. Al previsualizar todas las tareas previstas y el tiempo estimado para su cumplimiento, el equipo podrá organizarse y asignar cada trabajo sin sobrecargar.

Desventajas

Por otro lado, en cuanto a los contras encontramos:

  • Coste. Si se usa este método para unidades muy grandes, el almacenamiento del sistema de Kanban será muy costoso.
  • Es limitado. Al limitar el número de tareas, cuando se trata de trabajos inmensos no es posible aplicar esta metodología ya que muchos de los trabajadores quedarían desocupados.
  • Kanban no es óptimo para todo tipo de proyectos. Kanban asu
  • me sistemas de producción repetitivos, es por eso que las variaciones o los eventos inesperados pueden afectar negativamente al resultado final.
  • No permite anticiparse a grandes aumentos de la demanda. Con Kanban resulta difícil manejar cambios de gestión provocados por la acumulación de nuevas tareas, lo que podría provocar un desbordamiento de trabajo.
Implementa metodologías ágiles para mejorar la colaboración entre equipos
Formaciones prácticas y avanzadas de Gestión de Proyectos para que tu equipo domine las herramientas Scrum, Kanban, Lean, Planning Póker y más.
Solicitar más información

¿Kanban o Scrum?

Y tras todo esto llega la gran pregunta: ¿Kanban o Scrum, con cuál te quedas?

Ambas cuentan con una metodología muy parecida. Ambas son metodologías Lean y Agile creadas para optimizar los procesos de trabajo. Sin embargo, hay algunas características que las diferencian.

En Scrum los roles están muy definidos, mientras que en Kanban no es imprescindible esta asignación. Sin embargo, en Scrum las entregas se producen en tiempos establecidos, mientras que en Kanban es un proceso continuo.

En mi opinión personal, antes de implementar una metodología Scrum en una compañia deberíamos previamente trabajar en actividades de integración de equipos. La razón es que algunos equipos se encuentran que en su camino hacia la agilidad, y usando Scrum se encuentran con muchas interrupciones durante su trabajo diario. La mala comunicación entre departamentos y el trabajo no planificado pueden hacer que al final los equipos no sean capaces de entregar todo lo que se habían propuesto.

En resumen no hay un sistema mejor o peor, ambos se complementan, no son una alternativa el uno al otro. Si Scrum no funciona porque no podemos planificar, utilicemos Kanban. Si podemos disponer de una mínima planificación, nuestro equipo es cohesionado y nuestra prioridad no son los plazos de entrega sino la calidad de nuestro trabajo, Scrum es nuestra solución. Y si disponemos de las condiciones, usemos ambos como mejor nos convenga.


Compartir este post

También te puede interesar...

Equipos

Qué es Scrumban

12 Febrero 2020 Yanina Muradas
Scrum avanzado

Curso de Scrum avanzado

1 hora y 34 minutos · Empresas

En este curso conoceremos cuáles son los valores de Scrum, conoceremos los tableros kanban y ampliaremos el conocimiento de la metodología. Además, será objetivo del …

  • Gestión de Proyectos y Estrategia
Scrum técnico

Curso de Scrum técnico

2 horas y 22 minutos · Empresas

Aprende con nosotros qué es Scrum, cuál es su filosofía y las herramientas que utilizamos en la gestión de proyectos Agile. Además, será objetivo del …

  • Gestión de Proyectos y Estrategia
Artículos
Ver todos