29. jun., 2018

Derechos y Deberes en un Equipo Agile

Considero de manera particular que la gente a veces habla de Scrum como marco de trabajo y en muchas ocasiones no conoce muy bien sus roles, otras veces habla del marco de trabajo y no les va muy bien - la razón - creo yo por lo que he podido observar en muchas organizaciones colombianas es que han criollizado Scrum y en este proceso un Scrum Máster tiene a su cargo 3 o más equipos , de forma similar sucede con los Product Owners - deben atender no a un equipo sino a más de 3 equipos a la par , perdiendo muchas veces uno de los valores ágiles - "El foco". En otras ocasiones me ha tocado ver personajes que conocen la existencia de los 3 roles core de Scrum (Product Owner, Scrum Master y Equipo de Desarrollo) pero no tiene claro sus funciones y sus responsabilidades. Pensando en esta situación y tratando de apoyar en la generación de conocimiento colectivo nos hemos dado a la tarea de redactar en este post un resumen de los derechos y deberes de cada uno de los tres roles core de Scrum.

El Product Owner

El Product Owner (PO) es alguien que sabe lo que quieren los usuarios del sistema o del producto final y los patrocinadores del proyecto que se va a desarrollar. El sabe priorizar y validar el valor de cada requisito o historia de usuario almacenada en el Product Backlog. El es quien aporta la visión de negocio al equipo y representa la voz del cliente frente al equipo. El Product Owner es el responsable de maximizar el valor que el equipo Scrum entrega al usuario y lo hace por medio de las ceremonias de review y de refinamiento.

Deberes:
– Recoger y tener claros los requisitos y necesidades del usuario.
– Definir y redactar buenas historias de usuario.
– Fijar criterios de aceptación para cada historia de usuario.
– Ordenar y priorizar los ítems en el Product Backlog, en función del valor que aportan al usuario o cliente final.
– Definir cuál es el producto mínimo viable.
– Definir el plan de releases (o la visión estratégica).
– Asegurarse de que el Product Backlog es visible para todo el mundo, y muestra cuáles son los siguientes ítems en los que tendrá que trabajar el equipo.
– Asegurarse de que el equipo de desarrollo entiende claramente los ítems del Product Backlog.
– Debe estar disponible y accesible para explicar al equipo técnico dudas que puedan surgir, validar entregas (en el Sprint Review) y participar en las reuniones (Daily meeting (si es necesario) , en el Sprint Planning Meeting y en el Sprint Review).
– Acordar junto con el resto del equipo una definición de “DONE”.
– No debe dar órdenes al equipo de desarrollo. El equipo de desarrollo se autogestionará, en base a las tareas que el Product Owner ha definido como prioritarias.
– Además, es el responsable final de cancelar el sprint si la meta del sprint se queda obsoleta o de manera excepcional, se encuentran impedimentos muy graves para su realización.

Derechos
– Que el equipo de desarrollo no trabajé en otros requisitos distintos a los que el Product Owner incluya en el Backlog.

El  Equipo de Desarrollo

Está formado por profesionales que trabajan para elaborar un incremento del producto, terminado y potencialmente entregable. El equipo de desarrollo es autoorganizado, multifuncional o crossfuncional y cada miembro tiene experiencia y conocimiento particular en algún área de conocimiento.

Deberes
– El equipo debe ser auto-organizado. Los propios miembros del equipo establecerán la forma de hacer su trabajo.
– Tiene que ser multifuncional.
– Todos los miembros deben trabajar con sus habilidades para cumplir el sprint goal.
– Los equipos de desarrollo deben ser pequeños (3 - 7 personas).
– Junto con el Scrum Master, se encargan de establecer los ítems del Sprint Backlog y de planificar el sprint.
– Estimar las historias de usuario y tareas del sprint.
– Hacer la entrega al Product Owner de los productos entregables.
– Implementar pruebas de aceptación y pruebas unitarias.
– Trabajo de calidad y mejora continua de la calidad (EJ: refactorización de código).
– Participar en los Daily meeting, Sprint Planning Meeting, Sprint Review y Sprint Retrospective.
– Estar motivados (inlcuye automotivación).
– Saber buenas prácticas de programación: pair programming, TDD, integración continua, refactorización, eliminación de smell code, patrones de diseño y de arquitectura, etc.
– Identificar posibles obstáculos y comunicárselos al Scrum Master de forma oportuna.
– Actualizar el trabajo en progreso (burndown chart) (es responsabilidad tanto del equipo de desarrollo como del Scrum Master).
- Actualizar el scrum board en el daily.

Derechos
– La organización tiene que animar al equipo a auto-organizarse, sin entrometerse en su forma de trabajar.
– A que solo en contadas situaciones y bajo previa revisión y negociación con el PO las tareas del sprint sean modificadas una vez que este ha comenzado.

El Scrum Master

Mientras que el Product Owner se centra en el valor y tiene la visión de negocio, el Scrum Master se centra en el proceso Scrum, actúa como mentor y ayuda a resolver los impedimentos que van surgiendo en el equipo scrum. Es el responsable de asegurarse de que todo el equipo entiende el marco de trabajo Scrum y actúa en consecuencia a su teoría, prácticas y reglas. El es el encargado de llevar la información del marco de trabajo a la organización y de hacer crecer al equipo. El Scrum Master debe ayudar a la gente que está fuera del equipo Scrum a entender qué interacciones con el equipo son positivas y aportan valor al equipo y cuáles no. Debe ayudar también a toda la organización a entender e implantar Scrum, planificando la implantación de Scrum junto con la organización. No menos importante es el coach del equipo.

El Scrum Master sirve al Product Owner:

– Ayudándole a entender la agilidad.
– Enseñándole técnicas para gestionar efectivamente el Product Backlog y maximizar el valor de negocio. (En este punto debe apoyarle enseñando métodos de priorización si este no los conoce o técnicas para redactar las HU).

En cuanto al equipo de desarrollo, el Scrum Master ayuda a:

– Que entiendan los ítems del Product Backlog.
– Auto-organizarse y convertirse en equipos multifuncionales.
– Crear productos que aporten valor al cliente o usuario.
- Ayudar al equipo y al product owner a medir ese valor entregado.
– Eliminar los problemas/impedimentos que impidan progresar al equipo de desarrollo.
- Apoyar el crecimiento del equipo y la mejora continua.
- Hacer sesiones uno a uno de coaching en el equipo.
- Planificar las ceremonias.

Otros deberes:

– Participar en las reuniones de Scrum, asegurarse de que duren el tiempo establecido (Time boxing) y cumplan su objetivo (Daily meeting, Sprint Planning Meeting, Sprint Review, Sprint Retrospective).
- De forma general, si es necesario, el Scrum Master puede realizar cursos de formación o eventos sobre Scrum, para el Product Owner, el equipo de desarrollo o incluso la organización entera. También debe colaborar y trabajar con otros Scrum Masters para encontrar formas de mejorar la implantación de Scrum en la organización (esto es participar de las ceremonias de Scrum de Scrums con este fin).

En PMPMedellin esperamos que este post les sirva como guía en su día a día y que les sea de utilidad. Si les gustó no olviden compartirlo con familiares y amigos que trabajan como Scrum Másters o Agile Coach.

Autor: Ing.Javier León Reyes

Twitter e Instagram: @PMPMedellin