Deja de jugar al tetris (con equipos, sprints, proyectos e individuos)

Durante uno o dos años, he estado usando Tetris como una metáfora para una gran cantidad de antipatrones de desarrollo de productos de software. Funciona a nivel individual, de equipo, sprint, proyecto, programa y organización. Y no solo para el desarrollo ... funciona donde sea que las personas se coordinen para trabajar.

Esto no es un golpe para Tetris. Es un gran juego de rompecabezas y es posible ser "bueno" en Tetris. Cuando hablo de Tetris, estoy hablando de cómo la mayoría de la gente experimenta el juego.

Esta mañana me topé con este impresionante Tweet de Bill Murray, y me inspiró a escribir una publicación rápida sobre Tetris.

Todos sabemos lo que "siente" Tetris. Es un juego divertido. Pero como señala Murray, también hay un elemento de futilidad y masoquismo. ¡Es estresante! Ahora imagina que eres los bloques y las piezas. Imagina que la jugabilidad no está bajo tu control. ¡Así es como se siente trabajar en la primera línea en el desarrollo de productos de software a veces!

Algunos ejemplos de Tetris [Sprint, Feature, Team, Project] en el desarrollo de productos de software incluyen:

  1. Tirando de "pequeñas historias" a un sprint para alcanzar un objetivo ilusorio de "velocidad" (incluso cuando las historias no tienen nada que ver con un objetivo significativo).
  2. Fomentar altas tasas de utilización individual. Optimización para "parecer ocupado" en lugar de optimizar la eficacia, los resultados y el flujo.
  3. Planificación trimestral / anual de grandes lotes mediante la cual algunos grupos de gerentes / planificadores intentan "armar las piezas del rompecabezas" y "hacer todo esto en el trimestre" (incluso si las prioridades varían drásticamente).
  4. Pidiendo disciplinas funcionales como UX para "adelantarse" al trabajo, en un esfuerzo por trabajar de manera más "eficiente". Esto da como resultado un conjunto de dependencias y transferencias imposibles de navegar (y una falta de intercambio de información).
  5. Hacer suposiciones sobre el tamaño / forma del trabajo planificado (y el flujo del trabajo futuro) que terminan siendo falsas. Por ejemplo, se le pedirá a un equipo que "avance" de una iniciativa prometedora debido a las capas de planes dependientes.
  6. Reorganizar / rotar rápidamente los equipos para abordar una avalancha de proyectos.
  7. Paralelizar el trabajo dependiente con la esperanza de que una "porción horizontal" de múltiples proyectos pueda completarse simultáneamente (en lugar de tratar el trabajo como un solo proyecto).
  8. Nunca volveré a arreglar las cosas. Los "agujeros" permanecen, comiendo la psique colectiva de la organización.
  9. Presión cada vez mayor sobre "los equipos". Empujando equipos hasta que se quiebren. En lugar de arreglar las brechas, las capas de administración trabajan cada vez más hasta que el sistema experimenta un colapso espectacular. Los equipos, inevitablemente, tienen que limpiar el desorden (y se les culpa por no "retroceder").
  10. Aprovechando esa "pieza única" para encajar y salvar el día. Hasta entonces, sin avances. Cuando la pieza de bala de plata no aparece ... encuentras la próxima bala de plata.

Tienes la idea. Hay algunos temas comunes:

  • optimización prematura
  • pensamiento a corto plazo, toma de decisiones demasiado reactiva
  • empujar (ing) vs tirar (ing)
  • persiguiendo una alta utilización de individuos / equipos
  • dividiendo tareas / equipos / proyectos
  • intensidad cada vez mayor (empujando hasta el colapso)
  • ver partes en lugar del todo

Entonces, ¿cómo luchas contra la mentalidad de Tetris?

Jabe Bloom da en el clavo con este Tweet:

Al punto de Jabe agregaría:

  1. Trate de arraigar profundamente la idea de "atracción" en su organización. Es un gran cambio de mentalidad. Pull significa que comenzar algo SIEMPRE significa terminar algo más. No se cargan personas / equipos. No "empujas" el trabajo en equipos. Más bien, esperas a que los equipos se comuniquen cuando estén listos, y respetas eso. Debe confiar en que sus equipos harán lo mejor posible sin pedirles que se comprometan de antemano a grandes lotes de trabajo y a "alcanzar metas".
  2. Deja de fetichizar el ajetreo y la producción. Coloque una prima en hacer más con menos. Haga que la artesanía, el ahorro y la frugalidad sean parte de la cultura. "Por encima y más allá" está bien, pero a menudo inadvertidamente inunda el sistema. También incentiva el heroísmo local sobre el flujo global. Concéntrese menos en la producción / ocupación, y más en los beneficios y resultados.
  3. Aproveche el trabajo en progreso / limitaciones del proceso. Las restricciones de WIP sirven como una función forzada para la mejora continua, un catalizador para la extracción y una señal de que el sistema se está forzando y necesita algo de TLC. Piense en cada pieza / nivel en un tablero de Tetris como WIP. Desafortunadamente, las restricciones de WIP son contradictorias: buscamos estimaciones / conjeturas para "dimensionar" el trabajo y "llenar" el sistema. Esta es una receta para tasas de utilización peligrosamente altas y largos, largos plazos de entrega.
  4. Visualiza dependencias / visualiza el todo. Cuando separamos las cosas, tendemos a perder el hilo. Al visualizar las cosas "como un todo", tendemos a tomar decisiones más sabias. En lugar de seis "proyectos", tenemos una sola misión.
  5. Haz algo sobre los "agujeros". Cortar esquinas crea huecos. Racionalizamos los recortes para aprender antes, entregar antes y ganar dinero antes. El problema (como aprendemos en Tetris) es que las brechas se suman y agregan resistencia psíquica a los equipos y eventualmente causan colapso.
  6. Mapea tus suposiciones. Tendemos a actuar en base a una red de suposiciones (algunas conscientes, algunas inconscientes, algunas frágiles, otras robustas). Desarrollar un entendimiento compartido sobre nuestras suposiciones puede exponer "redes enredadas" temprano, y alentarnos a simplificar, consolidar planes en el último momento responsable y dejar más holgura en el sistema.

Lo único bueno de Tetris es que es muy visual. La razón por la que sirve como una gran metáfora antipatrón es que puedes ver / tocar / escuchar el colapso. Encuentre una manera de aportar sentido similar a su organización. De esa manera, si juegas Tetris con equipos, individuos, proyectos y programas ... el efecto neto será dolorosamente obvio.

Su mayor peligro es jugar Tetris (y sufrir el impacto) pero no tener forma de reflexionar sobre eso porque se ha arraigado demasiado en su cultura.

P: ¿Cómo sabemos que no estamos atrapados en un juego de Tetris?

R: En un nivel súper alto ... una sensación de flujo sostenible (y efectivo).