11 Criando e estimando tarefas
11.1 Reunião de planejamento da Sprint
O Product Owner, o Scrum Master, todo o Time Scrum, e qualquer interessado e gerente apropriado ou representante do cliente participam da Reunião de Planejamento da Sprint.
Durante a reunião de planejamento da Sprint o product owner descreve as funcionalidades de maior prioridade ao time. O Time faz perguntas suficientes durante esta reunião para que eles possam sair dela e determinar quais tarefas eles irão mover do Backlog do Produto para o Backlog da Sprint.
Coletivamente, o time Scrum e o product owner definirão a meta da sprint, que é uma curta descrição sobre o que a sprint tentará alcançar. O sucesso da Sprint será avaliado durante a Reunião de Revisão da Sprint em comparação à sua meta, e não contra cada item específico selecionado do Backlog do Produto.
Após a reunião de planejamento da Sprint, o Time Scrum se reune separadamente para discutir acerca do que eles ouviram e decidir sobre o quanto eles podem se comprometer durante a próxima Sprint. Em alguns casos, haverá negociação com o product owner, mas estará sempre a cargo do time determinar o quanto eles podem se comprometer para o cumprimento.
A Reunião de Planejamento de Tarefas é normalmente dividida em duas sessões, com um propósito designado e uma vasta agenda para cada.
TPM First Part |
|
|
|
|
|
TPM Second Part |
|
|
|
Figure: Task Planning Meeting, Broad Agenda |
11.2 Cartões de índice
No Scrum, as User Stories são escritas em pequenos cartões de índice. Apenas os detalhes essenciais são documentados nos cartões, que devem ser utilizados pelo Time Scrum a fim de colaboração e discussão. Esses cartões de índice, geralmente descritos como Cartões de Story, aumentam a visibilidade e transparência, além de facilitar a descoberta antecipada de quaisquer problemas que possam surgir.
11.3 Decomposição
A Decomposição é uma ferramenta por meio da qual tarefas de alto nível são quebradas em níveis menores, em tarefas mais detalhadas. Membros do Time Scrum decompõem as User Stories em tarefas. O Backlog do Produto Priorizado das User Stories deve ser suficientemente decomposto num nível que dê ao Time Scrum informações adequeadas para criar entregáveis das tarefas mencionadas na Lista de Tarefas.
11.3 Determinação de Dependências
Uma vez que o Time Scrum tenha selecionado as User Stories para a Sprint dada, eles devem considerar quaisquer dependências, incluindo aquelas relacionadas com a disponibilidade das pessoas assim como quaisquer dependências técnicas. Dependências propriamente documentadas ajudam os Times Scrum a determinar a ordem relativa de quais tarefas devem ser executadas a fim de criar os Entregáveis da Sprint. As dependências destacam também o relacionamento e interação entre o Time Scrum trabalhando numa Sprint dada e outros Times Scrum no projeto.
Existem numerosos tipos de dependências: obrigatórias e discricionárias, internas e externas, ou alguma combinação destas dependências. Por exemplo, uma dependência pode ser conjuntamente obrigatória e externa.
- Dependências Obrigatórias: São aquelas inerentes à natureza do trabalho, como uma limitação física ou por conta de obrigações contratuais ou requisitos legais. Por exemplo, o trabalho no primeiro andar não pode ser iniciado sem que a fundação do prédio esteja completa. Dependências obrigatórias são comumente chamadas “lógica difícil”.
- Dependências Discricionárias: Dependências que são colocadas no processo de trabalho por opção. Tipicamente, o Time Scrum é baseado em experiências ou melhores práticas em um campo particular ou domínio que determine dependências discricionárias. Por exemplo, o time pode decidir completar uma tarefa antes de começar a trabalhar em outra porque é uma prática melhor, mas não requista. Por exemplo: o Time pode escolher construir a porta e a estrutura das janelas antes da estrutura inteira da parede neste local.
- Dependências Externas: São aquelas relacionadas com tarefas, atividades ou produtos que estão fora do escopo de trabalho do Time Scrum, mas são necessárias para completar uma tarefa do projeto ou criar um entregável. Dependências externas estão geralmente fora do controle do Time Scrum. Por exemplo, se o Time Scrum não é responsável pela obtenção dos materiais necessários à construção da parede, então esses materiais e tarefas relacionados a esta obtenção são consideradas dependências externas.
- Dependências Internas: São aquelas entre tarefas, produtos e atividades que estão no controle do Time Scrum. Por exemplo, a instalação da placa de gesso deve ser feita antes que a pintura comece. Este é um exemplo de uma dependência interna porque ambas as tarefas são parte do projeto. Neste caso, ela também é obrigatória, já que é baseada numa limitação física. Não é possível pintar a parede antes dela ter sua placa de gesso instalada.
11.4 Saída da Reunião de planejamento da Sprint
- Lista de tarefas: Esta lista detalhada contém todas as tarefas que o Time Scrum se comprometeu para a Sprint atual. Ela contém descrições sobre cada tarefa, juntamente com estimativas derivadas durante o processo de Criação de Tarefas. A Lista de Tarefas deve incluir quaisquer esforços de testes e integrações para que a Incrementação do Produto seja integrada com sucesso em entregáveis das últimas Sprints.
Mesmo que as tarefas sejam geralmente baseadas em atividades, o Time Scrum divide o nível de granularidade o qual a tarefa é decomposta.
- Atualização das User Stories Aprovadas, Estimadas e Confirmadas: As User Stories são atualizadas durante este processo. As atualizações podem incluir revisões das estimativas originais da User Story baseadas em criação de tarefas e fatores de complexidade discutidos durante a Reunião de Planejamento da Sprint.
- Dependências: As dependências descrevem o relacionamento e interação entre tarefas diferentes em um projeto. Elas podem ser classificadas como obrigatórias e discricionárias; ou internas e externas.
Existem inúmeras formas de identificar, definir e apresentar as tarefas e suas dependências. Dois métodos comuns envolvem o uso de fluxograma de produto e gráficos de Gantt.
11.5 Estimativa de tarefas (parte da reunião de planejamento da Sprint)
A Estimativa de Tarefas permite ao Time Scrum estimar o esforço necessário para completar uma tarefa ou um conjunto delas, além de estimar o esforço de pessoal e outros recursos requeridos para continuar com as tarefas numa Sprint. No Workshop de Estimativa de Tarefas, os membros do Time Scrum usam a Lista de Tarefas para estimar a duração e o esforço para o User Stories ser completo numa Sprint.
Um dos benefícios-chave dessa técnica é que ela permite ao time a obtenção de uma perspectiva compartilhada das User Stories e requisitos para que eles possam estimar de forma segura o esforço requerido. A informação desenvolvida na Estimativa de Tarefas é inclusa na Lista de tarefas estimadas por esforço e é usada para determinar a velocidade para a Sprint.
Neste workshop, o Time Scrum pode utilizar várias técnicas, como decomposição, julgamento especializado, estimativa análoga e estimativa paramétrica. Todas as técnicas expostas no capítulo 9 podem ser utilizadas neste workshop.
11.6 Critérios de Estimativa
O objetivo primário da utilização de Critérios de Estimativa é a manutenção de estimativas relativas de tamanho além da minimização da necessidade de nova estimativa. Os Critérios de Estimativa podem ser expressos em várias maneiras, com dois exemplos comuns sendo pontos de story e tempo ideal. Por exemplo, um tempo ideal normalmente descreve o número de horas que um Time Scrum trabalha exclusivamente no desenvolvimento dos entregáveis do projeto, sem incluir nenhum tempo gasto em outras atividades ou trabalhos que estejam fora do projeto. Os Critérios de Estimativa facilitam para o Time Scrum a estimativa de esforço e os permite avaliar e apontar ineficiências quando necessário.