Story Points: Devo usar pontos de história ao invés de horas?

Os Story Points, são unidades de medida, que permitem que a equipe se concentre na complexidade, risco e esforço de uma demanda. O time compara o novo trabalho, com o trabalho feito anteriormente. Diferentemente das horas, onde colocamos em pauta somente o fator tempo.

Por exemplo, não costumamos contabilizar reuniões, e-mails, revisões de código, entre outros, com valores de tempo. Entretanto, todas essas são práticas necessárias ao longo do nosso dia, mas não contam como trabalho.

Os pontos da história isolam o trabalho de desenvolvimento de software dos itens de trabalho logísticos associados. Portanto, as estimativas com base em pontos devem ser mais consistentes do que a abordagem baseada em horas.

“Estudos foram realizados sobre a precisão da estimativa de esforço entre indivíduo e grupo em um experimento para um projeto de software. 20 profissionais de software da mesma empresa estimaram individualmente o esforço de trabalho necessário para implementar o mesmo projeto de desenvolvimento de software.

Os participantes tinham experiências e funções diferentes e o projeto de software já havia sido implementado. Depois disso, eles formaram cinco grupos. Cada grupo concordou com uma estimativa, discutindo e combinando o conhecimento entre eles. Resultado: as estimativas baseadas em discussões em grupo foram mais precisas do que as estimativas individuais.” – (Jorgensen, M)

Por esses e outros fatores, é recomendável o uso de story points no lugar de horas. Exemplificando, imagine que temos as seguintes demandas divididas em Sprints (Time Box dentro do qual um conjunto de atividades deve ser executado):

  • Referência

Sprint 1

Temos 2 atividades: A e B. Estimamos, com story points, que a primeira é 1 ponto, a segunda são 2 pontos. E, simplificando bastante, imagine que cada ponto signifique uma mudança de parâmetro. Dessa forma, o time estimou o primeiro item como tendo tamanho 1 por ter um parâmetro, o segundo em tamanho dois por ter 2 parâmetros.

Digamos que, nesse momento, o time leva, em média, 8 horas para terminar um ponto. Isso quer dizer que o time possui 3 pontos para trabalhar as 2 atividades ou 24 horas.

O projeto mantém seu andamento, o time passa pelas atividades A e B, e continua trabalhando. Ele começa a ganhar experiência, e com o andar do projeto ele está 50% mais rápido. Isso quer dizer que agora cada ponto leva 4 horas em vez de 8. E assim seguimos para a 2ª sprint.

Sprint 2

Pegamos pela frente as histórias C e D que também possuem mudanças de 1 e 2 parâmetros. Só que diferente das primeiras atividades, estas não vão levar 1 dia, 2 dias pra terminar, mas 4 horas, 8 horas, já que o time está mais rápido.

Isso significa que o tamanho dela em horas também deve ser menor, mas cuidado, não devemos fazer o de/para em pontos; para que a primeira tenha 0,5 pontos e a segunda 1 ponto.

O número de pontos não mede o tempo para uma história ser feita, mas sim, o tamanho relativo (complexidade, risco e esforço). Havíamos dito que, nesse modelo simplificado, uma história seria o dobro da outra se tivesse o dobro de parâmetros, e isso não mudou. A história D, com duas mudanças de parâmetros, ainda é o dobro do tamanho da história A, que tem apenas uma mudança. 

Se estivéssemos utilizando tempo para estimar o backlog (log de acumulação de trabalho), sempre que a eficiência do time mudasse teríamos que rever a estimativa de todo o restante do projeto. E assim teríamos adaptações constantes derivadas da evolução da demanda.

O único motivo para alterar estimativas feitas com pontos é a alteração de escopo ou mudança no entendimento da atividade.

Ex: O time de negócios informa que agora além da alteração do parâmetro, precisamos alterar um campo (mudança de escopo).

O uso dessa forma faz com que tenhamos uma maior precisão com o passar das sprints se comparados ao método waterfall, é possível medir o capacity do time através de um range mais assertivo, tendo como base os pilares já mencionados de risco, complexidade e esforço.

Planning Poker e a utilização de pontos

O Planning Poker (técnica de estimativa) e a utilização de pontos funcionam como uma abordagem produtiva para estimar histórias do usuário.

O jogo estimula a equipe a discutir cada “user story”, gerando maior compreensão das demandas e projetos, sendo não só agradável para os membros do time — já que conseguem chegar a um consenso de maneira mais eficaz — como também fornece uma visão ampla para a implementação de uma atividade. Já que todos os participantes contribuem para o resultado.

Pensando além, e fugindo um pouco da utopia, será que a utilização de Story Points seria o único meio ideal? Vamos para um caso onde temos uma squad (equipe multidisciplinar pequena) com somente 1 ou 2 desenvolvedores (além do Product Owner e Scrum Master), realmente faz sentido atribuir pontos? A discussão técnica será efetiva na atribuição de pontos?

Podemos também ter casos onde os recursos são divididos em mais de uma squad. Ou seja, o mesmo desenvolvedor (a) está atuando em 2 ou até mesmo 3 squads ao mesmo tempo.

A principal dica é testar e ver o que melhor se adapta à sua equipe! Veja o que faz sentido para seu time: Planning Poker, Horas, T-shirt Sizes, Affinity Mapping, entre outros.

Acredito que, o mais importante é você conseguir adotar um método que gere engajamento e contribuição da equipe e, a partir do andamento das sprints, consiga colher insumos e métricas para debates durante as cerimônias de revisão/retrospectiva com os membros da equipe, sobre entregas e produtividade do time.

E você? Que método utiliza para realizar a estimativa da sua squad?

Quer receber mais conteúdos como esse gratuitamente?

Cadastre-se para receber os nossos conteúdos por e-mail.

Email registrado com sucesso
Opa! E-mail inválido, verifique se o e-mail está correto.