Kanban aplicado al desarrollo de software

El método Kanban surgió a principios del siglo XX gracias a un ingeniero industrial japonés de Toyota, y fue creado para conseguir una eficiente producción de automóviles. La empresa nipona se ha convertido en uno de los referentes en su industria y ha experimentado un crecimiento notable gracias a ella.

Pero, ¿es posible utilizar las metodologías ágiles para el desarrollo de software?

¿Qué es el método Kanban?

Esta metodología está diseñada para soportar un control productivo y descentralizado por demanda. En el desarrollo de software ágil se utiliza para visualizar los proyectos, al colocar una serie de tarjetas en un panel o soporte. A esto se le denomina tareas Kanban.

Por tanto, el método Kanban se basa en un sistema de señalización en el que se visualizan las tareas de producción por demanda mediante tarjetas. El objetivo con el que se concibió consiste en minimizar el trabajo en progreso y el stock entre procesos.

Esto quiere decir que el proceso que sigue a otro solo se lleva a cabo si el inferior lo necesita, es decir, se realiza a demanda real. El peor de los gastos de una empresa es la sobreproducción, y para prevenirlos hay que controlar todos los procesos. Si un trabajador de un nivel inferior necesita material de un nivel superior, se fabrica, pero el proceso superior nunca produce nada sin una previa instrucción del inferior.

Características más importantes de Kanban

El método Kanban se organiza con un tablón grande dividido en columnas. El número de columnas pueden variar dependiende del nivel de complejidad o fases del proceso. A continuación explicaremos las más usadas para el desarrollo de software:

  • Lista de tareas o «To do»: aquí se engloban la lista de tareas que están pendientes y que se pueden afrontar inmediatamente. Para destacar la prioridad de las tareas, se colocan arriba las de mayor prioridad y orden descendente el resto, posteriormente, se puede pasar a otras columnas.
  • En desarrollo o «Doing» : Aquí se sitúa una tarea hasta que se complete. Si algo falla, la tarea debe regresar a la columna previa.
  • Pruebas: Se realizan las comprobaciones o test necesarios para ver si la tarea se ha realizado con éxito o no. Si está todo correcto pasa a la siguiente fase, si no, volvería a la fase de desarrollo. Esta columna puede ir como columna independiente o como una subcolumna dentro de «Doing», aunque el resultado y el orden es el mismo.
  • Despliegue: Una vez validado el código se añaden a esta columna para su subida a producción en el sistema. Si todo funciona correctamente se pasaría a la siguiente fase.
  • Terminado o «Done»: Aquí se incluyen las tareas que están finalizadas por completo.

Para mejorar el proceso de gestión, es necesario establecer un número máximo de tareas por columna. Esto dependerá del equipo con el que cuentes. Para un desarrollo de software, si dispones de 8 programadores no tiene sentido que tengas 10 tareas en proceso. Algunas de ellas deben estar en la columna de «pendiente».

¿Cómo usar Kanban en el desarrollo de software?

A continuación veremos cómo se puede utilizar Kanban durante un proceso de desarrollo de software.

El trabajo en proceso o work in progress (WIP), se entiende como la cantidad de tareas en las que está trabajando el equipo, esta se debe limitar con un número máximo en cada una de las columnas o fases del proceso. Al limitar este número, se puede identificar claramente donde se encuentran los «cuellos de botella» e incidir en ellos antes de que compliquen el proceso total de producción. Establecer esta cantidad de tareas por zona es un prerequisito básico que debe consensuarse antes de comenzar a funcionar con el tablero de Kanban, aunque luego pueda modificarse para adaptarse a las capacidades reales del equipo.

El motivo de esta limitación es centrar los esfuerzos o capacidades del equipo en cerrar tareas, no en abrirlas, de esta manera, no podremos abrir más tareas hasta que se cierren otras.

Si conseguimos seguir estos pasos y hacer que todo el equipo se involucre en esta nueva forma de trabajar, conseguiremos un mayor control de las fases de procesos, una mayor flexibilidad en la producción, respondiendo rápidamente a las demandas de tus clientes, disminuir el tiempo dedicado a otras tareas improductivas, siendo por tanto más eficientes, y lo mejor de todo, hacer que los miembros del equipo se sientan más participes en el proyecto.

En algunas ocasiones este método se suele utilizar combinado con el marco de trabajo SCRUM. Si tienes curiosidad por este framework agile, te dejamos aquí el enlace a nuestro blog Como empezar a trabajar con SCRUM.

Guardar

Guardar

2019-08-05T11:22:56+02:0023 mayo, 2019|

¡Compártelo en tus redes sociales!

Ir a Arriba