Dado: Una compañía que usa el marco Scaled Agile (SAFe) para escalar el desarrollo Agile en toda la organización; 10 equipos de desarrollo, combinados en un equipo grande (Agile Release Train, de acuerdo con la terminología SAFe), entregando un producto común; la necesidad de una planificación trimestral de dos días (PI Planning) para determinar el plan de trabajo de los equipos de TI para los próximos 3 meses *; tres oficinas de desarrollo, la distancia entre los más distantes supera los 6 mil kilómetros con una diferencia correspondiente de 5 horas de tiempo de trabajo; experiencia previa en planificación, que implica la presencia física de colegas clave en la misma habitación y el uso de pizarras analógicas / pizarras / marcadores / notas adhesivas.
* La construcción de peso pesado "Plan de trabajo del equipo de TI para los próximos 3 meses" amenaza con aumentar seriamente el volumen del texto, por lo que en el futuro planeo escribir simplemente: "comentar" en su lugar. En consecuencia, elabore y adopte un plan de trabajo: "comprometerse".
¿Por qué se necesita esto?
1) Fatiga por métodos de trabajo análogos. Mientras las naves espaciales aran los espacios abiertos, y Elon Musk cava túneles, nosotros, los especialistas en TI, escribimos persistentemente con marcadores en trozos de papel y esculpimos en los tableros; esto es una especie de disonancia. Así es como se veía nuestro comentario hace un tiempo:

Sí, este es un trozo de papel de aproximadamente 2x5 metros de tamaño, y después de la planificación, cada trozo de papel debe convertirse en una tarea en el Jira ...
2) La fatiga de los compañeros nómadas. A pesar del hecho de que nuestra oficina central se encuentra en un país cálido y bastante acogedor, para mi sorpresa el año pasado descubrí que no estaban del todo contentos con una vida tan nómada, y mis argumentos al estilo de "vamos, vamos al mar, tomar el sol ", que tuve la imprudencia de expresar, no fueron muy bien recibidos: no todos están listos para frecuentes viajes de negocios, sus familias no siempre agradecen esto, alguien no reacciona muy bien a los vuelos frecuentes.
3) Conectar a más colegas de TI al proceso de planificación. Como queda claro en el párrafo anterior, no podíamos permitirnos enviar toda la oficina para la planificación, por lo tanto, enviamos solo a los Elegidos, excluyendo así al resto del proceso, que no agregó ventajas a la moral general.
4) Optimización de costos financieros. Sí, este es un momento delicado: hay muchas personas clave, y llevarlas de un lado a otro cuatro veces al año es una sobrecarga.
Parte cero, o cartera de pedidos
Y todo comienza mucho antes: para trabajar fructíferamente en el comentario durante la planificación, es necesario que haya algo que comprometer. Para asegurar esto, tengo que "cargar" a los dueños de negocios con el trabajo en las iniciativas propuestas (o, en terminología SAFe, Epicam, pero usaré el término que me resulta familiar) lo antes posible. Idealmente, este proceso debería estar completamente divorciado de la naturaleza cíclica de la planificación trimestral y seguir su propio camino kanban. Como base, tomamos la cartera SAFe Kanban:

Tenemos un proyecto JIRA separado con tres tipos de tareas: épicas, iniciativas comerciales e iniciativas arquitectónicas; así como el tablero Kanban correspondiente. El algoritmo para el dueño del negocio de la iniciativa es simple: agrega la tarea a este proyecto y, por defecto, cae en el Backlog: este es el primer estado de nuestro kanban:
Embudo:
Almacena iniciativas que aún no están listas para su revisión. El dueño del negocio está trabajando en el contenido de la iniciativa hasta que se sienta listo para el siguiente paso. El mínimo requerido en esta etapa es completar los campos Declaración del problema, Resultado deseado y Medida del éxito, así como una presentación un poco más detallada, pero simple y clara. En esta etapa, es importante evitar mencionar las soluciones técnicas y centrarse en los parámetros comerciales. Cuando se recopilan todos los datos, el propietario mueve la tarea al siguiente estado:
Revisión.Llevamos a cabo una revisión semanal, tanto para iniciativas empresariales como arquitectónicas. Idealmente, esta es una presentación de cinco minutos con respuestas posteriores a las preguntas. El resultado de la revisión es una decisión sobre el destino de la iniciativa. Ella puede:
- regrese a la cartera de pedidos para revisión
- abolir sin una oportunidad de vida adicional (para esto utilizo un estado separado de desactualizado , oculto en el tablero Kanban)
- obtener aprobación y pasar a la siguiente etapa: análisis.
En esta etapa, estamos de salud! - Podemos atraer empleados de TI: analistas, arquitectos, clientes potenciales, cualquier persona. Por "nosotros" me refiero a mí mismo como ingeniero de trenes de lanzamiento, pero en el caso ideal, dueños de negocios que ya han adquirido cierta experiencia y la independencia necesaria para atraer a los equipos correctos y comenzar el proceso de análisis por su cuenta. Estoy escribiendo sobre un caso ideal, porque el nivel de autoorganización de nuestros colegas es variable, y en algunos casos piden ayuda en forma de un facilitador especialmente designado, pero trato de alejarme un poco de esta práctica.
El propósito de esta etapa es el análisis preliminar o, como lo llamamos, predescubrimiento. A la salida, debemos obtener el mínimo que nos permita comprometernos: las soluciones propuestas, los riesgos y las dependencias, los requisitos no funcionales y de infraestructura, los mapas de usuarios, los esquemas arquitectónicos. Además, pedimos a los equipos que den una evaluación preliminar de los puntos de la historia a nivel de características, lo que nos permitirá determinar las prioridades al final del trimestre.
Para cada iniciativa, se crea un tablero Kanban personal, en el que, a medida que los crea, puede ver características e historias, con un enlace inicial a una determinada iteración, que es proporcionada por un flujo de trabajo separado en forma de iteraciones futuras. En tableros, los equipos personalizados se configuran según los equipos de desarrollo. Dado que el ecosistema JIRA es bastante complicado, durante el predescubrimiento y el descubrimiento creamos tareas en proyectos separados para no saturar los atrasos de comandos:

Además, en la etapa de análisis, los arquitectos están involucrados en este proceso o, como se ha acostumbrado recientemente, sus personas de confianza son "Embajadores" (EA Ambassadors). Su tarea es transmitir la visión del departamento de arquitectura a los participantes del proceso, ayudar a encontrar la mejor solución y, al final, coordinar esta decisión con el arquitecto jefe de la empresa (Jefe de Arquitectura Empresarial).
Cuando los equipos creen que la iniciativa está bien desarrollada y lista para el siguiente paso, la trasladan al siguiente estado:
cartera de pedidos.
En esta etapa, un paso importante es llevar a cabo la priorización de WSJF (el
trabajo más corto ponderado primero ). Para hacer esto, 3 semanas antes de la planificación, celebramos una gran reunión, que, lamentablemente, lleva muchas horas, y durante esta reunión, utilizando el puntaje de póquer Fibonacci, los miembros del consejo de administración evalúan el valor comercial, la importancia del tiempo Tiempo crítico), reducción potencial de riesgos y habilitación de oportunidades:

Para poder rastrear el historial de iniciativas, a cada una de ellas agrego una etiqueta en la plantilla con datos del trimestre: 2018T4, 2019T1, etc.
Mirando hacia el futuro, describiré los siguientes estados posibles. Después de comprometerse, las iniciativas que se tomaron con éxito para trabajar se trasladan al estado de
Implementación , mientras que los "no aptos" obtienen el estado
Estacionado y en el futuro tienen la oportunidad de ser considerados para los próximos trimestres. Las iniciativas entregadas se trasladan a
Listo .
Como resultado, tenemos aproximadamente la siguiente imagen en el tablero Kanban:

Por supuesto, ni siquiera estamos en el medio del viaje, pero por el momento ya puedo notar que gracias al uso de Kanban en el nivel de Cartera-Backlog
- Los dueños de negocios comenzaron a elaborar iniciativas en detalle y prepararse seriamente para una revisión
- La revisión se ha vuelto más meticulosa en el buen sentido.
- Los equipos tienen más tiempo de predescubrimiento
- No pierdo iniciativas antiguas: siempre puede volver a iniciativas aparcadas, no entregadas u olvidadas y trabajar en ellas más
Herramientas utilizadas en esta etapa:
- Servidor de software Atlassian Jira
- Complemento Colors for Jira: para resaltar iniciativas empresariales y arquitectónicas
- Plugin 'Estructura - Gestión de proyectos a escala' - para visualizar la estructura de iniciativas con características vinculadas a ellas y su priorización WSJF
- Confluencia Atlassian - Fuente de documentación interna
- Lucidchart y sus complementos para Jira y Confluence - para gráficos
Parte I. Preparación para la planificación
En algún lugar un mes antes de la planificación, es un momento caluroso para la preparación. Hay mucho que considerar, y para no olvidar nada, debe crear una tabla de Google "logística" de varias páginas. Trataré de describir las pestañas más importantes de esta tabla y la actividad que las rodea.
Comentarios Unos días después de cada planificación, llevamos a cabo una retrospectiva, y para ajustar el curso, es importante no olvidar a qué conclusiones llegamos y cómo necesitamos ajustar el curso. Esta es una parte importante en el contexto de la mejora continua del proceso.
Entrenamiento técnico. Con la transición a la planificación remota, surgieron solicitudes específicas, como la calidad de la conexión a Internet (priorización y optimización de ruta para JIRA y Confluence) y la presencia de televisión y audio (utilizamos kits de Logitec Group, micrófonos Jabbra y auriculares personales en varias combinaciones, cámaras web, Software de zoom para videoconferencia).
Facilitadores Aquí hay una lista de empleados responsables de la facilitación en cada uno de los grupos de trabajo, indicando su ubicación y un enlace al canal Zoom permanente del grupo de trabajo.
La audiencia En consecuencia, una lista completa de todos los invitados.
Lista de verificación Una lista completa de tareas importantes con plazos y responsables. Para una mayor inmersión, daré varios ejemplos de las tareas más características e importantes que se repiten para cada planificación: capacitación de facilitadores (se ha preparado un manual de capacitación para facilitadores con todos los pasos necesarios desde la organización de un equipo de trabajo, cronometrar reuniones para explorar opciones de soluciones técnicas y el proceso de descomponer la iniciativa en una lista de características) ; actualización de los planes de ubicación del grupo de trabajo para cada oficina; control de la actualización de Velocity para todos los equipos de desarrollo; orden de almuerzo; informar sobre trimestres anteriores; impresiones de listas de iniciativas (para estar a la mano) y horarios.
Parte II Planeando y comentando
Después de toda la carrera preparatoria, finalmente llega este momento: el comienzo de la planificación trimestral. En dos días deberíamos tener tiempo para clasificar todas las iniciativas, asegurarnos de que haya suficiente información y comprometernos. Después de algunos discursos breves pero incendiarios, los grupos de trabajo se dispersan en sus lugares y se ponen manos a la obra. Por el momento, el número de grupos se distribuye entre las tres oficinas de acuerdo con la fórmula 4x4x4, y los usuarios remotos se conectan a la mesa necesaria a través de un canal Zoom dedicado.
Al final del descubrimiento de cada una de las iniciativas, el facilitador, asegurándose de que todos los datos necesarios, como los criterios de aceptación, una descripción de la solución técnica, los riesgos, las dependencias, la necesidad de una nueva infraestructura, estén presentes, marca la iniciativa con la casilla de verificación IT Session Finished para la transparencia del progreso y el grupo de trabajo puede pasar al siguiente.
Después de una docena de planes, la sensación de tensión nerviosa constante y la presión temporal del tiempo que ha estado con nosotros desde el principio se ha resuelto en gran medida, y ahora la atmósfera es más como un trabajo tranquilo. En la segunda mitad del primer y segundo día, llega el momento de hacer un comentario pausado de acuerdo con las prioridades. Para ejecutar el commit, tengo varias estructuras separadas. El primero de ellos es una estructura que contiene una lista de características y rutas planificadas para comentarios:

Desafortunadamente, esta estructura contiene los restos de material que no se ajustaban a los comentarios del trimestre actual, por lo que la muestra no es representativa. En cualquier caso, en la búsqueda, puedo seleccionar la iniciativa que me interesa en orden de prioridad por número, que durante el proceso de descubrimiento se coloca en un campo separado para cada característica e historia, cambiar el estado de las tareas necesarias de Planificado a Comprometido y ponerlo en la iteración correcta, comprometiéndose así:

Como resultado, la tarea desaparecerá de esta estructura y aparecerá en una nueva, reflejando el comentario creciente:

Como puede ver en la captura de pantalla, en esta estructura las historias entran en la carpeta del equipo de desarrollo al que pertenecen y se agrupan por iteración. Aquí, veo la velosidad general del equipo en el nombre de la carpeta, así como en la columna Compromiso, usando la fórmula, el comentario excesivo para cada grupo se determina automáticamente y nos señala en rojo.
Por supuesto, si las primeras y más prioritarias iniciativas entran en comentarios sin problemas, pronto, con la aparición de los primeros equipos que han llenado su cartera de pedidos hasta el fracaso, los problemas comienzan y algunas iniciativas no están exentas de debate, pero deben posponerse.
Al final de este proceso simple, los equipos en la bandera de la compañía juran solemnemente hacer un comentario (una broma) y dispersarse a casa (también una broma: todos se dispersan por las rejas).
Herramientas utilizadas en esta etapa:
- Servidor de software Atlassian Jira
- Plugin 'Estructura - Gestión de proyectos a escala' - para monitorear el proceso de descubrimiento y durante la ejecución de una confirmación.
Parte III Clonación de tareas en un ecosistema JIRA funcional de una empresa.
Mientras todos beben vodka, RTE está trabajando en crear un comentario en la forma en que se pueda distribuir a los retrasos del equipo de desarrollo y monitorearse durante todo el trimestre. Para hacer esto, utilizo el plugin 'Bulk Clone Professional for Jira': agrega un elemento que proporciona clonación colectiva en el menú Bulk Change y tiene características tan necesarias para mí como clonar enlaces, actualizar enlaces entre clones recién creados, actualizar enlaces épicos, agregar prefijo en el encabezado y agrega automáticamente un acceso directo:

Agrego el estado como un prefijo, ya que en la etapa de planificación los estados reflejan la iteración planificada de finalización, y como resultado, veo inmediatamente en el encabezado cuando planeamos terminar una característica o historia.
Primero, clono absolutamente todas las tareas en un proyecto Global Backlog separado, ya que almacenamos epopeyas en él, y necesito tener conexiones relevantes de historias épicas en tareas recién clonadas. Y como segundo paso, hago solicitudes para cada equipo de desarrollo por separado y muevo las historias a los proyectos finales de los equipos.
Como resultado, creo una estructura que refleja el comentario actual y consta de tareas finales, que luego uso para monitorear:

En general, los beneficios resultantes de este enfoque son los siguientes:
- Puede parecer cursi, pero es más fácil para una persona de TI imprimir nuevas características e historias que escribir con un marcador en un papel adhesivo.
- Muchas cosas, como el equilibrio de capacidad y la actualización de WSJF, según las clasificaciones, se calculan automáticamente mediante fórmulas.
- Gracias a la clonación, el elenco original del commit se conserva para la historia y siempre puedes volver a él.
- Se ahorra mucho tiempo y energía en la preparación de la planificación: el trabajo con papel requiere fuerzas.
- Por supuesto, es genial que ya no necesites rellenar rompecabezas en una jira.
Herramientas utilizadas en esta etapa:
- Servidor de software Atlassian Jira
- Plugin 'Bulk Clone Professional for Jira': para clonar características e historias en proyectos finales de JIRA.
- Complemento 'Estructura - Gestión de proyectos a escala' - para crear la estructura final.
Epílogo
Amigos, por supuesto, entiendo que la descripción es bastante superficial, y muchas cosas podrían revelarse con más detalle: monitorear la distribución de capital entre las iniciativas comerciales y arquitectónicas y las tareas operativas, calcular fórmulas en estructuras, gestión de riesgos y mucho más. Pero aún no me queda claro si este tema es interesante para el público y, de ser así, qué exactamente. Si veo interés, estaré listo para revelar los temas necesarios.
Y una cosa más: es difícil de creer que esto sea posible, pero me gustaría evitar todos los problemas relacionados con Edge, marcos, gerentes efectivos y "eficientes". Recuerde que describí todo el proceso con la esperanza de personas interesantes que estén cerca de él con su implementación técnica, y realmente espero discusiones relevantes.
¡Nos vemos en los comentarios!