Muitas empresas de software utilizam a Metodologia Ágil Scrum como base da sua operação. Com isso, mensurar cada etapa no desenvolvimento de software é fundamental para ter um produto com agilidade e qualidade. Algumas técnicas são utlizadas para dar apoio ao Scrum, como é o caso do Planning Poker. Mas você sabe o que é e como funciona o Planning Poker?
Neste artigo, vamos entender tudo sobre essa ferramenta e como aplicar essa técnica que, de tão eficiente, começamos a aplicar no desenvolvimento de software dos nossos clientes aqui na Luby.
Para entender sobre o Planning Poker, primeiro, precisamos entender sobre a Metodologia Ágil. Vamos lá?
O que é Scrum?
O Scrum é um framework de agilidade e flexibilidade que permite a realização de entregas incrementais de produtos no desenvolvimento de software. A cada entrega realizada no processo, o produto vai sendo escalado, de forma que consegue melhorar a usabilidade e as funcionalidades até que atinja a maturidade desejada pelos envolvidos (clientes, time de desenvolvimento, etc.).
As metodologias de desenvolvimento clássicas medem o esforço inteiro do projeto e fazem uma entrega final. Por outro lado, o Scrum possibilita entregas incrementais, ou seja, atualizações constantes. Essa metodologia consegue inspecionar a evolução e a escalabilidade do produto. Além disso, no Scrum é possível verificar (durante o processo) se o valor que está sendo entregue é o que os usuários precisam.
Como qualquer processo de desenvolvimento, o Scrum atua com diversas etapas e cerimônias que permitem que o Framework seja aplicado na prática. Essas cerimônias são as reuniões diárias ou reuniões de revisão, planejamento, execução, entre outros.
Dentre essas cerimônias, existe a Sprint Planning (ou Planejamento da Sprint), que é uma das principais frentes de aplicação do Scrum. Nesta etapa, os itens do backlog do produto (lista das funcionalidades levantadas para o produto) são priorizados e estimados para se encaixar em uma sprint (ciclo de tempo de duas à quatro semanas, em que são desenvolvidas essas funcionalidades).
Em projetos ágeis, a mensuração de esforço é fundamental em cada etapa da Sprint de entrega incremental do produto. Durante a reunião de Sprint Planning, podemos adotar técnicas para facilitar essa mensuração de esforço dos itens do backlog do produto. Aqui na Luby (empresa especialista em Software e Transformação Digital), utilizamos o Planning Poker (também conhecido como Scrum Poker), uma ferramenta que pode ser aplicada para entender a complexidade do projeto antes mesmo de desenvolvê-lo.
Afinal o que é o Planning Poker?
O Planning Poker é uma técnica utilizada na reunião de planejamento da Sprint que tem como objetivo realizar a estimativa de esforço sobre as tarefas do backlog do produto. Dessa forma, a ferramenta possibilita pontuar e classicar as tarefas com um sistema de números utilizando o conceito de escala Fibonacci por meio de um baralho. A estimativa é realizada de forma consensual entre os membros do time de desenvolvimento (desde Júnior até Sênior).
Quando surgiu o Planning Poker?
O Planning Poker surgiu em 2002, quando a metodologia Scrum já existia. Este método possibilitou que o time de desenvolvimento atingisse mais facilmente o consenso de esforço de estimativas sobre cada item.
Quais são os papéis dos participantes no Planning Poker?
Fazem parte do Planning Poker os seguintes papéis Scrum:
- Dev Team / Desenvolvedores: responsáveis pelo desenvolvimento dos itens do backlog. Esses são os profissionais que realizam -de fato- a estimativa de esforço nos itens apresentados pelo Product Owner na reunião de planejamento (com o Planning Poker);
- Product Owner / Dono do produto: esse é o principal responsável por ser o canal de comunicação entre os interessados na criação do produto e o time que irá desenvolver o produto. O Product Owner (PO) levanta as necessidades do negócio e cria as histórias de usuário (descrições das funcionalidades listadas no backlog do produto). Além disso, o PO é responsável por conduzir as cerimônias mais importantes do Scrum junto com o Dev Team e o Scrum Master. Dentre essas cerimônias, o PO conduz a Sprint Planning, apresentando os itens priorizados do backlog do produto para que os desenvolvedores possam utilizar o Planning Poker;
- Scrum Master: estabelece o Scrum conforme definido no Guia do Scrum. Esse profissional ajuda todos a entender a teoria e a prática do Scrum, tanto no Scrum Team quanto na organização. Normalmente, a participação do Scrum Master em estimativas não é obrigatória e, quando participa, fica mais com o papel de ouvinte.
Como funciona o Planning Poker?
Conforme já disse durante o artigo, o Planning Poker utiliza o sistema Fibonacci. Assim, cada participante do Dev Team possui um baralho com os seguintes número e símbolos:
Os números de cada carta do baralho seguem a sequência de Fibonacci, na qual o terceiro número da sequência sempre é a soma dos dois primeiros números. Por exemplo: 1,2,3,5,8,13,21,34 e assim por diante.
Cada usuário pode ter seu próprio baralho impresso ou usar apps específicos de Planning Poker. Algumas cartas podem conter símbolos:
- Café: significa que algum dos participantes gostaria de fazer uma pausa (algumas reuniões de planejamento demoram várias horas);
- Interrogação (?): para eventuais dúvidas dos participantes;
- 0.5 ou ⅕: remete à uma pontuação de uma história de usuário muito pequena (um pouco acima de 0).
A estimativa se inicia com o PO lendo uma história de usuário por rodada para os desenvolvedores que avaliam a complexidade dessas histórias de usuário e aguardam o momento certo para apresentar suas pontuações, dúvidas ou até mesmo solicitar uma pausa.
Na prática
Para entender como funciona na prática, vou citar um exemplo:
- Temos um Product Owner X e os Desenvolvedores A, B e C;
- O Product Owner acessa seu backlog do produto contendo suas histórias de usuários ou requisitos já priorizados ou não;
- O PO interpreta um requisito por rodada e dá um tempo para cada membro do time de desenvolvimento avaliar a complexidade;
- Após a avaliação dos membros do time desenvolvimento, cada um pega uma carta e aguarda a sinalização do PO para que todos levantem ao mesmo tempo e mostrem suas cartas;
- Vamos imaginar que o desenvolver A classificou como 5, o dev B como 3 e o dev C como 21;
- Com a polarização das classificações, o dev B achou a tarefa com uma complexidade pequena e o dev C classificou essa complexidade como grande em comparação aos outros. É neste momento que cada um explica o porquê classificou o requisito com a nota mostrada;
- São feitas discussões entre cada membro da equipe para que chegue em um consenso de complexidade de cada requisito, baseado nos argumentos de cada um;
- Uma vez que os requisitos são pontuados dessa forma, fica mais claro o alinhamento entre todos do time de qual é a complexidade mais próxima de esforço que de fato terá cada requisito a ser desenvolvido.
- Você pode utilizar uma ferramenta free e muito boa para testar em sua equipe: https://planningpokerweb.com/
Quais são as vantagens de utilizar o Planning Poker?
A estimativa não vai focar em medir o tempo que se leva para desenvolver cada história de usuário. Com o Planning Poker, a estimativa possibilita uma pontuação de complexidade baseada no alinhamento consensual entre os envolvidos.
O Planning Poker traz as seguintes vantagens:
- Estimativas mais precisas e melhor mensuradas;
- Evita uma grande variação nas estimativas;
- Melhor interação entre a equipe de desenvolvimento;
- Maior entendimento do que deve ser realizado em cada requisito;
- Ajuda a evitar a “Ancoragem”. As estimativas são analisadas de forma semi-anônima e apenas depois são expostas para todos ao mesmo tempo. Por isso, o Planning Poker ajuda a evitar o processo conhecido como “Ancoragem”, no qual um desenvolvedor que é mais experiente (ou tem mais tempo de empresa) faz a sua estimativa e todos os outros (por insegurança ou até uma percepção de falta de capacidade ou vontade de estimar) classificam com a mesma complexidade ou tempo que o membro mais experiente do time, não sendo necessariamente a estimativa mais correta;
- Ajuda na organização do backlog da sprint, pois, por meio da classificação da estimativa por pontos, é possível adequar em cada sprint suas respectivas User Stories (com base em um histórico de entrega de pontos do time).
Como surgiu a necessidade do Planning Poker na Luby?
Com base em mais de 1.000 projetos entregues e mais de 19 anos de experiência, notamos que a forma que costumávamos estimar os projetos e suas tarefas não refletia a realidade durante a fase de desenvolvimento.
Isso acontecia na maioria das vezes porque fazíamos a estimativa de esforço bem no início do projeto. Entretanto, com o andamento do projeto, nosso time de desenvolvimento acabava percebendo que algumas tarefas eram bem maiores e bem mais complexas de serem executadas em comparação ao que tínhamos estimado no início.
Percebemos a dificuldade do time de estimar o esforço e adaptamos o Planning Poker às nossas atividades. O Planning Poker nos entregou estimativas mais assertivas. Com ele, conseguimos agora avaliar o projeto com antecedência, conhecendo a velocidade e a demanda de desenvolvimento do produto. Além disso, essa técnica aumentou o engajamento dos times de desenvolvimento, o que agilizou e melhorou a qualidade dos projetos.
Previsibilidade e melhores resultados
Com as tarefas estimadas, temos uma referência de evolução do time. Por isso, podemos mensurar os resultados das equipes e ter melhor previsibilidade nas próximas atividades. Dessa forma, conseguimos prever o cronograma de forma mais eficiente. Além disso, o Planning Poker oferece uma gestão verdadeira do time em relação ao projeto.
É muito importante reforçar que não estamos trabalhando com um conceito fixo. Ou seja, esse fluxo de desenvolvimento é ágil e estamos trabalhando com relatividade e atualização constante. Por isso, é importante entender se esse método é eficiente para a sua operação. Além disso, se a ferramenta fizer sentido para o seu negócio, você pode adequar essa técnica ao seu modelo de trabalho o tornando cada vez melhor. Aqui na Luby, constantemente adaptamos a estratégia segundo as necessidades e priorização dos clientes.
Por fim, a aplicação do Planning Poker pode trazer muito mais assertividade para suas estimativas, oferecendo, ainda, uma visão mais específica para os desenvolvedores compreenderem cada vez melhor o que precisa ser feito e qual será o esforço, complexidade e viabilidade de cada tarefa. Além disso, o método ainda entrega o benefício adicional do time se sentir realmente parte integrante do projeto, e não simplesmente receber tarefas descritas em como devem ser feitas e quando devem ser entregues.
Leia também:
Hard Skills e Soft Skills: o que é e como elas podem te ajudar?
Luby Software recebe R$14 milhões de investimento da Multilaser
Plataforma de e-commerce: Magento vs Woocommerce
Estágio de programação: Luby contrata estudantes para desenvolver talentos