Saltar al contenido
Desarrollo de software

Kanban

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

Buscar temas
Scrum
Kanban
Gestión ágil de proyectos
Gestión de productos
Metodología ágil a escala
Desarrollo de software
Diseño
Marketing ágil
La ventaja de la metodología ágil
Equipos ágiles
Tutoriales de la metodología ágil
Conversaciones sobre metodología ágil
Sobre el orientador ágil
Jira board

Empieza gratis con la plantilla de kanban de Jira

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

¿Qué es kanban?

Kanban es un marco de trabajo muy popular a la hora de implementar un desarrollo de software ágil y 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.

what-is-kanban-compressed

Contenido destacado de 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 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 curso (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

Establecer un flujo de kanban estructurado en tu equipo de desarrollo de software es esencial para implementar el kanban de forma eficaz. De esta forma, se garantiza un progreso fluido de las tareas y una gestión optimizada del flujo de trabajo. Así es como puedes estructurar tu flujo de kanban:

Visualiza el flujo de trabajo: empieza por visualizar el flujo de trabajo de tu equipo en un tablero de Kanban. Ya sea físico o virtual, el tablero debe representar cada fase del proceso de desarrollo, desde el inicio hasta la finalización de la tarea.

Estandariza el flujo de trabajo: define y estandariza las etapas del flujo de trabajo según los procesos y requisitos de tu equipo. Las etapas más comunes son "Por hacer", "En progreso" y "Hecho", pero personaliza según sea necesario para reflejar tu flujo de trabajo único.

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

Fija límites de trabajo en progreso (WIP): implementa límites de WIP en cada fase del flujo de trabajo para evitar la sobrecarga y mantener un flujo de trabajo estable. Los límites de WIP ayudan a optimizar la asignación de recursos y a reducir la multitarea, lo que fomenta una mayor productividad.

Fomenta la colaboración: favorece 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 fluida del flujo de trabajo. Este enfoque colaborativo promueve la eficiencia y acelera la finalización de las tareas.

Utiliza tarjetas de kanban: representa cada tarea como 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 de las tareas y promueven la transparencia dentro del equipo.

Al estructurar tu flujo de kanban de esta manera, puedes agilizar tus procesos de desarrollo de software, mejorar la colaboración en 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 los productos suficientes 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 puede seguir garantizando que ese producto que el cliente necesita siempre esté disponible.

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 un 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 progreso (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.

Kanban Board | Atlassian agile coach

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 utiliza para visualizar y optimizar el flujo de trabajo entre los equipos. Si bien los tableros físicos son populares entre algunos equipos, los virtuales son cruciales en cualquier herramienta de desarrollo de software ágil por su trazabilidad, colaboración y accesibilidad desde varios lugares.

Independientemente de si el tablero de kanban que utiliza el equipo es digital o físico, garantiza que este visualice su trabajo, estandarice su flujo de trabajo e identifique y resuelva inmediatamente todos los impedimentos y las dependencias. Un tablero de kanban básico tiene un flujo de trabajo de tres pasos: Por hacer, En progreso y Hecho. Sin embargo, según el tamaño, la estructura y los objetivos del equipo, pueden mapear el flujo de trabajo para cumplir con sus procesos únicos.

Como la metodología kanban se basa en la total transparencia del trabajo y en la comunicación en tiempo real, el tablero de kanban actúa como la única fuente de información fiable para el trabajo del equipo.

Agile Kanban Board | Atlassian agile coach

Tarjetas kanban

En japonés, "kanban" se traduce literalmente como "señal visual". Los equipos de kanban representan cada elemento de trabajo en una tarjeta distinta del 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 mediante el flujo de trabajo de una manera muy visual. 

Las tarjetas kanban presentan información vital sobre las tareas del proyecto y proporcionan visibilidad a todo el equipo sobre quién está a cargo de cada tarea, una breve descripción del trabajo y la duración estimada que llevarán las tareas. Las tarjetas de los tableros de kanban virtuales presentan capturas de pantalla y otros datos técnicos de valor para la persona asignada. 

Al permitir que los miembros del equipo vean el estado de cada tarea en cualquier momento, así como todos los detalles relevantes, se garantiza un aumento de la dedicación, un seguimiento completo y una identificación rápida de los impedimentos y las dependencias.

Ventajas del marco de kanban

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

Flexibilidad de planificación

Un equipo de kanban solo se centra en el trabajo que está en progreso. Cuando el equipo finaliza un elemento de trabajo, saca el elemento siguiente de la parte superior del backlog. 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.

status-exclaim
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

Las duraciones 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. Al optimizar la duración del ciclo, el equipo puede realizar pronósticos con seguridad sobre la entrega del futuro trabajo.

Solapar conjuntos de aptitudes se traduce en duraciones del ciclo más cortas. Cuando hay una sola persona que posee un conjunto de aptitudes, esa persona se convierte en un obstáculo del flujo de trabajo. Así, los equipos que se valen de prácticas recomendadas básicas como la revisión del código y la formación, ayudan a transmitir los conocimientos. Con las habilidades compartidas, los miembros del equipo pueden asumir trabajos heterogéneos, lo que optimiza más aún la duración del ciclo. 

También favorece a que, si hay una copia de seguridad del trabajo, todo el equipo se pueda volcar en él para que el proceso vuelva a fluir sin problemas. Por ejemplo, no solo los técnicos de control de calidad realizan pruebas. Los desarrolladores también colaboran. En un sistema de kanban es responsabilidad de todo el equipo asegurar que el trabajo progrese de forma fluida.

Menos cuellos de botella

Las multitareas son un lastre para la eficiencia. Cuantos más elementos de trabajo haya en progreso, más se cambia el contexto, lo que entorpece la finalización. Por ello, un principio fundamental de kanban es limitar la cantidad de trabajo en progreso. Los límites del trabajo en progreso revelan los cuellos de botella en el proceso del equipo debido a la falta de concentración, personal o habilidades.

Por ejemplo, un equipo de software típico podría tener cuatro estados de flujo de trabajo: Por hacer, En progreso, Revisión del código y Terminado. Podrían optar por establecer un límite de trabajos en progreso de dos en el estado de revisión del código. Puede parecer un límite bajo, pero tiene un buen motivo: 

los desarrolladores normalmente prefieren escribir código nuevo que perder tiempo revisando el trabajo de otra persona. Un límite bajo anima al equipo a prestar especial atención a las incidencias en el estado de revisión y a revisar el trabajo de otros antes de generar sus propias revisiones del código. En última instancia, con esto se reduce la duración del ciclo general.

Métricas visuales

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

Cuando 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 la duración del ciclo de cada incidencia, así como una media acumulada del equipo.

status-exclaim
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.

Agile control chart | Atlassian agile coach

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

Cumulative Flow Diagram

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

SCRUM

KANBAN

Metodología de publicación

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

Flujo continuo

Funciones

Propietario del producto, experto en scrum, equipo de desarrollo

Entrega continua o a discreción del equipo

Métricas clave

Velocidad

Tiempo del ciclo

Filosofía de cambios

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

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!

Jira board

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. Me encontrarás a menudo en la intersección de la tecnología, la fotografía y el motociclismo.

Contenido destacado de Kanban

OSZAR »