Larga fase de prueba en Scrum

Estamos construyendo una característica bastante grande e importante en un Equipo Scrum. El PM quiere colocar esta función en una rama separada y no implementarla durante 1 o 2 meses para que los usuarios puedan probarla correctamente antes del lanzamiento. Me parece extrañamente cascada.

¿Qué opinas? ¿Está bien en ágil hacer algo así? ¿O como Scrum Master debería sugerir dividir la función en partes más pequeñas y lanzarla con frecuencia?

Scrum no reconoce el rol de 'PM'. ¿Quién es el PM? ¿Es él/ella el propietario del producto? ¿Es él/ella tu jefe? ¿Eres su jefe? ¿Tienes el mismo jefe?
Sí, el título es PM, pero técnicamente esa persona trabaja como propietario del producto. Él no es mi jefe y yo no soy su jefe.

Respuestas (4)

Como Scrum Master, su responsabilidad es asegurarse de que su equipo siga el marco Scrum. La mejor manera de hacerlo es explicar las consecuencias de no seguir Scrum y cómo afectará a la organización.

Scrum habla de un Incremento potencialmente liberable al final de cada sprint. El valor de este enfoque es que:

  • Puede obtener comentarios regulares de sus usuarios y así adaptar el producto para ofrecer el máximo valor
  • El desarrollo se vuelve más predecible, ya que la mejor indicación del progreso es cuando la nueva funcionalidad se realiza genuinamente.
  • El valor se entrega con frecuencia

El enfoque que se ha propuesto con 1 o 2 meses de pruebas de aceptación fuera de los sprints no generará un incremento potencialmente liberable. De hecho, podría ser un problema; si se descubren problemas importantes durante las pruebas de aceptación, el progreso que parece haber sido realizado habrá sido engañoso.

Como mencionas, dividir la función y lanzarla con más frecuencia es un mejor enfoque. Recomendaría sugerir esto y explicar por qué es la mejor manera de hacerlo.

Su equipo produce un incremento de producto potencialmente entregable al final de cada sprint. Si esto se somete luego a pruebas de aceptación y se libera realmente depende del cliente.

Por supuesto, divide la característica principal en elementos de la cartera de productos que se pueden manejar dentro del marco de Scrum, por lo que tomará varios sprints hasta que se complete, pero el cliente puede optar por no iniciar las pruebas de aceptación antes de que la característica en su totalidad esté disponible. .

La situación es similar a la fase inicial de un proyecto. Nadie espera que su equipo tenga un producto completo que cumpla con todos los requisitos al final del sprint 1 o 2. Los usuarios pueden experimentar con los incrementos que se producen durante cada sprint, pero las pruebas de aceptación para una primera versión solo pueden comenzar cuando el producto es realmente capaz. para cumplir con una parte razonable de los requisitos establecidos.

Si no ha completado las pruebas de aceptación, entonces no tiene un incremento potencialmente entregable, solo tiene un trabajo en progreso.
@BarnabyGolden Veo tu punto. En mi situación actual en un entorno que no es realmente ágil, las pruebas de UAT implican no solo pasar por una lista de casos de prueba definidos, sino que los usuarios golpean el sistema hasta que se sienten seguros de que es liberable. Por supuesto, este proceso no se escala a sprints de 2 o 4 semanas porque los usuarios no pueden dedicar gran parte de su tiempo de trabajo a las pruebas. Tendré que leer un poco sobre esto, mi sensación es que esto requiere cambios en la comprensión de las pruebas de aceptación por parte del usuario y la administración y no puede ser resuelto por un equipo que haga Scrum solo.
Es sin duda uno de los aspectos más desafiantes de hacer Scrum. Sin embargo, vale la pena tratar de encontrar una solución, de lo contrario, siempre existe la preocupación de que se encuentre algo importante en las pruebas de aceptación y el progreso que parecía haberse logrado resulte ser engañoso.

Un posible enfoque adicional a considerar, que podría tomarse junto con las admirables sugerencias aquí para dividir la función, es 'liberar' secciones de la función pero con un 'interruptor' para permitir que la función se apague o solo se encienda. para usuarios específicos/en circunstancias específicas cuando se publiquen las primeras partes de este. Esto puede ayudar si tiene una cadencia de entrega regular y necesita implementar esto en vivo con el resto del código, pero lo entregará en bits. Ayudaría a evitar la necesidad de una rama de función de larga duración separada, y permitiría eliminar el riesgo de los lanzamientos al permitir solo a usuarios específicos usar esta funcionalidad en vivo a medida que esté disponible.

En Scrum, el equipo trabaja para proporcionar el producto entregable como resultado de cada Sprint. Se recomienda utilizar el mismo timebox en cada Sprint (1 a 4 semanas).

Según el comunicado, PM quiere colocar la función en una rama separada y permitir que los usuarios la prueben durante 1 o 2 meses. Claramente, es una entrega de producto del equipo de Scrum (suponiendo que el equipo de Scrum ya haya probado al final) y el equipo de Scrum parece no participar en la aceptación.

Las pruebas de aceptación deben realizarse en la reunión de revisión de Sprint de cada Sprint. Si el equipo de Scrum está tratando el producto como entregado antes de una extensa prueba de aceptación y el equipo lo desmantela o lo traslada a otro sprint con características diferentes y el resultado de la prueba se agrega en el backlog para la futura planificación del Sprint, es posible que no sea Anti-Scrum.

¡Hola Wiz! El concepto de "aceptación del usuario" cambia considerablemente según el entorno. En algunos, un UAT definitivamente no puede encajar en una ceremonia de revisión de Sprint. Estoy de acuerdo en que se debe hacer una demostración y, por lo general, esta es una presentación liviana (porque la función en sí debe ser liviana), ¿verdad? Creo que expandir su respuesta en uno de estos dos sentidos podría mejorarlo.