Scrumban: elegir el punto intermedio entre Scrum y Kanban

By Kate Eby | 22 Agosto 2016

Después de que el Manifiesto de Agile tomara importancia entre los conocimientos de desarrollo de software, empezaron a surgir metodologías Agile, como una manera de poner en práctica los valores y principios de Agile. Estas metodologías incluyen Programación Extrema (XP), Scrum, Desarrollo Basado en Funciones (FDD), Desarrollo de Software Lean, Proceso Unificado Agile (Agile UP o AUP), Crystal, Kanban, y Método de Desarrollo de Sistemas Dinámicos (DSDM).

Cada método tiene fortalezas y debilidades, y cada uno satisface las necesidades de los desarrolladores, pero con diferencias sutiles. Como explican Andy Kyte, David Norton y Nathan Wilson, todos de Gartner, en las 10 cosas que los gerentes informáticos necesitan saber sobre el desarrollo Agile: “En la mayoría de las organizaciones del sector comercial y público, la cartera de aplicaciones presentará muchas clases diferentes de problemas de desarrollo, algunos de los cuales serán adecuados para Agile, mientras que otros pueden ser más adecuados para el desarrollo iterativo o incremental, y algunos para un modelo de cascada modificado. Agile no es 'mejor'; simplemente se ajusta mejor a algunos problemas, pero no tan bien a otros”.

Actualmente, Scrum es la metodología Agile más popular para el desarrollo de software. Sin embargo, Kanban se ha empleado ampliamente para proyectos de mantenimiento en los que un objetivo final no es necesariamente el objetivo del proyecto, sino más bien el desarrollo continuo sin depender de un backlog claramente definido. En este artículo se analizará cómo Scrumban se ha convertido en el punto intermedio entre las metodologías Agile Scrum y Kanban. Para comprender Scrumban, debe tener amplios conocimientos de Scrum y Kanban.

Scrum: ventajas y desventajas

Cada metodología tiene ventajas y desventajas. Scrum es una metodología Agile que emplea pequeños equipos que trabajan en colaboración en períodos de desarrollo cortos (sprints), para entregar software funcional al final de cada sprint de tiempo limitado. Scrum cambia deliberadamente el proceso de planificación y se centra en el desarrollo rápido de software de trabajo en piezas más pequeñas. Algunas de las ventajas de Scrum son las siguientes:

  • Mejora la programación: Scrum supera el problema de los requisitos empresariales complejos que son difíciles de entender y que dificultan la programación. El enfoque Scrum para evaluar los requisitos es dividirlos en porciones más pequeñas que se desarrollan rápidamente.
  • Reduce el impacto de los errores: Los errores que se pueden cometer en un Scrum se retoman y se reparan rápidamente en el siguiente Scrum.
  • Mejora la comunicación: Las reuniones diarias garantizan que las actualizaciones de estado (progreso y estancamientos) sean altamente visibles. De hecho, la gestión del desarrollo puede reducirse a usar un tablero de tareas, en el que un backlog de sprint se enumera en una tabla junto con columnas que denotan el estado.
  • Aumenta la productividad: Las reuniones diarias aumentan la productividad del equipo.
  • Permite establecer mejores relaciones con los clientes: La naturaleza iterativa de Scrum implica que la participación y los comentarios de los clientes son importantes, y eso hace que el equipo sea más consciente de las necesidades del cliente y que el equipo, a su vez, pueda responder en consecuencia.
  • Mejora el software: El cambio no es una interrupción, sino un medio para mejorar el valor del software.

Por el contrario, Scrum presenta las siguientes desventajas:

  • Corrupción del alcance: Sin un final definido de un proyecto, y con los cambios adoptados sin problemas, la corrupción del alcance se convierte en un problema real. Las partes interesadas a menudo se sienten tentadas a agregar más y más funcionalidades.
  • No es ideal para equipos grandes: Scrum funciona mejor con un equipo pequeño.
  • Los miembros del equipo sin experiencia pueden presentar inconvenientes: La implementación exitosa de Scrum depende de que los miembros del equipo puedan estimar el tiempo de desarrollo.
  • No es adecuado para las microgerencias: Scrum funciona mejor cuando el Scrum Master puede depender del equipo sin tanto control. Scrum les permite a las personas gestionar su trabajo en conjunto, y estas no reciben una gran supervisión.
  • La rotación puede ser enormemente adversa: El tamaño pequeño del equipo y la corta duración de los períodos de desarrollo pueden ser muy perjudiciales.
  • La gestión de la calidad es más difícil: Los miembros del equipo realizan todas las pruebas, pero las pruebas de regresión a veces se dejan fuera del circuito; por lo tanto, las pruebas por unidad son las únicas que se realizan.

¿Qué es la metodología Kanban?

Kanban, desarrollado por Taiichi Ohno, ingeniero de Toyota, se define como un método para gestionar y mejorar la prestación de servicios de manera gradual en el tiempo. Hay tres principios rectores del método Kanban:

  • Empiece con lo que hace ahora
  • Acepte la búsqueda de un cambio gradual y evolutivo
  • Respete el proceso, las funciones, las responsabilidades y los puestos actuales

Hay cinco propiedades básicas de Kanban:

  • Visualizar el flujo de trabajo
  • Limitar el trabajo en curso (WIP)
  • Gestionar el flujo
  • Hacer explícitas las políticas de gestión y procesos
  • Buscar la mejora continua, también conocida como Kaizen (con modelos y métodos científicos)

Kanban: ventajas y desventajas

Al igual que Scrum, Kanban tiene sus propias ventajas y desventajas. Algunas de las ventajas de Kanban son las siguientes:

  • Mejora la asignación de recursos: el WIP es limitado, por lo que el nuevo trabajo se incorpora al equipo a medida que los recursos están disponibles.
  • Simplifique la gestión de proyectos: el tablero Kanban proporciona una visualización rápida del estado de todo el trabajo, lo que permite una gestión de proyectos más sencilla.
  • Reduce las interrupciones: El cambio es menos radical porque trabaja con los procesos que tiene y los mejora con el tiempo.
  • Tomar decisiones más informadas: Visualizar el flujo de trabajo facilita la comprensión de cómo se desarrolla el trabajo y simplifica la toma de decisiones sobre los cambios.

Algunas de las desventajas de Kanban son las siguientes:

  • Los tableros Kanban deben estar actualizados: Un tablero Kanban desactualizado puede causar grandes problemas. Kanban depende de los miembros del equipo para mantener todo actualizado, y al carecer de las reuniones diarias de Scrum, esto puede ser más difícil.
  • La complejidad de los tableros Kanban: Cuando se hace el seguimiento de demasiados elementos o procesos en un tablero Kanban, se puede generar confusión y dificultar la actualización con precisión.
  • Falta de plazos: Sin plazos para el desarrollo, el equipo puede atrasarse.

Scrum y Kanban: en qué se diferencian

Scrum y Kanban son muy diferentes. Puede parecer imposible conciliarlos. Scrum tiene un conjunto de funciones prescritas que incluyen el Scrum Master, el propietario del producto y las partes interesadas. Por el contrario, Kanban no tiene funciones prescritas. Tanto Scrum como Kanban se consideran sistemas de “extracción”, lo que significa que los miembros del equipo extraen funciones del backlog a medida que están disponibles para trabajar en ellas. Otra perspectiva es que, debido al carácter “por lotes” del backlog, Scrum es realmente un sistema de “transmisión”, en el que se asignan un conjunto de funciones al equipo al comienzo del sprint. Kanban se considera un sistema innegablemente de extracción en el que las funciones se extraen continuamente del backlog según sea necesario.

Scrum tiene una reunión diaria y varias reuniones necesarias, como la demostración del software al cliente para obtener comentarios. Kanban no tiene reuniones necesarias.

Tal vez la diferencia más notable entre Scrum y Kanban sea que, si bien Scrum está limitado por la longitud del sprint, Kanban funciona sin un límite de tiempo para el desarrollo. No hay un principio o un final definidos, sino más bien un flujo continuo de trabajo, con cada desarrollo exitoso seguido del inicio de un nuevo desarrollo.

Aunque Scrum está destinado a ser fácil y flexible, algunos equipos de desarrollo consideran que es demasiado rígido para su negocio ágil. Al mismo tiempo, consideran que Kanban es muy poco riguroso. Scrumban se desarrolló como un punto intermedio entre Scrum y Kanban: la rigidez de Scrum combinada con la flexibilidad de Kanban se ha convertido en un método perfecto para muchas organizaciones ágiles.

Metodología Scrumban: lo mejor de ambos mundos

Corey Ladas, entusiasta de la metodología de desarrollo de software, presentó Scrumban en su libro Scrumban: Essays on Kanban Systems for Lean Software Development. Afirma que Scrumban fue creado como un medio de transición de un equipo de desarrollo de Scrum a Lean (se basa en un flujo de creación, medición, aprendizaje para la mejora continua, y se centra solo en lo que aporta valor a los clientes) o Kanban. Pero si bien la intención era que los equipos reemplazaran Scrum, se ha convertido en una metodología propia, que combina elementos tanto de Scrum como de Kanban. La decisión de reemplazar Scrum o Kanban por Scrumban debe tomarse en respuesta al entorno y las necesidades de la organización.

Scrumban se utiliza más comúnmente en proyectos de desarrollo y mantenimiento. En la práctica, tanto los equipos de desarrollo como de mantenimiento necesitan muchas de las mismas habilidades. Los equipos de desarrollo necesitan un medio para gestionar todo su proceso de desarrollo, mientras que los equipos de mantenimiento deben poder realizar actualizaciones y reparaciones de software defectuoso.

Comparación de Scrumban con Scrum

  • Iteraciones: La iteración es la característica que define a Scrum, mientras que Scrumban adopta el enfoque Kanban del flujo de trabajo continuo, con iteraciones opcionales.
  • Funciones de equipo: Scrum tiene funciones definidas, con los miembros del equipo de desarrollo encargados de todo el proyecto, mientras que Scrumban solo requiere funciones según sean necesarias.
  • Visualización: Scrum puede usar un tablero, pero depende principalmente de los backlogs y los gráficos de evolución, mientras que Scrumban, como Kanban, utiliza el Tablero Scrumban para mantener la visibilidad del trabajo.
  • Reuniones: Tanto Scrum como Scrumban tienen reuniones diarias, pero no hay reuniones retrospectivas o de planificación de sprint o lanzamientos en Scrumban. Scrumban adopta la planificación bajo demanda.
  • Estimación: Los equipos de Scrum deben estimar (a menudo a través del sistema de planificación del tamaño del cubo y los puntos de historia) el tiempo necesario para realizar el trabajo y cumplir con los compromisos de un sprint, mientras que Scrumban no tiene una restricción de tiempo. En cambio, la estimación se vuelve evidente con el tiempo, a medida que el equipo realiza más tareas.
  • WIP: El WIP de Scrum se define en su totalidad por el backlog del sprint y se planifica al inicio de cada sprint, mientras que el equipo Scrumban limita el WIP a los recursos disponibles.
  • Cambio: El cambio es bienvenido en Scrum porque se puede responder y planificar en un sprint subsiguiente, pero en Scrumban el cambio se responde de forma instantánea. La falta de sprints y backlogs significa que no hay límites en cuanto a cuándo se pueden introducir las tareas. El cambio depende de que haya un recurso disponible para incorporarlo.
  • Congelación de funciones: Aunque Scrumban responde al cambio instantáneamente, existe un límite. Scrumban adopta la congelación de funciones, un tiempo de corte en el que no se pueden agregar cambios o funciones adicionales porque se acerca la fecha límite del proyecto.
  • Evaluación de prioridades: Dado que Scrumban no incluye la estimación, esta etapa es fundamental. A medida que se acerca la fecha límite del proyecto, el análisis de Scrumban permite al gerente del proyecto finalizar el trabajo en funciones menos importantes para completar las funciones esenciales a tiempo.

Comparación entre Scrumban y Kanban

  • Funciones del equipo: Kanban no tiene funciones prescritas, pero en Scrumban hay un equipo definido y puede haber funciones estipuladas.
  • Reuniones: Kanban no requiere reuniones, pero Scrumban consta de reuniones diarias. Las reuniones diarias ayudan a mantener la colaboración entre los miembros del equipo y a superar los impedimentos del progreso. Además, si bien Kanban se trata de un proceso en evolución, no hay reuniones prescritas para examinar la evolución o las mejoras propuestas. Scrumban ofrece la función de análisis post mortem, que permiten al equipo trabajar en las mejoras del proceso y a los miembros del equipo compartir los aprendizajes del trabajo.
  • Métricas: Tanto Kanban como Scrumban ofrecen la medición del plazo de entrega y el tiempo de ciclo (a veces utilizados indistintamente) como métrica clave. Esta métrica estima la duración promedio de una tarea específica. El plazo de entrega es lo que el cliente ve desde el momento en que se realiza una solicitud hasta la entrega. El tiempo de ciclo es el período que transcurre desde el inicio del trabajo hasta la entrega.

¿Cuál es el mejor entorno para presentar Scrumban?

Tal vez se pregunte qué entorno es el mejor para presentar Scrumban. Al igual que con todas las metodologías, Scrumban no es para todos los entornos o culturas. Si su organización es realmente adecuada para Scrum, con muchos miembros con experiencia, clientes que quieran participar en el proceso de desarrollo, una comprensión clara de las historias de usuario y una cultura corporativa en la que se valoren los cronogramas y la gestión de proyectos, es posible que quiera seguir usando Scrum. Si opera principalmente en un entorno de mantenimiento en el que el desarrollo nuevo es una pequeña parte de las actividades del equipo, el trabajo es continuo, se da importancia a la extracción de tareas en función de las necesidades y no hay proyectos definidos para clientes específicos, es posible que prefiera Kanban.

Los mejores momentos para implementar Scrumban son los siguientes:

  • Cuando un proyecto tiene una gran cantidad de cambios inesperados en las historias de usuario y se reordenan las prioridades
  • Cuando desea agregar funciones de extracción al proceso de desarrollo Scrum.
  • Cuando Scrum no ha tenido éxito debido a una serie de problemas o a que no hay suficientes recursos para cumplir con las restricciones de tiempo de Scrum.
  • Cuando el trabajo se basa en eventos, como el soporte del centro de ayuda, donde las prioridades cambian constantemente.
  • Cuando el equipo se centra por completo en agregar funciones y respaldar un producto existente.
  • Cuando el equipo de desarrollo utiliza Scrum, pero está interesado en algunos principios de Kanban.
  • Cuando considera que parte de la rigidez de Scrum limita la capacidad de su equipo para adaptarse al cambio.
  • Cuando está haciendo la transición a Kanban, pero necesita hacer pequeños cambios en la metodología para limitar la interrupción.

La última palabra sobre Scrumban la tendrá el equipo, por su manera de responder al método. Scrum funciona bien para los equipos que prefieren una estructura y quieren saber en qué trabajarán mañana. El principal beneficio de Scrumban es la fluidez del modelo. Al final, como sucede con cualquier metodología de desarrollo, la aceptación de la empresa y el equipo determinarán el éxito.

Por qué Smartsheet es una herramienta eficaz para Scrumban

Empodere a sus empleados para que vayan más allá gracias a una plataforma flexible, diseñada para satisfacer las necesidades de su equipo y capaz de adaptarse cuando esas necesidades cambien. La plataforma Smartsheet facilita la planificación, la captura, la gestión y la creación de informes sobre el trabajo, desde cualquier lugar, lo que ayuda a su equipo a ser más eficiente y lograr más. Cree informes sobre las métricas claves y obtenga visibilidad en tiempo real acerca del trabajo en curso gracias a informes, paneles y flujos de trabajo automatizados diseñados para ayudar a su equipo a mantenerse conectado e informado. Cuando los equipos tienen claridad sobre el trabajo en curso, pueden lograr mucho más en el mismo tiempo. Pruebe Smartsheet gratis hoy mismo.

 

Conecte a sus empleados, procesos y herramientas con una plataforma sencilla y fácil de usar.

Pruebe Smartsheet gratis Get a Free Smartsheet Demo