Quando a análise de Pontos de Função se torna um método ágil Carlos Oest carlosoest@petrobras.com.br Time Box: 60 minutos
Backlog da apresentação: Apresentação do assunto 1 SCRUM 2 Estimativa com Pontos de Função 5 Estimativa com Story Points Tudo Junto Perguntas 3 1 1 13 pontos de apresentação em um Time Box de 60 Minutos
SCRUM Conceitos importantes: Time Box; Escopo Variável; Dono do Produto (Product Owner); Conceito de Pronto; Equipe Autogerida (Auto-organizada); Microgerenciamento da execução das tarefas; Entregas constantes integrando valor ao produto.
SCRUM - FrameWork: Product Backlog Planejamento do SPRINT Sprint Backlog 24 Horas 2 a 4 Semanas SPRINT Reunião Diária Reunião de Validação Retrospectiva Produto
Estimativas Quando estimar: 6 Incerteza 5 4 3 2 1 0 4,0 0,25 Concepção Inicial 2,0 0,5 Aprovação da Definição do Produto 1,5 0,67 Requisitos Completos Boas estimativas são obtidas aqui Desenho de interface completo 1,25 1,1 0,8 0,9 Projeto Completo 1 Produto Completo Mas normalmente são conseguidas aqui
Estimativa com Pontos de Função: Prazo Custo Escopo Qualidade
O que é um Function Point? É a medida da funcionalidade disponibilizada pelo sistema, aferida a partir da visão do usuário. Responde perguntas do tipo: - Qual a minha produtividade média? - Qual a minha taxa de entrega média? - Qual a minha densidade de defeito média? - Qual o meu custo unitário médio de desenvolvimento?
O que é um Function Point? É a medida da funcionalidade disponibilizada pelo sistema, aferida a partir da visão do usuário. Não leva em conta: - A complexidade de determinado desenvolvimento (arquitetura, linguagem, infraestrutura,...); - Características particulares do projeto (experiência da equipe, processo utilizado pela empresa,...)
Para mediar contratos de Fábrica usando o paradigma iterativo incremental fazemos contagens no início, no final e durante o Desenvolvimento apenas do redesenvolvimento. Contagem dos Redesenvolvimento Contagem Inicial Aceitação da Iteração Pré-Venda Detalhamento de Requisitos Aceitação dos Requisitos Reunião Inicio de Iteração Iteração Reunião Final de Iteração Validação do Produto Final Repete N vezes Contagem Final
Estimativa com Pontos de Função: Tamanho Funcional Produtividade Complexidade de Desenvolvimento Esforço Estimativa Taxa de Entrega Duração
Estimativa com Pontos de Função: Complexidade de Desenvolvimento Adoção da arquitetura padrão Compatibilidade com mais de um browser Teste com vários perfis de usuário Uso de base integrada ou base na extranet Complexidade do algoritmo Quantidade de CRUDs Natureza do projeto Aplicação multi-idioma
Exemplo de Estimativa Usando Pontos de Função: Taxa de Entrega = Tamanho Funcional do Software (PF) / Tempo Necessário para Execução do Serviço (Dias Úteis) Linguagem de Programação JAVA DotNet Taxa de Entrega 2,5 2,8 Prazo de Entrega = Tamanho Funcional do Software / Taxa de Entrega
Exemplo de Estimativa Usando Pontos de Função: Tamanho funcional: 200 PF Ambiente de desenvolvimento: Java Prazo de Entrega = 200 / 2,5 Prazo de Entrega = 80 dias úteis Aproximadamente 110 dias corridos Quantidade de Iterações = 110/30 4 iterações
Exemplo de Estimativa Usando Pontos de Função: A partir das nove características abaixo os projetos de desenvolvimento são enquadrados em quatro faixas de produtividade. Características do Software Uso da arquitetura padrão Uso de mais de um browser Teste com vários perfis de usuário Uso de Base de dados Integrada da PETROBRAS Complexidade do algoritmo Quantidade de CRUDs Natureza do projeto Aplicação Multi-idioma Faixa de pesos 8 a 10 11 a 14 15 a 19 20 a 27 28 a 35 Produtividade (Horas/PF) 6 7 8 10 12
Exemplo de Estimativa Usando Pontos de Função: Tamanho funcional: 200 PF Ambiente de desenvolvimento: Java Pontuação das Características: 15 Produtividade = 8 homem-hora/pf Esforço = 200 * 8 = 1.600 horas A unidade de pagamento do contrato é homem-hora. Imaginando que um homem-hora corresponda a R$ 100,00, então teremos: Custo da ASP = R$ 160.000,00
Gestão do Processo Usando Pontos de Função: 5 Taxa de Entrega por Tamanho 4,5 4 3,5 Dias Úteis / PF 3 2,5 2 1,5 1 0,5 0 0 100 200 300 400 500 600 700 Tamanho Funcional (PF) Média : 2,04 PF/ DU Desvio Padrão: 0,97 Referencia: 10/2010
Gestão do Processo Usando Pontos de Função: 14 Produtividade 12 Produtividade (HH/PF) 10 8 6 4 2 0 0 100 200 300 400 500 600 700 Tamanho Funcional (PF) Média: 7,99 HH/PF Desvio Padrão: 2,12 Referencia: 10/2010
Gestão do Processo Usando Pontos de Função: 0,08 Densidade de Defeitos 0,07 Quantidade de Defeitos/PF 0,06 0,05 0,04 0,03 0,02 0,01 0 0 100 200 300 400 500 600 700 Tamanho Funcional (PF) Média: 0,04 Defeitos/PF Desvio Padrão: 0,02 Referencia: 10/2010
O que é um Story Point? É a medida da complexidade de desenvolvimento, aferida a partir da visão da equipe. Responde perguntas do tipo: - Qual a quantidade de trabalho necessária para desenvolver uma funcionalidade? - Qual a velocidade de desenvolvimento da equipe? - Que Histórias a equipe conseguirá desenvolver no time box restante?
Estimativa com Story Points: Comprometimento da equipe; É uma medida de esforço compreendida pelo time; Facilita o acompanhamento; Leva em conta a média da experiência do time; Processo simplificado para estimativa, por comparação; Necessita que a equipe já exista; Não permite comparação entre projetos; É dependente da experiência do time Visão do time, é preciso estar no taxi para entender
Estimativa com Story Points: Pontuação do Backlog do Produto Definição do Backlog do Sprint Velocidade da Equipe
Gestão do Projeto Usando Story Points: Burndown Chart Evolução real do trabalho Quantidade de trabalho Dias de trabalho 35 33 29 31 27 25 23 21 19 17 15 13 11 9 7 5 3 1 0 1 2 3 4 5 Evolução ótima 6 7 8 9 1011 Dias 12 1314 15 1617 18 1920 21 22 Identificação de um impedimento que levou a um atraso Dias para execução do serviço SPRINT
Gestão do Projeto Usando Story Points:
Gestão do Projeto Usando Story Points: BURNUP SCAA - BurnUp Ptos produzidos Esforço atual Tendência Pessimista Tendência Realista Tendência Otimista Tendência de Esforço Pontos 300 275 250 225 200 175 150 125 100 75 50 25 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Iterações
Gestão do Projeto Usando Story Points: Gráfico de Pontos por Tipo de História Escopo Inicial Ajuste Defeito Melhoria
Gestão do Projeto Usando Story Points: Velocidade Velocidade Média 25 20 15 Pontos 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Iterações
Gestão do Projeto Usando Story Points: Esforço Esforço Média 430 420 410 400 Horas 390 380 370 360 350 340 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Iterações
Gestão do Projeto Usando Story Points: Burndown Chart - Sprint #7 Estimado Real Pontos 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Dias úteis
Tudo Junto: Pontos de Função nos ajuda a gerir a fila de sistemas aguardando desenvolvimento. Também nos ajuda a melhoraria contínua do processo de desenvolvimento, através de indicadores que permitem a comparação entre os resultados obtidos pelas equipes. Principalmente nos ajuda a realizar estimativas melhores quando se tem pouca informação. Story Points melhorou o controle dos projetos, aproximando a equipe da gestão, se tornando mais comprometida com os resultados. Também tornou mais visual o andamento do projeto o que ajuda a prever desvios e controlar resultados.
Quando a análise de Pontos de Função se torna um método ágil Carlos Oest carlosoest@petrobras.com.br Time Box: 60 minutos