Quando trabalhamos com a gestão ágil dos projetos, um dos pontos de partida é estabelecer a cadência e os principais eventos que envolvem o time do projeto – Planning, Daily, Review, Retro e Demo, além da SoS, PO Sync e System Demo para ágil em larga escala.
Mesmo em times com maturidade alta e papéis bem definidos, uma boa reunião de Sprint Planning exige preparação para que o time consiga avaliar corretamente o Backlog da Sprint e obter sucesso na execução do desenvolvimento. O refinamento do Product Backlog é imprescindível para deixar os itens preparados (ready) para Sprints futuras e melhorar a previsibilidade da entrega daquela iteração.
Entre as principais atividades de refinamento estão:
O refinamento é contínuo e deve ser realizado pelo time do projeto (não somente pelo PO ou time de desenvolvimento), afim de evitar dispersão das informações. O Scrum Guide recomenda dedicar até 10% da capacidade do time em refinamento.
Para times que trabalham com BDD (Behavior-Driven Development), este tempo pode aumentar em virtude do desenvolvimento de testes de aceitação em prol dos testes automatizados funcionais que validarão a sua solução. Em larga escala, os times refinam o backlog e utilizam as reuniões de sincronização do ART (Agile Release Train) para resolver as dependências, problemas e tarefas que podem aparecer.
Alguns problemas comuns que aparecem durante a Sprint Planning quando não fazemos o refinamento:
- Planning longa demais ou rasa – com muitas dúvidas das histórias (ou grandes demais), indefinições, critérios de aceitação não especificados, etc.
- Backlog mal estruturado – como por exemplo a priorização indevida ou histórias no topo sem o detalhe necessário para desenvolvimento.
- Spikes – features ou tarefas que precisam ser debatidas e detalhadas para entrar no Product Backlog.
- Falta de critérios – adote ROI, WSJF (Weighted Shortest Job First) ou qualquer outra matriz de direcionamento entre esforço x valor para o negócio.