quinta-feira, 30 de novembro de 2017

Planning Poker: uma forma divertida mas séria de se estimar projetos ágeis.


Planning Poker: uma forma divertida mas séria de se estimar projetos ágeis


Figura 1 - Planning Poker.

Com a popularização das metodologias ágeis (SCRUM, XP, FDD, CRISTAL), veio também a necessidade de estimar a complexidade e o tempo das tarefas. Mas como seria possível estimá-los em um grupo que utiliza metodologias ágeis, onde geralmente existem uma quantidade menor de artefatos documentais que burocratizam o processo de desenvolvimento?

Foi pensado nestas questões que James Grenning criou o Planning Poker, em 2002, e que mais tarde foi popularizado por Mike Cohn no livro Agile Estimating and Planning no qual registrou o termo.

O Planning Poker consiste em obter uma estimativa média do custo de tempo e complexidade das tarefas por meio de um jogo de cartas. Todos os integrantes da equipe de desenvolvimento (programadores, testadores, analistas, designs) devem participar. Cada integrante dará a sua percepção de tempo e complexidade para a conclusão de uma tarefa, as opiniões são então comparadas e analisadas até que se chegue a um consenso.


O jogo de cartas



Para se estimar quanto uma tarefa pode custar em termos de tempo e esforço para serem concluídas, cada participante deve dar a sua opinião através de cartas que possuem números ou símbolos escritos nelas. Veja a figura 2 que mostra um exemplo de baralho do Planning Poker.

Figura 2: Baralho de Planning Poker
Figura 2 - Exemplo de baralho de Planning Poker.

Quanto maior o número, mais complexa é a tarefa para quem lançou aquela carta. Geralmente os valores numéricos são definidos seguindo a sequência Fibonacci (0, 1, 2, 3, 5, 8, 13, 20, 40, 100), mas isso fica a critério da equipe. Da mesma forma os símbolos podem ser escolhidos pela equipe, onde devem representar algum significado para auxiliar na predição do esforço. Vamos descrever os significados mais complexos das cartas do jogo:

- Interrogação: é usado quando o seu proprietário não sabe opinar sobre o custo necessário para aquela tarefa.

- Zero: significa que esta tarefa é absolutamente desnecessária e deve ser descartada.

- 1/2 (meio): significa que esta tarefa é extremamente fácil de ser implementada. 

- Infinito: é utilizado quando a tarefa demonstra ter um nível de complexidade muito alto ou até seja impossível de ser concluída.

- Chicara de café: usado quando o o proprietário não entende o objetivo da tarefa e necessita de melhor compreensão da mesma, quando esta carta é jogada uma pausa deve ser feita. Esta pausa é muito importante e deve ser respeitada, os integrantes da equipe não podem fazer o uso excessivo desta carta. 

Lembrando que cada componente deve possuir um baralho próprio e que todos precisam ter os mesmos valores e símbolos.



A sequência Fibonacci



Figura 3 - Gráfico da função Fibonacci.

 Agora que sabemos como são organizadas as cartas do Planning Poker você pode está se perguntando o porque do uso da sequência Fibonacci. Esta sequência é obtida ao somar os dois números antecessores, o resultado irá compor a próxima soma  e assim segue infinitamente, a sequência inicia com os dois valores 0 e 1. A medida que os valores são obtidos, o gráfico cresce indefinidamente o que ajuda na comparação dos valores. Por exemplo, se em uma rodada são jogadas as seguintes cartas: 5, 8 e 13 , desta forma demonstrará o nível de incerteza do grupo com mais força, onde de 5 para 8 existe a diferença de 3, de 8 para 13 existe uma diferença de 5, já de 5 para 13 existe uma diferença de 8. Isto força a discussão entre os envolvidos para chegarem em um consenso. 



Como o Planning Poker é jogado



Definidos os principais conceitos, é hora do Planning Poker ser executado. Toda a equipe participa, inclusive o cliente, mas somente os que vão criar o produto é que podem jogar as cartas. Deve existir um facilitador (uma pessoa neutra) e um cliente (que explica os detalhes das tarefas ou stories). Uma boa técnica para estimar é utilizar pontuações de tarefas passadas, escolhe - se a menor pontuação para ser usada como uma base para tarefas menores. As tarefas são avaliadas segundo as que são consideradas mais fáceis até as chegar as mais difíceis. 

Ao começar a primeira rodada, o cliente conta uma "história" de como deve ser o produto que ele deseja, logo em seguida, o facilitador irá  pedir que joguem as cartas. Depois são analisadas as pontuações. São analisadas as maiores discrepâncias entre os valores, o dono da carta que tiver o maior valor é então questionado, e mais uma vez, as cartas são jogadas até que todas as cartas sejam iguais, ou seja, até que todos entrem em um consenso.


Conclusão


  Como foi discutido neste texto o Planning Poker mostra-se uma ótima técnica "democrática" para estimação de tarefas. Os seus ganhos vão desde melhor entrosamento da equipe e melhor compreensão das suas atividades até o melhor controle por meio dos seus gestores. Os pontos dos cartões ainda podem ser mapeados à custos em dias, esforço ou horas/homem, estas métricas podem ser facilmente definidas pela equipe.

Fonte:


www.culturaagil.com.br/planning-poker-tecnica-baseada-consenso/
www.devmedia.com.br/scrum-e-planning-poker-analise-de-estimativa-de-software/31019
www.slideshare.net/JamesGrenning/beyond-planning-poker-agile-2011
www.metodoagil.com/planning-poker/#fibonacci

Nenhum comentário:

Postar um comentário