El Equipo Scrum. Scrum Master, Product Owner y Developer Team

29 de junio de 2015
http://hdwallpapergirls.com/assets/large/sunset-art-background-wallpaper

El Equipo en Scrum está formado por un único Product Owner, un único Scrum Master y un único Equipo de Desarrollo. Es importante la palabra único pues un equipo de Scrum no puede tener, en ningún caso, dos Product Owner o dos Scrum Master aunque, tanto estos como los miembros del equipo de desarrollo sí que podrían formar parte de más de un equipo Scrum.

Más que frecuente es recomendable que, si para un mismo proyecto en el que se desarrolla un único gran producto existen varios equipos de Scrum, estos compartan un único Product Owner, pues se trata del consultor de negocio o la persona con mayor conocimiento y capacidad de decisión sobre el producto a desarrollar (nos referimos a conocimientos a nivel de lógica de negocio del producto, no a nivel técnico o de desarrollo). Si el número de equipos fuera tan elevado que un único Product Owner no fuera capaz de gestionar tantos equipos cada equipo o subconjunto de equipos tendría un Product Owner, los cuales reportarían a un Line Product Owner, aunque esto ya es entrar en Scaled Scrum.

Los equipos en Scrum son:

  • Auto-organizados. El equipo, en su totalidad, es el único responsable de decidir cómo hacer su trabajo sin que nadie ajeno al mismo pueda imponer condiciones y;

  • Multi-disciplinares. Dentro del equipo hay profesionales con experiencia suficiente en cada uno de los campos necesarios (programación, diseño, marketing, etc) para completar una versión 100% funcional y potencialmente entregable de las funcionalidades comprometidas para el Sprint.


El Product Owner

Es el responsable de todo lo que tiene que ver con el producto, es decir, decide y prioriza qué es lo que se va a hacer y aclara cómo debe funcionar. Debe ser capaz de responder a cualquier pregunta que el equipo de desarrollo pueda plantear.

Se podría decir que el Product Owner es el experto en el producto. Debe conocer y ser capaz de explicar la lógica de negocio del mismo hasta sus últimos detalles y es la persona que actúa como puente o intermediario entre el equipo de desarrollo y el cliente, es por ello que este puesto suele ser ocupado por consultores de negocio o, en ocasiones, perfiles relacionados con el mundo comercial.

Además de conocer el producto debe conocer las necesidades, criterios y metas del cliente para ser capaz de maximizar el valor, tanto del producto como del trabajo del equipo de desarrollo, es decir, debe ser capaz de conseguir que, en cada incremento, el equipo de desarrollo entregue aquellas funcionalidades que satisfagan en mayor medida las necesidades del cliente a la vez que éste consigue el mayor ROI posible (retorno de inversión) y, por supuesto, que el cliente esté satisfecho con el producto entregado. Esto significa que el producto entregado cumpla la definición de terminado que el cliente acuerde con el Product Owner y que éste último negocie con el equipo de desarrollo.

El hecho de que el Product Owner sea el responsable del producto lo convierte, por tanto, en propietario y responsable del Product Backlog, uno de los tres artefactos de Scrum constituido por el listado priorizado y detallado de todos los requerimientos y funcionalidades del producto y que explicaremos en detalle en una sección posterior.

Las tareas del Product Owner se pueden resumir en las siguientes:

  • Mantener el Product Backlog, cuyos ítems recogen todos los requisitos, funcionalidades, prototipos, bugs, etc que es necesario resolver para completar el producto.

  • Expresar de forma suficientemente clara cada elemento en el Product Backlog.

  • Priorizar los elementos del Product Backlog en la manera en que mejor se puedan alcanzar los objetivos del proyecto, se maximice el ROI, se optimice la carga de trabajo del equipo o cualquier otra razón que el Product Owner considere adecuada.

  • Asegurarse de que el Product Backlog es visible, claro y transparente para todos los componentes del equipo Scrum.

  • Optimizar el valor del trabajo del equipo de desarrollo.

  • Resolver las dudas que los miembros del equipo de desarrollo puedan tener en cuanto a lógica de negocio del proyecto.


El equipo de desarrollo

Está formado por el conjunto de profesionales que cada Sprint trabaja de forma colaborativa para desarrollar un incremento de producto completo y potencialmente entregable.

El equipo de desarrollo Scrum tiene las siguientes características:

  • Es multi-disciplinar. Una vez que se haya comprometido a entregar una serie de elementos del Product Backlog en un Sprint contará con todas las capacidades necesarias a nivel humano, con conocimientos en todas las disciplinas necesarias, para completar dichos elementos.

  • Es auto-organizado. Podrá planificar, organizar y priorizar el trabajo en la manera en que, consensuadamente, considere más oportuna, sin que nadie pueda poner objeciones a cómo o en qué orden aborda dichas tareas o en qué medida las divide y asigna a cada uno de sus miembros.

  • No existen sub-equipos dentro de un equipo Scrum ni títulos para sus miembros más allá del de desarrollador, es decir, no hay encargados o responsables dentro del equipo de desarrollo pues la responsabilidad recae siempre en el equipo completo, sin importar quién pueda haber llevado a cabo cada parte del trabajo.

  • Un equipo de desarrollo estará formado por entre tres y nueve miembros, sin incluir al Product Owner ni al Scrum Master. Equipos menores pueden experimentar dificultades a la hora de contar con todas las habilidades necesarias para completar el trabajo y equipos mayores pueden llegar a ser demasiado difíciles de gestionar.


El Scrum Master

Se tiende a pensar que el Scrum Master es el Project Manager moderno, cuando en realidad el Scrum Master es tan sólo el encargado de hacer entender Scrum a todos los implicados y velar por su cumplimiento.

El Scrum master debe ser el experto en Scrum, es decir, debe conocer de manera precisa sus roles, eventos y artefactos y sería recomendable que contara con cierta experiencia trabajando con el framework, no obstante, no se trata de una posición que deba estar por encima del resto del equipo Scrum, es decir, no es necesario que sea un jefe de equipo aunque en muchas ocasiones suela coincidir. El rol de Scrum Master podría, perfectamente, ser llevado a cabo por cualquiera de los desarrolladores.

Se suele definir al Scrum Master como un líder servil o facilitador para el equipo Scrum y entre sus principales tareas están las de eliminar impedimentos que puedan dificultar la labor del equipo y hacer entender a las personas ajenas al mismo qué interacciones con el equipo son beneficiosas y cuáles no, por ejemplo, el Scrum Master trata de disuadir al cliente de introducir cambios de diseño o funcionalidad a mitad de un Sprint si estos no están debidamente justificados.


El Scrum Master al servicio del Product Owner

Como otro miembro más del equipo, el Scrum Master ayuda al Product Owner a:

  • Buscar técnicas que le permitan gestionar el Product Backlog de forma efectiva.

  • Ayudar al equipo a entender la necesidad de contar con elementos del Product Backlog claramente definidos.

  • Entender la planificación de un producto en un entorno empírico, es decir, ser capaz de planificar el desarrollo completo de un producto en base a la estimación del total de sus funcionalidades y a la velocidad de desarrollo del equipo en lugar de imponer fechas que respondan únicamente a las necesidades del cliente.

  • Asegurarse de que el Product Owner sabe cómo organizar el Product Backlog para maximizar su valor.

  • Entender y practicar el agilismo, es decir, iteración, transparencia, inspección y adaptación.


El Scrum Master al servicio del Equipo de Desarrollo

El Scrum Master sirve y ayuda al equipo de desarrollo en:

  • Practicar y entender la auto-organización y la multi-disciplinaridad.

  • Crear productos de alto valor.

  • Eliminar impedimentos que puedan dificultar el progreso del equipo.

  • Facilitar los eventos de Scrum según sean requeridos.

  • Enseñar Scrum en entornos en los que éste no esté completamente adoptado y comprendido.


El Scrum Master al servicio de la organización

Además de a los miembros del equipo de Scrum, el Scrum Master debe fomentar los valores y potenciar los eventos y artefactos de Scrum en el seno completo de la organización mediante:

  • Liderar y asesorar a la organización en su adopción de Scrum.

  • Planificar la implementación de Scrum dentro de la organización, es decir, escoger proyectos pilotos de bajo riesgo con los que empezar a hacer Scrum para introducir la mentalidad en el seno de la misma.

  • Ayudar a los empleados e implicados a entender Scrum y el desarrollo de proyectos de forma empírica.

  • Favorecer el cambio que aumente la productividad de los equipos Scrum.

  • Trabajar con otros Scrum Master para mejorar la efectividad de la aplicación de Scrum en la compañía.

Key Points
Un Equipo Scrum está formado por un Product Owner, un Scrum Master y un Equipo de Desarrollo de entre tres y nueve miembros.
Los equipos Scrum son auto-organizados y multi-disciplinares.
El Product Owner es el responsable del producto y de mantener claro, actualizado y priorizado el Product Backlog.
El Equipo de Desarrollo está formado por profesionales con todas las competencias necesarias para entregar un incremento de producto potencialmente entregable al final de cada Sprint.
El Scrum Master es el experto en el proceso de Scrum.
El Scrum Master es un líder servil o facilitador de cara al resto del Equipo Scrum.
El Scrum Master debe eliminar impedimentos, facilitar eventos y favorecer el agilismo.