T E C N O L O G Í A
Aplicando
Kanban KANBAN ES UNA METODOLOGÍA ÁGIL QUE PERMITE VISUALIZAR EL FLUJO DE TRABAJO, DIVIDIR TAREAS Y OPTIMIZAR EL TIEMPO DENTRO DE LA OFICINA. UNA EFECTIVA ESTRATEGIA PARA LA GESTIÓN DEL CAMBIO QUE TÍMIDAMENTE VA ABRIÉNDOSE CAMINO EN EL UNIVERSO TI.
38
al testing de software POR ERNESTO KISZKURNO Socio Pragma Consultores y NORA SAIDMAN Coordinadora de proyectos de QA de Pragma Consultores
Un enorme tablero domina la pared de la oficina. Distintas tareas llenan filas y columnas junto a pequeños post-it amarillos que se van trasladando de forma dinámica. Detrás de esta aparente telaraña de anotaciones hay una metodología de trabajo conocida como Kanban y que ha demostrado ser muy exitosa en la disciplina del testing de software. La idea es simple y efectiva: las señales visuales marcan bloques de trabajo y el plan es no avanzar con una nueva tarea hasta que no se haya cumplido la anterior en la cadena. Si no se adelanta en el tablero, se corre el riesgo de que los elementos bloqueen el flujo productivo. Una imagen que funciona como una perfecta metáfora del trabajo en equipo. Cualquier problema o “cuello de botella” quedará en evidencia en la pizarra. El nombre Kanban surge de la combinación de dos conceptos: “kan” (visual) y “ban” (tarjeta o tablero). Es un término japonés acuñado por Toyota hace varios años. Ellos lo usaban para señalizar los productos parciales en la línea de montaje fabril. Kanban se enmarca dentro de las llamadas metodologías ágiles que, como su nombre lo indica, buscan dar rapidez y practicidad a los procesos. Entre sus fundamentos –establecidos en el año 2001 en el Manifiesto Agile–, se encuentra el de revalorizar las interacciones entre individuos por sobre los procesos y herramientas o la respuesta ante el cambio. Hoy, a casi una década, estas metodologías –a las que se suman por ejemplo Scrum o Extreme Programming–, se aplican en proyectos de software en todo el mundo. Si bien Kanban se usa en diversas industrias y desde hace mucho tiempo en la de software, en particular se comenzó a utilizar en 2003 gracias a David Anderson, pionero en la materia y autor de varios libros sobre metodologías ágiles.
Kanban en la industria del software El método Kanban fue inventado por Sakichi Toyoda en 1902 con el objetivo de mejorar el proceso de fabricación textil que el Grupo Toyota tenía en aquel momento (en lo que para algunos fue el nacimiento del concepto de “automatización” en la industria). Con el tiempo, el grupo fue evolucionando a la empresa que conocemos hoy y el método a lo que se conoce vulgarmente como Toyota Production System (TPS). En la disciplina de desarrollo de software, y dentro de las herramientas de proceso llamadas ágiles, Scrum es la más usada. Pero, según explica Anderson, Kanban funciona mejor para ciertos procesos de mantenimiento de software, y por eso su amplia difusión actual en esta industria. Pero, más allá de su creciente popularidad, es difícil encontrar referencias al uso de Kanban dentro de la práctica de testing de software. Es un hecho llamativo ya que esta metodología puede estructurar muy bien la actividad de un área o equipo de testing. Henrik Kniberg, reconocido consultor en compañías de IT, subraya tres ejes claves de Kanban. El primero implica visualizar el proceso (workflow) de trabajo, partiendo el trabajo en diferentes piezas. También ayuda a limitar el trabajo en curso (work in progress) y, por último, a optimizar el flujo de trabajo midiendo el lead time (el promedio de tiempo necesario para terminar una pieza). Estos tres puntos son más que importantes a la hora de testear software en forma continua. De la teoría a la práctica Una QAF (Quality Assurance Factory) es un área de servicios compartidos orientada a controlar la calidad de los productos de software elaborados en una determinada organización (u organizaciones). El concepto es similar al ampliamente difundido de Software Factory. Usualmente es vista como una unidad organizacional independiente que provee servicios a sus clientes (internos o externos) y percibe por ello ingresos (un profit center). En algunas organizaciones se encuentra totalmente tercerizada a manos de un proveedor especializado, en otras está formada por recursos propios. Dentro de los desafíos para gestionar una QAF hay dos que son los más importantes. El primero tiene que ver con establecer un modelo de cobros dinámico que permita obtener los recursos necesarios para brindar servicios al nivel de calidad esperado. El segundo implica gestionar la demanda de trabajo. La unidad organizacional tendrá múltiples clientes a los que deberá proveer diferentes servicios, con cronogramas
39