Close

Kanban

Aplicación de la metodología kanban en el desarrollo de software

Buscar temas
Tablero de Jira

Empieza gratis con la plantilla de kanban de Jira

Consulta el trabajo que más importa y haz que progrese para maximizar la eficiencia.

Usar plantilla

¿Qué es kanban?

Kanban es un marco de trabajo muy popular a la hora de implementar un desarrollo de software ágil y de DevOps. Requiere una comunicación en tiempo real sobre la capacidad y una total transparencia del trabajo. Los elementos de trabajo se representan visualmente en un tablero de kanban, lo que permite a los miembros del equipo ver el estado de cada uno en cualquier momento.

Artículos sobre kanban

[CONTINUACIÓN]

Optimización del desarrollo de software con el flujo de kanban

El flujo de kanban, uno de los pilares de las metodologías ágil y de DevOps, aumenta la eficiencia planificando de la progresión de las tareas a través de flujos de trabajo visibles. Imita la gestión optimizada del inventario de los supermercados, lo que garantiza que las tareas avancen por los procesos de desarrollo en el momento preciso.

Las tareas, que pueden visualizarse en los tableros de kanban representadas como tarjetas, permiten hacer un seguimiento transparente del progreso y una identificación rápida de los cuellos de botella. Al limitar el trabajo en progreso (WIP), los equipos pueden optimizar la asignación de recursos y mantener un flujo de trabajo estable. El enfoque de kanban en la mejora continua se ve favorecido por métricas como los gráficos de control y los diagramas de flujo acumulativo, que permiten a los equipos perfeccionar los flujos de trabajo de forma iterativa.

En desarrollo de software, el flujo de kanban fomenta la gestión dinámica de las tareas, acelera los ciclos de entrega y mejora la satisfacción de los clientes mediante un trabajo centrado e ininterrumpido. En esencia, el flujo de kanban es sinónimo de eficacia, una combinación armoniosa de transparencia, adaptabilidad y mejora continua que permite aprovechar todo el potencial de las metodologías ágiles.

Estructuración de tu flujo de kanban

Para implementar la metodología kanban de forma eficaz, debes establecer un flujo de kanban estructurado en tu equipo de desarrollo de software a fin de garantizar un progreso fluido de las tareas y una gestión optimizada del flujo de trabajo. A continuación, te explicamos cómo puedes estructurar tu flujo de kanban:

Visualizar el flujo de trabajo: empieza por visualizar el flujo de trabajo de tu equipo en un tablero de kanban. El tablero, ya sea físico o virtual, debe representar todas las fases del proceso de desarrollo, desde el inicio hasta la finalización de las tareas.

Estandarizar el flujo de trabajo: define y estandariza las fases del flujo de trabajo según los procesos y requisitos de tu equipo. Las etapas más comunes son "Pendiente", "En progreso" y "Listo", pero puedes personalizarlo como quieras según tu flujo de trabajo.

Identificar los bloqueadores y las dependencias: asegúrate de que tu tablero de kanban permita identificar de inmediato los bloqueadores y las dependencias. Esta transparencia permite una resolución rápida y evita las interrupciones del flujo de trabajo.

Fijar límites de trabajo en curso: implementa límites de trabajo en curso en cada fase del flujo de trabajo para evitar la sobrecarga y mantener un flujo de trabajo estable. Los límites de trabajo en curso ayudan a optimizar la asignación de recursos y a reducir el trabajo simultáneo en varias tareas, lo que contribuye a aumentar la productividad.

Fomentar la colaboración: promueve una cultura de colaboración en tu equipo, en la que los miembros aborden colectivamente los cuellos de botella y trabajen juntos para garantizar una progresión armoniosa del flujo de trabajo. Este enfoque colaborativo promueve la eficiencia y agiliza la finalización de las tareas.

Utilizar tarjetas de kanban: representa cada tarea con una tarjeta de kanban en el tablero, con detalles esenciales como la descripción de la tarea, la persona asignada y el tiempo estimado de finalización. Las tarjetas de kanban facilitan el seguimiento visual del progreso y promueven la transparencia dentro del equipo.

Si estructuras tu flujo de kanban de esta manera, podrás agilizar tus procesos de desarrollo de software, mejorar la colaboración del equipo y maximizar la eficiencia en la gestión de tareas.

Orígenes de la metodología kanban

La metodología de trabajo kanban es muy importante entre los equipos de software ágiles y de DevOps de hoy en día, pero se remonta a hace más de 50 años. A finales de los años 40, Toyota empezó a optimizar sus procesos de ingeniería a partir del modelo que utilizaban los supermercados para llenar las estanterías.

Los supermercados almacenan únicamente el inventario suficiente para suplir la demanda del cliente, una práctica que optimiza el flujo entre el supermercado y el cliente. Como las existencias coinciden con las pautas de consumo, el supermercado aumenta considerablemente su eficacia en gestión de existencias reduciendo la cantidad de excedentes que debe mantener en cualquier momento. Mientras tanto, el supermercado aún puede garantizar que los productos de primera necesidad estén siempre en stock.

Cuando Toyota aplicó este mismo sistema en sus fábricas, el objetivo era ajustar mejor sus enormes niveles de existencias con el consumo real de materiales. Para comunicar los niveles de capacidad en tiempo real en la fábrica (y a los proveedores), los trabajadores tenían que pasarse una tarjeta, o "kanban", entre equipos.

Cuando se vaciaba un contenedor de materiales que se estaba utilizando en la cadena de producción, se pasaba una tarjeta de kanban al almacén con la descripción de los materiales que hacían falta, la cantidad exacta de esos materiales, etc. El almacén tenía un contenedor nuevo con este material en espera, que luego enviaba a la fábrica y, a su vez, enviaba su propio kanban al proveedor. Si bien ha evolucionado desde los años 40, este mismo proceso de fabricación "Just in Time" (JIT) sigue siendo la base de la metodología kanban.

Kanban para equipos de software

Actualmente, los equipos de desarrollo de software ágil pueden aprovechar esos mismos principios de JIT ajustando la cantidad de trabajo en curso (WIP) a la capacidad del equipo. Los equipos tienen así opciones de planificación más flexibles, resultados más rápidos, un enfoque en la mejora continua más claro y transparencia a lo largo del ciclo de desarrollo.

Tablero de kanban | Orientador ágil de Atlassian

Aunque los principios básicos del marco de kanban son atemporales y se pueden aplicar a casi todos los sectores, los equipos de desarrollo de software han obtenido unos resultados especialmente positivos con la práctica ágil. A diferencia de la implementación de kanban en una fábrica, cosa que implicaría cambios en los procesos físicos y la suma de materiales considerables, los únicos elementos físicos que necesita un equipo de software son un tablero y las tarjetas de las tareas, e incluso esos pueden ser virtuales.

Tableros de kanban

El trabajo de todos los equipos de kanban gira en torno a un tablero de kanban, una herramienta que se usa para visualizar y optimizar el flujo de trabajo entre los equipos. Aunque los tableros físicos gozan de popularidad entre algunos equipos, los tableros virtuales son esenciales en cualquier herramienta de desarrollo de software ágil para garantizar la trazabilidad, la colaboración y la accesibilidad desde varias ubicaciones.

Independientemente de si un equipo utiliza un tablero de kanban digital o física, garantiza que el equipo visualice su trabajo, estandarice su flujo de trabajo e identifique y resuelva inmediatamente todos los bloqueos y las dependencias. Un tablero de kanban básico consiste en un flujo de trabajo de tres pasos: Pendiente, En progreso y Listo. Sin embargo, según el tamaño, la estructura y los objetivos del equipo, puede adaptar el flujo de trabajo a sus procesos únicos.

La metodología kanban se basa en una transparencia total del trabajo y una comunicación en tiempo real. Por lo tanto, el tablero de kanban debería considerarse la única fuente fiable de información sobre el trabajo del equipo.

Tablero de kanban ágil | Orientador ágil de Atlassian

Tarjetas kanban

En japonés, "kanban" se traduce literalmente por "señal visual". Los equipos de kanban representan cada elemento de trabajo como una tarjeta independiente en el tablero. El objetivo principal de representar el trabajo como una tarjeta en el tablero de kanban es que los miembros del equipo realicen el seguimiento del progreso del trabajo mediante el flujo de trabajo de una manera muy visual.

Las tarjetas de kanban incluyen información fundamental sobre las tareas del proyecto, lo que permite a los equipos ver quién es el responsable de qué tareas y una breve descripción del trabajo y cuánto tiempo se estima que durarán las tareas. Las tarjetas de los tableros de kanban virtuales a menudo presentan también capturas de pantalla y otros datos técnicos de valor para la persona asignada.

Al permitir a los miembros del equipo vean el estado de cada tarea en cualquier momento, así como los detalles pertinentes, se garantiza un aumento de la dedicación, una trazabilidad completa y una identificación rápida de los bloqueadores y las dependencias.

Ventajas del marco de kanban

Kanban es una de las metodologías de desarrollo de software más populares que utilizan los equipos ágiles en la actualidad. Ofrece ventajas adicionales en la planificación y el rendimiento de las tareas para equipos de todos los tamaños.

Planificar la flexibilidad

Un equipo de kanban solo se centra en el trabajo que está en curso. Cuando el equipo completa una tarea, selecciona la siguiente de la lista de tareas pendientes. El propietario del producto tiene la libertad de establecer nuevas prioridades de trabajo en el backlog sin interrumpir al equipo, ya que cualquier cambio fuera de los elementos actuales de trabajo no afecta al equipo.

Siempre que el propietario del producto mantenga los elementos de trabajo más importantes en la parte superior del backlog, el equipo de desarrollo tendrá la seguridad de estar aportando el máximo valor a la empresa.

Consejo de experto:

Los propietarios del producto perspicaces siempre involucran al equipo de desarrollo cuando estudian la introducción de cambios en el backlog. Por ejemplo, si las historias de usuario de la 1 a la 6 están en el backlog, la estimación de la historia de usuario 6 se puede basar en la finalización de las historias de la 1 a la 5. Siempre es conveniente confirmar los cambios con el equipo técnico para no llevarse sorpresas.

Duraciones de ciclos reducidas

La duración del ciclo constituyen una métrica fundamental para los equipos de kanban. La duración del ciclo es la cantidad de tiempo que tarda una unidad de trabajo en viajar a través del flujo de trabajo del equipo, desde el momento en que se inicia el trabajo hasta que se lanza. Optimizando la duración del ciclo, el equipo puede realizar pronósticos con seguridad sobre la entrega del futuro trabajo.

Solapar conjuntos de habilidades se traduce en ciclos con una duración más corta. Si solo hay una sola persona que posee un conjunto de habilidades concreto, se acabará convirtiendo en un cuello de botella en el flujo de trabajo. Así pues, los equipos emplean prácticas recomendadas básicas como la revisión del código y la mentoría para compartir sus conocimientos. Al compartir habilidades, los miembros de los equipos pueden asumir trabajos diferentes, lo que optimiza aún más la duración del ciclo.

Además, este enfoque permite a todo el equipo abordar cualquier obstáculo laboral de forma colectiva, lo que permite una resolución rápida y garantiza un flujo de trabajo perfecto. Por ejemplo, la responsabilidad de las pruebas no se limita a los ingenieros de control de calidad, sino que incluye a los desarrolladores, lo que fomenta la colaboración para mantener la eficacia. En un sistema de kanban, todo el equipo se asegura de que el trabajo avance sin problemas durante el proceso.

Menos cuellos de botella

Las multitareas son un lastre para la eficiencia. El aumento de la carga de trabajo provoca simultáneamente un cambio de contexto más frecuente, lo que impide el progreso de las tareas hasta su finalización. Por eso, un principio vital del proceso kanban es limitar el trabajo en curso (WIP). Los límites del trabajo en curso resaltan los cuellos de botella en el proceso del equipo debido a la falta de concentración, personas o habilidades.

Por ejemplo, un equipo de software típico podría tener cuatro estados de flujo de trabajo: Pendiente, En progreso, Revisión del código y Listo. Podrían optar por establecer un límite de trabajo en curso de 2 en el estado de revisión del código. Puede parecer un límite bajo, pero hay un buen motivo para aplicarlo.

Los desarrolladores suelen preferir escribir código nuevo que perder tiempo revisando el trabajo de otra persona. Un límite bajo alienta al equipo a prestar especial atención a las incidencia en el estado de revisión y a revisar el trabajo de otros antes de generar sus propias revisiones de código, lo que, en última instancia, reduce la duración total del ciclo.

Métricas visuales

Uno de los valores fundamentales es hacer un fuerte énfasis en la mejora constante de la eficiencia y la efectividad con cada iteración de trabajo. Los diagramas ofrecen un mecanismo visual para que los equipos se aseguren de seguir mejorando.

Si el equipo puede ver los datos, es más fácil detectar obstáculos en el proceso (y eliminarlos). Hay dos informes que los equipos de kanban utilizan habitualmente: los gráficos de control y los diagramas de flujo acumulado. Un gráfico de control muestra el tiempo del ciclo de cada incidencia, así como una media acumulada del equipo.

Consejo de experto:

El objetivo del equipo es reducir el tiempo que tarda una incidencia en pasar por todo el proceso. Ver caer la duración media del ciclo en la gráfica de control indica que ha tenido éxito.

Diagrama de control ágil | Orientador ágil de Atlassian

Los diagramas de flujo acumulado muestran el número de incidencias que hay de cada estado. El equipo puede localizar fácilmente bloqueos al ver aumentar el número de incidencias en algún estado. Las incidencias en estados intermedios, como "En progreso" o "En revisión", no se han lanzado aún al cliente, y un bloqueo en esos estados pueden aumentar la probabilidad de que se generen conflictos de integración en masa si el trabajo no se combina de forma ascendente.

Diagrama de flujo acumulado

Entrega continua

La entrega continua (CD) es la práctica de publicar trabajo para los clientes con frecuencia. La integración continua (CI) es la práctica de compilar y probar el código de forma automática y gradual a lo largo del día. En combinación, forman una canalización de CI/CD que resulta esencial para que los equipos de desarrollo (en especial, los de DevOps) puedan lanzar software más rápidamente, a la vez que se garantiza una gran calidad.

Kanban y CD se complementan perfectamente porque ambas técnicas hacen hincapié en la entrega del valor justo a tiempo (y una por una). Cuanto más rápido pueda un equipo entregar innovación al mercado, más competitivo será el producto. Los equipos de kanban se centran exactamente en eso: optimizar el flujo de trabajo hacia los clientes.

Scrum frente a kanban

Kanban y scrum comparten algunos de los mismos conceptos, pero tienen enfoques muy diferentes. No deben confundirse entre sí.

 

Scrum

Kanban

Metodología de publicación

Scrum

Sprints de longitud fija periódicos (por ejemplo, dos semanas)

Kanban

Flujo continuo

Funciones

Scrum

Propietario del producto, experto en scrum, equipo de desarrollo

Kanban

Entrega continua o a discreción del equipo

Métricas clave

Scrum

Velocidad

Kanban

Tiempo del ciclo

Filosofía de cambios

Scrum

Los equipos deben evitar cambios en la previsión durante el sprint. De lo contrario, se sacrifica el aprendizaje sobre la estimación. 

Kanban

Los cambios pueden suceder en cualquier momento.

Algunos equipos mezclan las ideas de kanban y scrum para formar "scrumban". De scrum, toman los sprints de longitud fija y las funciones; de kanban, la atención a los límites del trabajo en curso y la duración del ciclo.

Para los equipos que estén iniciándose en la metodología ágil, sin embargo, recomendamos encarecidamente elegir una metodología u otra y trabajar con ella durante un tiempo. Si tu equipo está preparado para empezar a utilizar la metodología kanban, ¡utiliza hoy mismo nuestra plantilla de tablero de kanban gratuita!

Tablero de Jira

Empieza gratis con la plantilla de kanban de Jira

Consulta el trabajo que más importa y haz que progrese para maximizar la eficiencia.

Dan Radigan
Dan Radigan

La metodología ágil ha influido mucho en mí, tanto en el aspecto profesional como en el personal: he aprendido que las mejores experiencias se basan en el modelo ágil, tanto al programar como en la vida real. Mis intereses suelen moverse entre la tecnología, la fotografía y el motociclismo. 

A continuación
Paneles