Estás familiarizado con Scrum, ¿verdad? Supongo que sí, teniendo en cuenta que The Scrum Alliance tiene más de 400, 000 miembros, y de ellos, la mayoría lo está utilizando con éxito en sus organizaciones.
Pero, no es la única forma de construir software de una manera ágil, ¡en serio! ¿Has oído hablar de Kanban?
Para obtener un poco de información básica, se aplicó originalmente a la fabricación ajustada como una forma de visualizar la entrada y salida del trabajo a medida que fluía a través de una fábrica. Esta visualización se presentó en un tablero conocido como Kanban, espere. Más recientemente y más pertinente para usted, se ha adoptado como un método para administrar el desarrollo de software.
Esbozado por primera vez por el neurólogo David J. Anderson, es una forma de organizar el desarrollo y la planificación de software que le permite descubrir problemas de proceso y ofrecer mejoras valiosas en su producto, lo que sé que suena ideal. En pocas palabras, en cualquier momento, puede ver dónde se encuentra el trabajo (representado por tarjetas) en el proceso de desarrollo.
Cómo funciona
La placa Kanban básica utiliza seis columnas que muestran dónde se encuentra cada trabajo en el ciclo de desarrollo del producto. Una muestra aproximada de cómo se ve a continuación.
Vea este ejemplo de tablero Kanban en Trello.
Columna 1: Backlog
La columna Backlog debe contener una lista priorizada de ideas, errores o necesidades comerciales. La tarjeta aún no tiene que tener muchos detalles, pero debe tener suficiente información para que los miembros de su equipo entiendan por qué es importante.
Columna 2: Planificación
En esta columna, un gerente de producto completará una especificación para la característica al reunirse con partes interesadas del negocio, ingenieros y diseñadores. Cuando esté listo, él o ella lo moverá a la columna "Listo para Ingeniería".
Columna 3: Listo para Ingeniería
En esta etapa, todas las tarjetas deben tener especificaciones detalladas. Si bien aún puede tener preguntas sobre detalles técnicos, los requisitos comerciales deben ser claros.
Columna 4: En progreso
Puede mover una tarjeta a "En progreso" en cualquier momento. Este sistema de "atracción" autónomo construye una cultura de responsabilidad personal y curiosidad.
Columna 5: Pruebas
Cuando haya completado el trabajo en la tarjeta, muévala a "Pruebas" donde otro ingeniero (o alguien del equipo de control de calidad) la recogerá.
Columna 6: Desplegado
Otra característica definitoria es que el trabajo debe entregarse continuamente a un entorno de preparación o producción. Esta columna permite a cualquier persona del equipo ver qué trabajo se ha lanzado recientemente.
Las ventajas y compensaciones
Cuando decida entre Kanban y una metodología más común como Scrum o Waterfall, tenga en cuenta estos beneficios y desafíos:
Beneficio: mejora la colaboración
En algunos equipos de desarrollo con los que he trabajado, los ingenieros eran especialistas. Cada equipo tendría un par de ingenieros frontales e ingenieros de fondo. Esto significaba que el trabajo a menudo estaba bloqueado porque un ingeniero estaba ocupado con otra cosa.
Kanban, por otro lado, limita el trabajo en progreso y desalienta los bloqueos. Cada miembro del equipo solo puede trabajar en un elemento a la vez, y cualquiera que no esté ocupado puede sacar el trabajo de la parte superior de la columna "Listo para ingeniería". Esto alienta a los generalistas de ingeniería y la colaboración entre los miembros del equipo.
Aumente el beneficio: no deje pasar las cosas antes de que estén listas
Kanban solo funciona cuando esperas para mover las cartas a la siguiente columna hasta que estén completamente terminadas. (Bonificación: esto minimiza en gran medida los defectos).
Desafío: desalienta el tiempo para reflexionar
De manera predeterminada, no hay sprints en tiempo real con objetivos claros, objetivos de fecha y ciclos de lanzamiento. En cambio, piense en cada tarjeta como un trabajo independiente que se puede completar y lanzar en cualquier momento.
Con este flujo continuo de trabajo, no hay opción de "esperar hasta el próximo sprint". Debe verificar continuamente el tablero, extraer el siguiente elemento y mover los elementos completados hacia abajo. A menos que construyas a tiempo para retrospectivas y standups, puede ser difícil para los miembros del equipo mantenerse al día con su desempeño.
Desplácese: pida prestado lo que funciona de Scrum
Utilicé standups y retrospectivas diarias con Kanban y descubrí que agregan valor. Si hay reuniones o patrones regulares que funcionan para su equipo, no los cambie para adherirse dogmáticamente a Kanban. Dedique tiempo para hablar sobre las prioridades y cómo han cambiado para que todos sepan lo que está sucediendo en el ciclo de desarrollo de productos.
Beneficio: aumenta la transparencia
Cada desarrollador debe tomar la iniciativa de mover una tarjeta a la columna "En progreso". Es decir, en cualquier momento dado, el gerente del equipo puede ver quién está ocupado, quién no está ocupado y cuánto tiempo ha estado trabajando.
Cuando la producción se ralentiza o se detiene, Kanban le permite ver exactamente por qué. Ya sea porque el equipo de negocios no ha priorizado elementos en la cartera de pedidos, el equipo de producto no ha terminado las especificaciones, el equipo de desarrollo se está moviendo más lentamente de lo esperado o el equipo de control de calidad no ha podido probar algo; Los cuellos de botella son obvios.
Aumente el beneficio: permita que el progreso sea público
Una de las ventajas es que Kanban es muy visual. Incluso los miembros del equipo no técnicos pueden mirar un tablero Kanban y decir dónde se encuentran los trabajos en el proceso. Use esto para su ventaja y permita que los logros del equipo brillen colocando su tabla en un lugar público.
Desafío: no permite la planificación a largo plazo
Preocuparse por los plazos y las estimaciones no es el uso más productivo de su tiempo, por lo que puede apreciar que Kanban es más sobre la producción del día a día. Dicho esto, por sí solo no proporciona un sistema para construir un plan a largo plazo. Esto puede hacer que trabaje en proyectos esporádicamente en lugar de centrarse en una cosa durante mucho tiempo. Es difícil pasar un día en el Proyecto A, luego un día en el Proyecto B y luego volver al Proyecto A.
Desplácese: utilícelo cuando sus prioridades probablemente cambien
Cada columna de su tablero es independiente de las demás, por lo que los miembros del equipo pueden mover las cosas en cualquier momento. Esto puede molestar a los desarrolladores en una configuración Scrum (donde las estimaciones para el sprint se hacen por adelantado), pero Kanban prospera en este tipo de entorno que cambia rápidamente.
Todos quieren ser más productivos, pero puede ser difícil probar algo nuevo si ni siquiera estás seguro de por dónde empezar. He encontrado que Kanban es útil y espero que también lo encuentre útil para su flujo de trabajo personal (¡o incluso para todo su equipo!).
¡Envíame un tweet si decides darle una oportunidad!