Este post tiene como objetivo enseñarte las ideas esenciales de SCRUM, sus Roles, ceremonias y algunos de sus artefactos de uso más común; no pretendo mostrarte cómo adoptar e implementar SCRUM ya que eso es un camino más largo y aunque hablare de eso en futuros posts considero que no existe una fórmula mágica para logar tal fin.

Bueno, iniciemos:

Roles:

Equipo de desarrollo: Está formado por las personas que son necesarias para construir el producto y asegurar la calidad del mismo. El equipo de desarrollo se caracteriza por ser auto-organizado, esto quiere decir que no existe un jefe, líder o persona externa al mismo que asigne tareas en el equipo, ni que les determine la forma cómo deben ser resueltos los problemas; con esto se busca que el equipo tenga un gran nivel de autonomía para que incremente su compromiso y su motivación. El gran objetivo del equipo de desarrollo es transformar las funcionalidades comprometidas en software funcionando y con la calidad definida, es decir un incremento funcional potencialmente entregable.

Una característica del equipo de desarrollo se conoce como multi-funcionalidad y significa que dentro del equipo de desarrollo no existen especialistas exclusivos, sino más bien individuos generalistas con capacidades especiales. Lo que se espera de un miembro de un equipo de desarrollo es que no solo realice las tareas en las cuales se especializa sino también todo lo que este a su alcance para colaborar con el éxito del equipo.

El equipo de desarrollo tiene tres responsabilidades tan fundamentales como indelegables. La primera es proveer las estimaciones de cuanto esfuerzo será requerido para cada una de las características del producto. La segunda responsabilidad es comprometerse al comienzo de cada Iteración a construir un conjunto determinado de características en el tiempo que dura el mismo. Y finalmente, también es responsable por la entrega del producto terminado al finalizar cada Iteración.

 

Scrum Master: Es el Coach del equipo y es quien lo ayuda a alcanzar su máximo nivel de productividad. Se espera que el Scrum Master sea un líder servil, facilitador, que acompañe al equipo de trabajo en su día a día y garantice que todos, incluyendo al Product Owner, comprendan y utilicen Scrum de forma correcta.

Las responsabilidades principales del ScrumMaster son:

  • Velar por el correcto empleo y evolución de Scrum
  • Facilitar el uso de Scrum a medida que avanza el tiempo. Esto incluye la responsabilidad de que todos asistan a tiempo a las Daily meetings, Reviews y Retrospectivas.
  • Asegurar que el equipo de desarrollo sea multi-funcional y eficiente
  • Proteger al equipo de desarrollo de distracciones y trabas externas al proyecto
  • Detectar, monitorear y facilitar la remoción de los impedimentos que puedan surgir con respecto al proyecto y a la metodología
  • Asegurar la cooperación y comunicación dentro del equipo
  • Estar al corriente del progreso de las actividades del equipo de desarrollo, de las nuevas tareas que hayan surgido como consecuencia del trabajo que el equipo de realiza y de los cambios en las estimaciones

El Scrum Master puede ser visto como un Facilitador, incluso muchas veces se lo referencia así en lugar de Scrum Master. Su responsabilidad es asegurar que se cumpla con el proceso de Scrum sin interferir directamente en el desarrollo del producto final. Es importante establecer que el equipo de desarrollo elige la forma de trabajo que más prefiera, siempre que se cumplan las pautas básicas de Scrum, por ello mientras lo hagan no existe una forma “errónea” de trabajar.

 

Product Owner: Es la persona responsable del éxito del producto desde el punto de vista de los stakeholders. Sus principales responsabilidades son:

  • Determinar la visión del producto, hacia dónde va el equipo de desarrollo
  • Gestionar las expectativas de los stakeholders
  • Recolectar los requerimientos
  • Determinar y conocer en detalle las características funcionales de alto y de bajo nivel
  • Generar y mantener el release plan: fechas de entrega y contenidos de cada una
  • Maximizar la rentabilidad del producto
  • Determinar las prioridades de cada una de las características por sobre el resto
  • Cambiar las prioridades de las características según avanza el proyecto, acompañando así los cambios en el negocio
  • Aceptar/rechazar el producto construido al final de cada Sprint y proveer feedback valioso para su evolución

El Product Owner se focaliza en maximizar la rentabilidad del producto. La principal herramienta con la que cuenta para poder realizar esta tarea es la priorización. De esta manera puede reordenar la cola de trabajo, para que el equipo de desarrollo construya con mayor anticipación las características o funcionalidades más requeridas por el mercado o la competitividad comercial, buscando siempre el MVP (Minimum Viable Product) y MMF (Minimum Marketable Features).

Otra responsabilidad importante del Product Owner es la gestión de las expectativas de los stakeholders mediante la comprensión completa de la problemática de negocio y su descomposición hasta llegar al nivel de requerimientos funcionales.

En el siguiente post hablaremos de los artefactos y ceremonias que componen el Framework.

 

Referencias:

Alaimo, Diego Martin, Proyectos agiles con Scrum.

Kniberg, Henrik, Scrum y XP desde las trincheras.