lunes, 21 de enero de 2013

Planning Poker: Un método de estimación ágil de software


Planning Poker® es una técnica de estimación de software puesta en marcha por primera vez por James W. Grenning en un equipo de desarrollo Ágil utilizando XP en 2002.

Los resultados positivos del Planning Poker se derivan de la combinación del uso de opinión experta (quien normalmente realiza la tarea la estima), analogía (puesto que un gran número de historias tienen similitud con el trabajo desarrollado previamente por el equipo) y división del esfuerzo de estimación (en historias de un tamaño adecuado para evitar que la desviación sea elevada).

En las sesiones de Planning Poker debe jugar todo el equipo de desarrollo y aunque determinadas historias no afecten por igual a todos los integrantes del equipo será necesaria la participación activa de todos. El otro role necesario es el moderador que será el encargado de que los participantes lleguen al consenso (en equipos ágiles el moderador suele ser el Product Owner, aunque si no disponemos de esta figura bastará con que el moderador conozca suficientemente las historias que deben estimarse).

El juego es fácil:

El moderador coge una historia y la explica al equipo.

Los integrantes del equipo hacen las preguntas necesarias para aclarar los aspectos que no entendieron de la historia.

Cuando todo el equipo parece entender la historia se inicia la primera ronda, cada integrante estima el esfuerzo y simultáneamente sueltan una tarjeta sobre la mesa. En el hecho de hacerlo simultáneamente es probablemente donde reside la potencia de este método, evitando que la opinión de la persona que pueda tener más experiencia con la tecnología o sistema que estamos tratando “contamine”  la decisión del resto.

Si existe una diferencia significativa entre la estimación mayor y menos, las personas que realizaran estas estimaciones iniciarán el debate explicando por qué han dado esa estimación. Ante diferencias muy grandes nos solemos encontrar con funcionalidad “escondida” que determinadas personas han incluido en su estimación (de ahí que se eleve) o una sobre-estimación del esfuerzo de la persona que estimó por debajo. Si es necesario, el mediador (y el resto del equipo) participarán activamente para aclarar la situación.

De nuevo se vuelve a estimar y todo el equipo vuelve a sacar una carta. Generalmente se suele llegar a un consenso en la segunda ronda, si no es así, se volverá a intentar (rara vez supera la tercera ronda). El objetivo es alcanzar un mínimo de consenso, no que todos saquen la misma carta. 


Además de la estimación en sí, la ventaja de realizar Planning Poker es que se descubren características ocultas al poner en común las historias e incluso puede darse el caso de tener que posponer la estimación de una determinada historia por falta de información concreta. Esto nos lleva a un refinamiento de los requisitos antes de iniciar el desarrollo de los mismos. Es muy posible que se gane tiempo si llegamos a esta conclusión en una sesión de Planning Poker y justo al finalizar la sesión la persona responsable se encarga de aclarar con el usuario  la funcionalidad necesaria.

¿Qué se necesita para "jugar"?

·         Un equipo de desarrollo.
·         Un moderador (puede ser un miembro más del equipo, aunque al ejercer de moderador no podrá jugar).
·         Tantas barajas de Planning Poker como miembros del equipo.
·         Varias historias de usuario para estimar.

En cuanto a las barajas difieren un poco de las tradicionales y suelen tener esta pinta (la del ejemplo está obtenida de la Web de la Consultora sueca Crisp)




Obviamente no tiene nada que ver con una baraja de Poker normal. El número de cartas se reduce para acelerar la estimación y la distribución particular de los números (serie de Fibonacci alterada) intenta provocar una mayor sensación de incertidumbre al estimar historias grandes… de 20 pasa a 40 y de ahí a 100... Lo que se pretende con esto es dejar patente que en estimaciones de historias de esos tamaños la incertidumbre y por tanto la probabilidad de error es muy alta, por lo que si no te sirve una estimación a dedo alzado será preferible dividir la historia y estimarla por separado.

Si algún miembro del equipo saca la taza del café es para pedir un descanso, la ? se utiliza para indicar que con la información disponible no se tienen ni idea del esfuerzo a realizar y el 0 indica que el esfuerzo es mínimo…prácticamente despreciable. En la baraja estándar también está el símbolo de infinito, para reflejar una historia de extensión fuera de alcance (con los recursos actuales).

Existen aplicaciones móviles que te permiten jugar a Planning Poker, pero me temo que la potencia está en el método, en este caso la tecnología no nos ayudará a realizar mejores estimaciones.

Otras fuentes:

Si te interesa el tema puedes encontrar más información en AgileEstimation and Planning, Addison Wesley, 2005,  M. Cohn.

También puedes ver un video explicativo de planning poker en YouTube de 4 minutos (inglés).





Planning Poker® es una marca registrada por Mountain Goat Software, LLC.

No hay comentarios:

Publicar un comentario