O efeito da técnica Planning Poker na prática

19 de maio de 2011 Por portal

imageO Planning Poker é uma técnica estimativa bastante utilizada em projetos ágeis que usam o framework do Scrum. Eu pessoalmente sou um usuário número #1 e recomendo fortemente a todos os meus amigos e clientes. A ideia principal por traz do Planning Poker é permitir que todos os membros do time de desenvolvimento que estão comprometidos na implementação do Sprint participem colocando a sua visão de complexidade para que juntos possam chegar a um indicador de complexidade comum para o time.

 

O uso do Planning Poker reforça fortemente o conceito de colaboração e comprometimento. Em um projeto tradicional alguém estima para você usando os entendimentos dele e passa a atividade para você e um prazo. Você mesmo sabendo que não vai conseguir fazer pega a atividade e inicia o ciclo do mundo de Alice. A mesma historinha do filme onde todos acreditam em um conto sabendo que nada daquilo vai se tornar real. Nos projetos ágeis a cultura é diferente e o Planning Poker faz com que todos votem na complexidade e não somente uma pessoa. Com esse espírito de união e colaboração chega-se a uma complexidade que seja o consenso do grupo.

 

A escala de complexidade é baseada na sequência de  Fibonacci (0, 1, 2, 3, 5, 8, 13) e cada participante do time que estiver comprometido recebe um conjunto de cartas sendo cada uma com o número de complexidade. O grupe se reúne geralmente na reunião Sprint Planning e esclarece as estórias com o PO (Product Owner) para depois estimar uma a uma. Seguindo a ordem de sequencia das às estórias já priorizadas pelo PO. Então o time conta até três e cada um apresenta uma das cartas ao mesmo tempo. Esse é um momento importante, pois nenhum membro pode influenciar o outro na hora de mostrar as cartas.

Após apresentada as cartas confere-se os números das mesmas para ver se deu tudo igual ou ocorreu divergências. Em caso de divergência cada membro pode argumentar o que o levou a pensar diferente dos demais e nesse momento pode usar os argumentos que justifique aquele item ser mais complexo ou mais simples. Com o tempo você vai observar opiniões do tipo “Eu já implementei uma rotina parecida em um projeto anterior” que trazem a tona o grande valor dessa técnica que é justamente fazer as pessoas serem ouvidas.

 

Após a apresentação dos argumentos cada pessoa que ficou na dúvida pode propor uma nova votação e mudar o seu voto para mais ou para menos conforme o novo entendimento da questão. Por isso um item que estava complexo pode ser finalizado com mais simples ou vice-versa prevalecendo o entendimento do time sobre a questão.

A primeira vista você pode está se perguntando como as pessoas estão ali chutando. O grande diferencial é que não tem ninguém de fora interferindo, pois só participa quem realmente vai codificar a funcionalidade e com isso cada pessoa usa a sua experiência pessoal como implementações em projetos anteriores ou conhecimento da tecnologia em questão e isso faz com que ela se comprometa, pois é ela que está falando o quando é complexo aquele item. É uma forma simples de se estimar indo direto ao ponto e principalmente provoca uma colaboração natural entre os membros do time resultando em grandes ganhos para o projeto.

 

Com o passar dos Sprints o time multidisciplinar que usa o framework do Scrum vai aprendendo e se adaptando a chegar em uma velocidade que chamamos de cruzeiro para implementação das funcionalidades principalmente pelas lições aprendidas que são sempre base para estimativas futuras uma vez que cada pessoa antes de estimar pode comparar mentalmente essa nova atividade com uma anterior similar e ter um embasamento próximo a realidade desejada.

 

No Scrum é o time que captura as atividades do backlog para implementação em um Sprint e essa quantidade é justamente definida por uma quantidade de pontos de complexidade capturados em Sprints anteriores e implementados. Supondo que estamos falando de 4 atividades de 3 pontos em média cada nós teríamos um total de 12 pontos. Com esse número o time se organiza para saber quantos pontos consegue assumir em cada Sprint permitindo pegar um número qualquer de atividades até o valor máximo de x pontos que é até onde vocês conseguem se comprometer.

 

Já faz alguns anos que venho acompanhando de perto o uso de Planning Poker e me impressiono muito como ele ajuda as pessoas a participarem e exporem suas opiniões gerando um crescimento rico e incremental na qualidade das estimativas conquistando a confiança de todos no projeto e dos patrocinadores que no fundo querem um resultado que atenda a sua expectativa e que realmente aconteça diferente dos outros modelos em cascata onde vira um eterno mundo de replanejamentos.

 

Se você ainda não teve a oportunidade esse é o momento de fazer algo diferente em seu projeto de desenvolvimento. Faça o teste e depois comente por aqui os resultados.

Para saber mais:
Planning Pocker

[],
Ramon Durães
MVP, Visual Studio ALM
PSM, Professional Scrum Master
PSD, Professional Scrum Developer