Una forma subestimada para que los equipos de ingeniería mejoren su flujo de trabajo

Estás familiarizado con Scrum, ¿verdad? Teniendo en cuenta que Scrum Alliance tiene más de 400 000 miembros, supongo que sí, la mayoría de ellos lo está utilizando con éxito en sus organizaciones.

Pero esa no es la única forma de crear software de forma ágil, ¡en serio! ¿Has oído hablar de Kanban?

Para algunos antecedentes, se aplicó originalmente a la fabricación ajustada como una forma de visualizar la entrada y salida del trabajo a medida que fluye a través de una fábrica. Esta visualización se presenta en un tablero Kanban llamado “Espéralo”. Más recientemente, y más relevante para usted, se ha utilizado como método de gestión del desarrollo de software.

Delineado por primera vez por el neurocientífico David J. Anderson, es una forma de organizar el desarrollo y la planificación de software que le permite identificar problemas de procesos y ofrecer mejoras valiosas de manera consistente a su producto. Lo sé, suena muy ideal. En resumen, en cualquier momento, puede ver dónde se encuentra el trabajo (representado por tarjetas) en el proceso de desarrollo.

Cómo funciona esto

El tablero Kanban básico utiliza seis columnas para mostrar dónde se encuentra cada trabajo en el ciclo de desarrollo del producto. A continuación se muestra un ejemplo aproximado.

Mira este ejemplo de Kanban en Trello.

Columna 1: Trabajo atrasado

La columna Backlog debe contener una lista de ideas priorizadas, errores o necesidades comerciales. Esta tarjeta no necesita 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, los gerentes de producto completarán la especificación funcional al reunirse con las partes interesadas del negocio, ingenieros y diseñadores. Cuando esté listo, lo moverá a la columna “Preparando proyecto”.

Columna 3: Preparándose para la ingeniería

En esta etapa, todas las tarjetas deben tener especificaciones detalladas. Si bien aún puede tener preguntas sobre los detalles técnicos, los requisitos comerciales deben ser claros.

Columna 4: En Progreso

Puede mover una tarjeta a “En curso” en cualquier momento. Este sistema de “atracción” autodirigido crea una cultura de responsabilidad personal y curiosidad.

Columna 5: Prueba

Cuando haya terminado con el trabajo en la tarjeta, muévala a “Prueba” y otro ingeniero (o alguien del equipo de control de calidad) la recogerá.

Columna 6: Implementado

Otra característica definitoria es que el trabajo debe entregarse continuamente a un entorno de ensayo o producción. Esta columna permite que cualquier miembro del equipo vea los trabajos publicados recientemente.

Ventajas y compensaciones

Cuando decida entre Kanban y métodos más comunes como Scrum o Waterfall, tenga en cuenta los siguientes beneficios y desafíos:

Beneficio: colaboración mejorada

En algunos de los equipos de desarrollo con los que he trabajado, los ingenieros son expertos. Cada equipo tendrá varios ingenieros front-end e ingenieros back-end. Esto significa que el trabajo a menudo se bloquea porque los ingenieros están ocupados con otras cosas.

Kanban, por otro lado, limita el trabajo en curso y evita el bloqueo. Cada miembro del equipo solo puede trabajar en un proyecto a la vez, y cualquiera que no esté ocupado puede sacar el trabajo de la parte superior de la columna “Preparando trabajos”. Esto fomenta la colaboración entre los ingenieros generales y los miembros del equipo.

Mejore la eficiencia: no deje que las cosas pasen hasta que estén listas

Kanban solo funciona cuando esperas a mover las tarjetas a la siguiente columna hasta que estén completamente completas. (Bonificación: esto reduce en gran medida los defectos).

Desafío: desalentar la reflexión

De forma predeterminada, no hay sprints con límite de tiempo con objetivos claros, objetivos de fecha y ciclos de lanzamiento. En su lugar, piense en cada tarjeta como una pieza independiente que se puede completar y liberar en cualquier momento.

En este flujo de trabajo continuo, no existe la opción “esperar hasta el próximo sprint”. Debe revisar constantemente el tablero, bajar un elemento y mover los elementos completos hacia abajo. A menos que tenga retrospectivas oportunas y reuniones de pie, puede ser difícil para los miembros del equipo mantenerse al día con la forma en que trabajan.

Evítalo: tomando prestado de cómo funciona Scrum

Utilizo el soporte y la revisión diarios de Kanban y descubro que agregan valor. Si hay reuniones periódicas o patrones que funcionan para su equipo, no los cambie a dogmáticos apegados a Kanban. Presupueste tiempo para discutir las prioridades y cómo están cambiando para que todos sepan qué está pasando en el ciclo de desarrollo del producto.

Beneficio: mayor transparencia

Cada desarrollador debe mover activamente una tarjeta a la columna “En progreso”. Esto significa que, en cualquier momento, el administrador del equipo puede ver quién está ocupado, quién no 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 está priorizando elementos en la cartera de pedidos, el equipo de producto no ha terminado las especificaciones, el equipo de desarrollo se está moviendo más lento de lo esperado o el equipo de control de calidad no puede probar algo; el cuello de botella es claro.

Mejorando la Efectividad: Hacer Público el Progreso

Una de las ventajas es que Kanban es muy intuitivo. Incluso los miembros del equipo sin conocimientos técnicos pueden ver el tablero y ver qué está funcionando en el proceso. Use esto a su favor y deje que los logros de su equipo brillen colocando su tablero en un espacio público.

Desafío: no se permite la planificación a largo plazo

Preocuparse por los plazos y las estimaciones no es el uso más eficiente de su tiempo, por lo que puede apreciar que Kanban se centre más en la producción diaria. Dicho esto, por sí mismo no proporciona un sistema para construir planes a largo plazo. Esto puede llevarte a trabajar en proyectos ocasionalmente en lugar de concentrarte en una sola cosa durante mucho tiempo. Es difícil pasar un día en el proyecto A, luego pasar un día en el proyecto B y luego volver al proyecto A.

Evítalo: úsalo cuando tus prioridades puedan cambiar

Cada columna del tablero es independiente de las demás, por lo que los miembros del equipo pueden mover el contenido en cualquier momento. Esto puede molestar a los desarrolladores en un entorno Scrum (donde las estimaciones de sprint se realizan por adelantado), pero Kanban prospera en este entorno que cambia rápidamente.

Todo el mundo quiere ser productivo, pero es difícil probar cosas nuevas si ni siquiera está seguro de por dónde empezar. He descubierto que Kanban es útil y, con suerte, lo encontrará útil para su flujo de trabajo personal (¡o incluso para todo su equipo!).

Notificarme Si decides darle una oportunidad!

Foto del equipo mirando la computadora proporcionada por Yuri_Arcurs/Getty Images.

Este artículo es de índole informativo, es una recopilación de información de internet, esta información no necesariamente esta actualizada o es una fuente final de información. .