Son dos formas diferentes de trabajar, con sus pros y sus contras, según el proyecto en el que estemos trabajando. Aquí vamos a ver las diferencias entre uno y otro, así como algunas guías para saber cual de las dos elegir, según las características del equipo y del proyecto al que nos enfrentemos.
Este tema fue foco de discusión con un coach de agile dentro de una empresa en la que tuve el placer de trabajar hasta hace no mucho tiempo. Y aquí quiero plasmar, de una forma muy práctica y sencilla, sin fijarme mucho en la teoría y ni en los orígenes de ambas, cómo se aplican estas dos formas de trabajar dentro de la empresa, especialmente dentro de los departamentos IT, en proyectos de desarrollo tecnológico, que es dónde yo tengo experiencia trabajando con metodologías ágiles.
En primer lugar, puedes encontrar una descripción a muy alto nivel sobre sobre las metodologías ágiles aquí, y una lista, así como una pequeña descripción de las principales metodologías ágiles que existen aquí. Y ahora, voy a comenzar con una pequeña definición de Scrum y de Kanban, para entender las diferencias entre ambas.
Definiciones de Scrum.
¿Qué es Scrum?
Scrum es un proceso ágil que ayuda a entregar valor en el período más corto de tiempo. De una forma muy rápida y de manera periódica, entrega iterativamente una nueva versión de software. Scrum pone por encima de todo el trabajo en equipo y el progreso iterativo del software desarrollado. Su objetivo es entregar software nuevo cada 2-4 semanas.
¿Por qué usar Scrum?
La metodología de Scrum, ofrece una buena forma de gestionar los proyectos dentro de una compañía. Usando Scrum, los equipos de trabajo son más ágiles y descubren rápidamente como responder de una forma inmediata a cambios repentinos.
Además, Scrum maneja la complejidad y el trabajo, haciendo que la información sea transparente, y de este modo ayudando al equipo a analizar y adaptarse a las condiciones actuales, en vez de tener que predecir estas condiciones con antelación. Esto ayuda a los miembros del equipo a manejar malentendidos y a gestionar el chaos que surge con cambios constantes en los requisitos.
¿Cuándo usar Scrum?
La metodología Scrum se utiliza en proyectos en los que los requisitos cambian rápidamente. Funciona muy bien en organizaciones que trabajan de forma auto-organizada, con equipos multifuncionales. El Framework Scrum, normalmente maneja el hecho de que las condiciones probablemente cambiarán rápidamente, y la mayor parte del tiempo cambian rápidamente e incluso antes del comienzo del proyecto.
En Scrum, los requisitos a bajo nivel son los únicos que definen antes de comenzar. En esta metodología, los cambios y las optimizaciones del producto, de los requisitos y de los procesos, son una parte íntegra del proyecto, y se refinan y re-definen a lo largo del mismo.
Definiciones de Kanban
¿Qué es Kanban?
Kanban es una herramienta visual para gestionar trabajo. Y visualiza tanto el proceso como el trabajo que se hace en ese proceso. El objetivo principal de implementar Kanban es identificar cuellos de botella y arreglarlo. El objetivo de Kanban es que el flujo de trabajo fluya de la mejor manera posible de una manera óptima.
¿Por qué usar Kanban?
Kanban es una metodología diseñada para cumplir los requisitos mínimos. De este modo, se permiten cambios pequeños y continuos en los procesos actuales. También ayuda a conseguir mejoras independientemente de las condiciones, el tiempo o la calidad.
¿Cuándo usar Kanban?
Los tableros Kanban son herramientas visuales de gestión del trabajo para proyectos de software. Esto ayuda a los miembros del equipo a visualizar de una forma muy sencilla el trabajo en progreso. También ayuda a entender información compleja, como los procesos y los riesgos asociados a estos, para completar el trabajo a tiempo.
Los tableros de Kanban son muy efectivos, y ayudan a todos los miembros del equipo a ser más efectivos y productivos, reduciendo la cantidad de trabajo y el estrés de los jefes de equipo y de todos los miembros de este, durante todo el ciclo de vida del proyecto.
Las herramientas de desarrollo de software de Kanban, deben implementarse dentro del equipo del trabajo como una herramienta para gestionar el trabajo diario, testear que los procesos funcionan bien, y ver cuales y cómo pueden optimizarse, según las necesidades o características del equipo. El proceso Kanban, les ayuda a mejorar gradualmente y testear los diferentes procesos para poder mejorarlos si es necesario.