A continuación voy a hablar de los roles que existen dentro del Scrum Team y que funciones y deberes tiene cada uno.
Scrum no tiene un rol llamado «Project Manager».
Scrum Team
El Scrum Team se compone de 3 perfiles:
- Product Owner (1 persona)
- Development Team (Varias personas)
- Scrum Master (1 persona)
El Scrum Team debe ser auto-organizado y multifuncional. Lo primero para saber elegir cual es la mejor manera de hacer el trabajo, mejor que siendo dirigidos por otros externos. Multifuncionales porque el equipo debe tener las comptencias necesarias para realizar el trabajo sin depender de otras personas que no formen parte del equipo.
El equipo perfecto en Scrum está diseñado para optimizar flexibilidad, creatividad y productividad.
Es decir, debe ser capaz de poder entregar y publicar (si ha sido pasada a Done) esa nueva release lanzada.
No puede depender de otros equipos para subir a producción algo definido como «Done».
El equipo entrega productos cíclica e incrementalmenre, maximizando las oportunidades para obtener feedback. Entregas incrementales de productos con la etiqueta «Done» (Hecho) aseguran potenciales versiones usables del producto están siempre en activo.
Product Owner
El Product Owner , PO es el responsable de maximizar el valor del producto y el trabajo del Development Team (Equipo de desarrollo). Como se realiza esto, puede variar dependiendo de la empresa, los Scrum Teams y los inddividuos.
El Product Owner es la única persona responsable para gestionar el Product Backlog.
Entre las tareas que se realizan en esa gestión se encuentran:
- Nombrar claramente los ítems del Product Backlog.
- Ordenar los items en el Product Backlog priorizándolos para lograr los mejores objetivos y resultados.
- Optimizar el valor del trabajo que realiza el Development Team.
- Asegurarse de que el Product Backlog sea visible, transparente y claro para todos, y que muestra en que va a trabajar el Scrum Team.
- Asegurarse de que el Development Team comprende perfectamente los elementos del Product Backlog.
El PO puede hacer el trabajo anterior o hacer que lo haga el equipo de desarrollo, pero en ambos casos será el Product Owner responsable.
Es importante que se entienda que el Product Owner sólo puede ser una persona, no un comité. Puede representar los deseos de un comité en el Backlog pero siempre que se desee cambiar la prioridad de un elemento debe ser el PO el que lo determine.
Para que el Product Owner tenga éxito, toda la organización debe respetar sus decisiones.
Es decir, es el Product Owner quien se encarga de hablar con los distintos stakeholders que le pasarán insights sobre el producto, creando sólo el o ella, y priorizando las taras en el Product Backlog. Las decisiones del Product Owner son visibles en el contenido y en el orden del Product Backlog.
Nadie tiene permiso para decirle al Development Team que trabaje con un conjunto diferente de requisitos.
El Development Team debe tener el suficiente poder para no actuar de acuerdo con lo que dicen los demás.
Development Team
Está compuesto por aquellos profesionales que realizan el trabajo de desarrollar una potencial e incremental versión del producto o servicio al final de cada Sprint. Solo los miembros del Developmente Team pueden crear ese incremento.
El Development Team está estucturado y tiene el suficiente poder para organizar y gestionar su propio trabajo. Esto da como resultado que se optimiza la eficiencia y efectividad general del trabajo, al no depender de factores externos.
El Development Team tiene las siguientes características:
- Es auto-organizado. Nadie (ni siquiera el Scrum Master) le dice cómo los items del Product Backlog en incrementos de funcionalidades potencialmente listas para ser lanzadas.
- Es multifuncional, con todas las habilidades necesarias como equipo para crear un Incremento de producto.
- Scrum no reconoce títulos para los miembros del Development Team que no sea el de Desarrollador, independientemente del trabajo que realice la persona. No hay excepciones para esta regla.
- Scrum no reconoce sub-equipos en el Development Team, independientemente de temas particulares que deben abordarse como testing o análisis de negocio. No hay excepciones para esta regla.
- Los miembros del equipo pueden tener habilidades especializadas y áreas de enfoque, pero el trabajo efectuado pertenece al Development Team como un todo.
Tamaño del Development Team
Para definir un tamaño óptimo del equipo de desarrollo se deben cumplir 2 condiciones:
- Debe ser lo suficientemente pequeño como para seguir siendo ágil.
- Debe ser lo suficientemente grande como para completar un trabajo significativo dentro de un Sprint, sin otras dependencias.
Menos de 3 miembros disminuyen la interacción y la productividad, pudiendo surgir limitaciones de habilidades durante el Sprint, lo que se traslada a una menor entrega de producto potencialmente acabado.
Más de nueve miembros implica demasiada coordinación, ya que se genera demasiada complejidad en el proceso de gestión.
Scrum Master
La persona que ocupa este rol es responsable que Scrum sea entendido y promulgado, por lo que se aseguran que el Scrum Team, sigue las prácticas y reglas marcadas.
El Scrum Master es un sirviente-leader para el Scrum Team.
Ayuda a aquellos fuera del equipo a entender cuales de las interacciones con el Scrum Team sirven de algo y cuales no, ayudando a todo el mundo a cambiar esas interacciones para maximizar el valor creado por el Scrum Team.
En el siguiente post hablaré sobre la dualidad del Scrum Master comentando como sirve al Product Owner, al Developmente Team y a la Organización.
Nota: Esta información está obtenida interpretando la Scrum Guide en su versión inglesa.