Prévia do material em texto
Módulo 7 Professor: Francisco Júnior Abordagens ágeis em gerenciamento de projetos Aula 5 Planejamento ágil Objetivo • Apresentar o modelo de planejamento utilizado no Scrum. • Apresentar a função de cada papel do time no Scrum durante o planejamento. • Apresentar técnicas que permitam elaborar o planejamento de uma Sprint. Visão do produto • Definição do produto. • Criado pelo Product Owner. • Concentra as necessidades dos stakeholders. • Contém objetivos, necessidades e critérios de aceite dos usuários. Planejamento da Sprint • Realizado no início da Sprint. • PO deve apresentar o Backlog priorizado. • Dura 8 horas ou menos. • Todos participam. Planejamento Backlog do produto • A lista geral de funcionalidades é gerada a partir da visão do produto. • Responsabilidade do Product Owner. Backlog do produto • O que pode entrar no Backlog: – Funcionalidades. – Histórias de usuário. – Casos de uso. – Bugs e defeitos. – Desejos do cliente. – Requisitos não funcionais. – Mudanças solicitadas. Priorização • O Product Owner realiza a priorização. • A cada Sprint, os itens mais ao topo são executados pelo time. • O PO pode repriorizar o Backlog. • Gera o roadmap do produto. Priorização • Critérios para priorização – Valor para o cliente. – Custo do atraso. – Retorno de investimento. – GUT (Gravidade, Urgência e Tendência). Objetivo da Sprint • Definido durante a sessão de planejamento. • Deve representar o que será alcançado ao concluirmos as histórias de usuário dessa Sprint. • Deve ser verificado durante a retrospectiva. Refinamento • Trabalho do Product Owner antes da sessão de planejamento. • Revisão geral do Backlog. • Alinhamento com os stakeholders. • Preparação dos itens que serão executados na próxima Sprint. Release • Definição das funcionalidades que serão agrupadas no produto e disponibilizadas para o cliente. Release 1 Tema • Um conjunto de funcionalidades correlacionadas que fazem parte de um produto. • Exemplo: cobrança. Épico • Uma história de usuário tão grande que precisa ser decomposta para ser estimada. • Exemplo: comprar online. Funcionalidade • Um agrupamento de histórias de usuário que são correlacionadas. • Exemplo: comprar com um clique. História de usuário • Uma descrição de funcionalidade descrita na perspectiva do usuário. Tarefa • A decomposição da história de usuário na menor unidade de esforço, geralmente expressa em horas. • Exemplo: testar o código. To Do Doing Done Granularidade de requisitos • Visão. • Tema. • Épico. • Funcionalidade. • História de Usuário. • Tarefa. Planejamento ágil • Sprint atual – História de usuário priorizada. Planejamento ágil • Próxima Sprint – História de usuário. – Refinamento das funcionalidades. Planejamento ágil • Release atual – Funcionalidades. Planejamento ágil • Próxima release – Épicos. Escrevendo histórias • Personagem da história. • Ação desejada. • Motivo. • Critério de aceite. • Valor de negócio. • Estimativa de esforço. • Responsável. Eu como cliente do aplicativo quero pagar minhas compras com cartão de crédito para reduzir o prazo de compensação e entrega. Escrevendo histórias Eu como cliente do aplicativo quero pagar minhas compras com cartão de crédito para reduzir o prazo de compensação e entrega. Critérios de aceite: o app deve aceitar as bandeiras Visa e Master. Valor: 5. Esforço: 13. Responsável: Francisco. Escrevendo histórias Invest • Independente. • Negociável. • Válida. • Estimável. • Pequena (Small). • Testável. Eu como cliente do aplicativo quero pagar minhas compras com cartão de crédito para reduzir o prazo de compensação e entrega. Estimativas • Uma forma de calcular o esforço necessário para realizar as histórias. • Usada durante o planejamento para definir se os itens “cabem” na Sprint. 3 3 8 3 2 1 2 Animais • Uma forma lúdica de estimar as histórias. • Usa o tamanho dos animais para estimar. – Elefante. – Camelo. – Cachorro. – Rato. Tamanhos de camiseta • Ainda uma forma simples de estimar. • Considera os tamanhos de camiseta. – PP (XS). – P (S). – M. – G (L). – GG (XL). G G GG M GG P Sequência de Fibonacci • Uma forma comum é utilizar a sequência de Fibonacci ajustada: 1, 2, 3, 5, 8, 13, 20, 40, 100. • Também usa “?” ou “∞” para representar itens que não são possíveis de se estimar. 3 8 3 22 1 3 Estimativas Como obter estimativas do esforço necessário para realizar uma história? Planning Poker • Promove a discussão sobre o esforço para realizar cada item do Backlog. • Geralmente usa a sequência de Fibonacci. • Avalia uma história de cada vez. 1 2 3 5 8 13 20 20 Planning Poker • Primeiro é preciso definir uma história de referência. • Os valores devem ser baixos ou a história precisa ser quebrada. • Todos os membros do time de desenvolvimento participam. 1 2 3 5 8 13 20 20 Planning Poker • Todos os membros devem possuir cartas com a sequência de Fibonacci. • Cada história é lida e discutida brevemente. • Cada membro escolhe uma carta correspondente ao esforço necessário para realizar a história. 1 2 3 5 8 13 20 20 Planning Poker • Todos apresentam suas cartas ao mesmo tempo. • Aqueles que apresentaram os menores e maiores valores devem se justificar. • Uma nova rodada é realizada para verificar se houve consenso. 1 2 3 5 8 13 20 20 Planning Poker • O resultado será expresso em story points e será atribuído com o esforço para realizar a história. • Pode não ter uma relação direta com as horas gastas para implementar. 1 2 3 5 8 13 20 20 Concluindo histórias Como saber se uma história está concluída? Definição de Pronto • Definição de quando uma história será considerada pronta, concluída. • Fundamental para que as estimativas estejam alinhadas. • Product Owner e time precisam ter a definição bem clara. Eu como cliente do aplicativo quero pagar minhas compras com cartão de crédito para reduzir o prazo de compensação e entrega. Definição de Pronto Exemplo: • O item deve ter passado por testes unitários, testes integrados, homologação e estar disponível em ambiente de produção. Eu como cliente do aplicativo quero pagar minhas compras com cartão de crédito para reduzir o prazo de compensação e entrega. Prevendo prazos Como estimar um prazo de entrega? Velocidade do time • Mede a produtividade do time. • É a quantidade de story points que um time consegue realizar em uma Sprint. • Baseada no empirismo. • Serve para estimar prazos e quantas histórias o time consegue concluir na Sprint. Resultado do planejamento O que obtemos ao final do planejamento? Resultado do planejamento • Meta da Sprint definida. • Relação das histórias que serão executadas na Sprint. • Definição de Pronto das histórias. • Histórias estimadas em story points. Revisão • Apesar de dedicarmos uma sessão para o planejamento da Sprint, o PO trabalha paralelamente ao time para refinar os itens do Backlog. • Os itens são priorizados com base no valor que geram. • Todos os participantes têm voz durante o planejamento. • A velocidade do time define a capacidade de execução.