Planning poker o planificación poker es una técnica muy sencilla, divertida y eficaz, en la que todas las personas comprometidas en el desarrollo de un producto software opinan para estimar el esfuerzo de desarrollar cada una de las historias de usuario de un sprint.

El planning poker se utiliza mucho en las planificaciones de sprint en Scrum, aunque realmente se puede utilizar en muchos otros contextos.

Lo que me gusta de la planificación póker es que todos los miembros del equipo participan activamente. Scrum va de comunicación, así que juntar al equipo para tomar decisiones es algo totalmente lógico y positivo para el proyecto. Además, es otra oportunidad para que los miembros del equipo aprendan unos de otros y del producto que están desarrollando.

Antes de empezar un planning poker

Antes de empezar un planning poker hay que definir la unidad que se va a utilizar para medir.

Pueden ser horas o días ideales, puntos de función o cualquier otra métrica tradicional. Aunque una unidad que me gusta y todo el mundo entiendo es la de “pantallas de login”.

Es decir, estimar cada historia de usuario, en relación a lo que costaría desarrollar una pantalla de login.

pantalla de login

Si lo piensas bien, una pantalla de login lleva consigo:

  • Una tabla de usuarios, otra de sesión, etc.
  • Un conjunto de servicios para validar datos, crear la sesión, gestionar excepciones…
  • Un formulario del lado del cliente con dos campos de texto y un botón
  • Validaciones de contraseña, campos vacíos, usuario no existente, etc.

Lo bueno es que absolutamente todo el mundo alguna vez ha tenido que hacer una pantalla de login, y si no es así, es algo que es fácil de acertar a ojo cuánto costaría.

¿Por qué se llama planning poker?

Se llama planning poker porque se utilizan cartas numeradas (no tienen porqué ser de poker).

Lo normal es numerar las cartas con una serie de Fibonacci (0, 1, 1, 2, 3, 5, 8, 13, …), más la carta interrogante que equivale a “ni idea” y la carta infinito que equivale a “esto es demasiado grande”.

serie_fibonacci

El motivo de utilizar una serie de Fibonacci en un planning poker es porque cuanto más grande es el número asignado a una historia de usuario, más probabildad de equivocarse en la estimación.

Así, se tiende a dimensionar las historias de usuario de manera que siempre se utilicen números bajos. Es más probable acertar en las estimaciones si cada historia de usuario termina con un número bajo durante el planning poker.

¿Cómo hacer un planning poker?

Lo primero y en lo que muchos equipos fallan:

En gestión ágil y en un planning poker, se estiman historias de usuario completas.

Luego si quieres las divides en tareas más pequeñas para que esté más claro el trabajo a hacer y se pueda repartir entre el equipo. Pero lo que se debe valorar son historias de usuario y lo que se debe terminar al final de un sprint son historias de usuario completas, no tareas.

Pues bien, una vez aclarado esto, para hacer un planning poker:

  1. Junta a todo el equipo alrededor de una mesa y reparte un juego de cartas numeradas con una serie de Fibonacci desde 0 hasta 8
  2. El dueño de producto lee una historia de usuario a todo el equipo
  3. Si alguien tiene dudas se preguntan en ese momento. Esto sirve para que todo el mundo tenga claro lo que hay que hacer en esa historia de usuario. Es una manera rápida y fácil de acotar el alcance
  4. Cada miembro del equipo (incluido el dueño de producto), selecciona una carta, la pone boca abajo en la mesa y cuando todos han seleccionado una carta se ponen boca arriba a la vez

planning poker

Una vez todos han mostrado su carta (su estimación), hay dos opciones:

  • Descartar las estimaciones mínimas y máximas y quedarse con la estimación media más repetida.
  • Buscar la unanimidad. Los que han diferido de la mayoría explican sus motivos y el resto explican los suyos. El objetivo es llegar a una estimación unánime.

Se repite el proceso con cada historia de usuario en el product backlog.

Recuerda que el número 1 indica el tiempo que cuesta desarrollar una pantalla de login.

Hay gente que utiliza números más altos en las cartas para estimar… pero como ya he dicho una historia de usuario con un número demasiado alto es candidata a variar mucho de lo estimado a lo que realmente cuesta. El número más alto también depende de la unidad seleccionada para estimar. En este caso el número 8 me parece más que correcto.

size-stories-good-example

Si hay algún miembro menos experto o incluso que no desarrolla, también tiene que participar en el planning poker. Como mínimo va a aprender bastante de los objetivos del producto.

¿Cuál es el resultado de un planning poker?

El resultado de un planning poker debe ser que junto a cada historia de usuario debe aparecer un número que indique el esfuerzo necesario para terminar esa tarea. Todo el equipo ha participado, todo el mundo conoce el alcance de cada historia de usuario y todos están de acuerdo en el trabajo a realizar.

Ese número se deberá actualizar cada día en el daily meeting, indicando el esfuerzo restante para terminar la tarea en curso. No olvides durante el daily meeting actualizar el gráfico de burndown.

Además tras el planning poker, si se realiza al final de cada sprint, es buena idea planificar las historias de usuario que entran en el siguiente sprint. En el fondo estamos planificando.

panel_scrum_flujo

Creo que es más difícil explicarlo que hacerlo, pero en mi opinión es una técnica muy sencilla, práctica y que da buenos resultados a la hora de estimar historias de usuario.