Scrum y enjambre tareas no paralelizables

8

Mi actual maestro scrum es un verdadero creyente que no está dispuesto a ceder en las formas oficiales de scrum. No quiero que esto suene desagradable, realmente estoy preguntando acerca de la solución ortodoxa a este problema porque he tenido éxito resolviendo problemas con él en el pasado al reformular las cosas en términos oficiales.

El ejemplo actual de un problema recurrente que tenemos es que hay algunas dependencias de orden entre algunas de nuestras historias. (En particular, parte del desarrollo utiliza un programa de terceros para el que solo tenemos una licencia de un solo puesto). Hay algunas tareas de configuración necesarias asociadas con esto que se han reunido en una "Historia de configuración" y luego tenemos 6 tareas que pueden seguir en cualquier orden.

El problema es que para el sprint actual sacamos la historia de configuración y una de las historias de seguimiento, en ese momento dije que no podemos tomar más historias en este grupo, a pesar de que nuestro sprint está a menos de la mitad. Hay historias no relacionadas en la cartera de pedidos que se priorizaron por debajo de este grupo que sugiero que podríamos incorporar al sprint. Sin embargo, todos fueron priorizados debajo de las historias en este grupo. En este punto, el maestro de scrum declaró que deberíamos enjambrar la "Tarea de configuración" y hacerla más rápido, este es un conflicto que hemos tenido antes y él ha clavado los talones.

Entonces, durante la primera mitad de este sprint, dos desarrolladores y un recurso de prueba me observan trabajar a través del sitio web de configuración del proveedor externo, descargar recursos y barajar certificados. Todo el tiempo sé que tenemos un lanzamiento en tres sprints y podríamos obtener casi todo el retraso que el PO quisiera, pero no lo haremos porque no se está trabajando en esas tareas mientras todos se sientan a mirar (er, enjambres) la tarea de configuración para la historia de mayor prioridad.

Mi maestro scrum dice que nuestra única preocupación es completar las historias que aceptamos para el sprint. Lo que entiendo, pero siento que estamos fallando a la organización más grande al no comunicar el "mal empaquetado del contenedor" que está causando la priorización que recibimos del propietario del producto.

Entonces, ¿qué tan oficialmente son manejados por la metodología los problemas de dependencias entre historias e inherentemente historias en serie?

Ukko
fuente
Esta limitación de licencia de terceros es una realidad y debe usarse como razón para priorizar las historias y cancelar este sprint y comenzar una nueva. Por mucho que todos quieran hacer una característica / historia particular primero, simplemente no va a suceder y no tiene sentido que todo espere. El enjambre es una solución que un Scrum Master debería sugerir, pero el equipo debería decidir si lo hace o no. No creo que haya nada en las leyes de Scrum que pueda evitar esto.
JeffO
@JeffO Intentamos retroceder un poco y básicamente recibimos una conferencia sobre ignorar los deseos del propietario del producto. Se habló sobre el uso de Scrumban en algún momento en el pasado y mi scrum master se opuso a eso porque el PO no tenía control. Es parte de nuestra disfunción particular que señalar que el enjambre no es apropiado en esta situación es respondido por un enjambre aún más personas.
Ukko
¿Por qué el probador no está trabajando en sus pruebas y / o plan de prueba? La prueba es una actividad que debe iniciarse mucho antes de que el código esté listo.
Bryan Oakley
@BryanOakley La respuesta que me dio mi scrum master fue porque podrían tener una buena idea y entrenamiento cruzado. Personalmente, lo veo como un desperdicio, mi scrum master siente que deberíamos evitar los silos de habilidades. Pensé que somos expertos en nuestras áreas, pero él dice que el objetivo es que podamos intervenir y ayudarnos mutuamente.
Ukko
1
@Ukko: esa es realmente una respuesta correcta. El objetivo principal es asegurarse de que no estén literalmente haciendo nada. Mientras sean parte del proceso desde el comienzo del sprint hasta el final, eso es todo lo que es importante. Con demasiada frecuencia, las pruebas se dejan hasta el final del sprint.
Bryan Oakley

Respuestas:

6

Entonces, ¿qué tan oficialmente son manejados por la metodología los problemas de dependencias entre historias e inherentemente historias en serie?

Como con cualquier otra cosa en Agile: Individuals and interactions over processes and tools

Si tu proceso no te sirve, entonces lo moldeas en algo útil. Para esto, incluiría historias de menor prioridad (o alguna deuda técnica / crecimiento personal que tal vez no sea visible en la cartera de pedidos) hasta que se elimine el requisito previo. Suponiendo, por supuesto, que ha realizado su diligencia debida y que realmente es un requisito previo difícil y rápido. Para muchas cosas, las interfaces y los simulacros pueden desbloquear el trabajo hasta que esté listo.

Telastyn
fuente
Señalaré totalmente las personas e interacciones sobre procesos y herramientas . Estoy totalmente a favor de conseguir trabajo, pero eso está muy mal visto, una vez más porque vamos en contra de las prioridades de la OP. Lo curioso es que parece ser un tema que está surgiendo mientras describo esto.
Ukko
2
@Ukko: las prioridades son prioridades, no una cola.
Telastyn
1
@Ukko: La forma oficial de Scrum de lidiar con ese problema es hablar con la OP si están dispuestos a volver a priorizar algún trabajo para completar el trabajo pendiente antes. Todavía tengo que encontrarme con un PO que no está dispuesto a trabajar con el equipo de esa manera.
Bart van Ingen Schenau
@BartvanIngenSchenau menciona que el PO suena una campana. Esa es una cosa que no está bien definida aquí. No tenemos un buen rol de OP en la organización, hay un grupo de BA que juegan el rol de OP pero no son los PO reales. En este caso, el BA está recibiendo mucha presión de la gerencia sobre esta funcionalidad específica, y tenía un poco de miedo de que tocáramos una historia de "baja prioridad".
Ukko
3

Una de las características de kanban, que creo se desvanece en scrum, es que el proceso en su conjunto se optimiza para el equipo , no para el individuo. En otras palabras, no es pecado si alguien en el equipo está inactivo durante parte del sprint.

Si el equipo en su conjunto elige X puntos de la historia, realmente no importa (para las partes interesadas) si una persona hizo todo el trabajo o si el trabajo se dividió en partes iguales. Entonces, si el propietario del producto está satisfecho con la cantidad de puntos que se incluyen en un sprint (¡y esta es la llamada del propietario del producto, no el scrum master!), Entonces eso es todo lo que importa.

Por supuesto, dicho esto, si algunos miembros del equipo no están directamente involucrados en la primera historia, pueden estar ocupados escribiendo pruebas o haciendo lo que puedan en las otras historias.

Como nota final, el scrum master tiene pocos negocios "cavando en sus talones". El scrum master debería estar trabajando para que usted elimine las barreras a la productividad, no para establecer barreras. Si el equipo en su conjunto siente que puede aportar otra historia de menor prioridad, esa es una decisión que debe tomar el equipo; el scrum master no tiene la última palabra en el asunto.

Se puede hacer una excepción si el equipo es joven y todavía está aprendiendo scrum, pero si el equipo es maduro, el objetivo principal del scrum es empoderar al equipo en lugar de a los gerentes.

Bryan Oakley
fuente
1

A mi modo de ver, tienes dos problemas diferentes:

  1. Cómo optimizar la productividad de su equipo.
  2. Cómo ordenar el producto y los atrasos de sprint basados ​​en dependencias.

Para la productividad de su equipo , puedo simpatizar con su Scrum Master: he descubierto, debido a la naturaleza humana, que la mayoría de las personas quieren mantener a todos ocupados, en lugar de optimizar a todo el equipo. Estar ocupado no equivale a productividad. El ralentí puede ser lo mejor que puede hacer un miembro del equipo en un momento dado.

Sobre el asunto específico de la tarea de configuración: esto suena como algo que debería automatizarse. Teniendo en cuenta su opinión, si estuviera trabajando con su equipo, me gustaría dedicar un tiempo a descubrir qué está pasando con este proceso de configuración que requiere mucho tiempo y bloqueo, ya que parece un candidato ideal para mejorar La efectividad del equipo.

También espero, como mínimo, que no seas la única persona en el equipo que puede hacer esto. Si tiene un día libre, espero que el equipo tenga otras personas que puedan manejar este proceso de cuello de botella. El enjambre podría ser una oportunidad para garantizar que varias personas aprendan a hacer esto.

Suponiendo que tiene una dependencia inevitable entre los elementos de la cartera de productos (PBI), consideraría que todos los PBI dependientes están bloqueados hasta que se aborde la dependencia de bloqueo. En general, esto significa dejar a los PBI bloqueados fuera de un Sprint. Dado que usted tiene control sobre la dependencia de bloqueo, puedo ver traer los PBI dependientes al sprint, pero eso parece un movimiento arriesgado. En Sprint Planning, en general, solo esperaría considerar PBI que no estén bloqueados.

Sin embargo, la conclusión es encontrar lo que funciona mejor para entregar un software valioso, probado y que funcione de la manera más efectiva posible.

danés
fuente
0

La regla número 1 para construir su reserva de sprint (agregar los elementos de la cartera de pedidos de su producto o PBI) debe seguir el principio básico de INVEST:

  1. Independiente: el PBI debe ser autónomo, de manera que no exista una dependencia inherente a otro PBI.
  2. Negociable: los PBI, hasta que formen parte de una iteración, siempre se pueden cambiar y reescribir.
  3. Valioso: Un PBI debe entregar valor a las partes interesadas.
  4. Estimable: siempre debe poder estimar el tamaño de un PBI.
  5. Pequeño: los PBI no deberían ser tan grandes como para ser imposibles de planificar / tareas / priorizar con un cierto nivel de certeza.
  6. Comprobable: el PBI o su descripción relacionada debe proporcionar la información necesaria para hacer posible el desarrollo de la prueba

Parece que su Scrum Master está obligando al equipo a romper la primera regla, todas las historias en un sprint deben ser independientes: ¿qué debe hacer si está bloqueado en esa historia que necesita completar para cerrar otras historias? Probablemente fallarás el sprint en este caso.

Estoy de acuerdo en que la programación de enjambres / parejas es una buena manera de colaborar y compartir conocimientos en el equipo, pero si no hay necesidad de enjambrar en algo como esto, entonces me quedaría con sus armas y citaría INVERTIR :)

Copiado de Wikipedia: https://en.wikipedia.org/wiki/INVEST_(mnemonic)

skir2000
fuente