Estimativa de Projetos de Software com Pontos de Função Intercambio Empresarial FUMSOFT 29/05/12 Belo Horizonte MG Brasil Sejam Todos Bem-Vindos 1
FATTO Consultoria e Sistemas Missão: Ajudar nossos clientes a executar ou contratar melhor seus projetos de software. Foco em Medição, Estimativas e Requisitos de Software: Aplicação da Análise de Pontos de Função Estimativas de projetos de software Engenharia de Requisitos Atuação nacional em cursos in-company e abertos (presenciais e à distância), desde 1998 Serviços de medição e auditoria em medição de software Análises de produtividade em projetos de software O livro mais vendido de APF no país foi escrito por nós Formou ~25% de especialistas certificados em pontos de função (CFPS) do país 2
Agenda Para que estimar? O que é estimativa? O que se precisa para estimar? Processo genérico de estimativas Medida de tamanho do produto O modelo básico de estimativa de esforço com PFs Qual indicador Horas/PF usar APF para microestimativas Evolução de Escopo Fechamento 3
Para quê servem estimativas? Qual o custo do projeto? Qual o prazo para a entrega? É viável ter este projeto pronto ainda este ano? O que é possível entregar ainda este ano? O projeto tem que estar implantado até 20/11, quanto custa? Temos orçamento de um milhão ($), o que dá para ser feito neste orçamento? Em que prazo? Consigo atender este prazo se aumentar a equipe? O objetivo principal de estimar não é adivinhar o resultado final do projeto, mas determinar se os objetivos do projeto são realistas o bastante para permitir que o projeto seja controlado para alcançá-los. 4
O que é Estimativa? Estimativa: cálculo aproximado, avaliação, conjectura Meta: alvo, mira, objetivo, finalidade Compromisso: obrigação, promessa, acordo Compromisso Estimativa Meta No mundo ideal, os compromissos são assumidos visando atingir uma meta que foi estabelecida com base em estimativas. Já no mundo real... Estimativas não precisam ser exatas, mas úteis! 5
6 O que é necessário para estimar? Antes de tudo, saber que produto deve ser entregue
O Processo de Estimativa 7
O quê usar para obter o Tamanho do Produto? Ideal que se use uma medida: baseada nas características do produto, preferencialmente numa perspectiva externa que permita sua aplicação em fases iniciais do projeto que seja consistente O tamanho funcional pode ser estimado antes da especificação de requisitos estar completa Muito útil em tempo de proposta e análise de viabilidade Existem diversos métodos de medição funcional de software O método IFPUG é o mais difundido 8
Por quê pontos de função IFPUG? IFPUG International Function Point Users Group (www.ifpug.org) Método padrão de medição funcional de software padronizado pelo seu Manual de Práticas de Contagem (CPM) Milhares de usuários (pessoas e empresas) do método, padrão de fato Padrão ISO/IEC 20926 Processo de medição simples e consistente Programa de Certificação CFPS (objetivo: uso consistente) Vocabulário independente da tecnologia Perspectiva do negócio Auditável 9
O que é Análise de Pontos de Função Técnica de medição das funções de um software sob o ponto de vista do usuário Ou método de medição de Software que quantifica os Requisitos Funcionais do Usuário Onde Usuário é qualquer pessoa ou coisa que se comunica ou interage com o software a qualquer momento Exemplos: usuário final, ator no caso de uso, outro sistema 10
Requisitos e a ISO/IEC 14.143 11
12 APF para estimar esforço Esforço Tamanho Taxa Entrega H PF H PF Taxa de Entrega Horas ou R$ Pontos de Funçã o Produtividade Pontos de Função Homem / Mês PRODUTIVIDADE - razão de bens ou serviços produzidos por unidades de trabalho e custo
13 Adequação da taxa de entrega Esforço Classificação de projetos por similaridade Tamanho Taxa Entrega H PF H PF 9 H/PF 15 H/PF 8 H/PF 12 H/PF 14 H/PF 5 H/PF 9 H/PF 14 H/PF?? H/PF
14 Requisitos para estimar esforço Esforço Tamanho Taxa Entrega H PF H PF Processo de desenvolvimento estável Classificação de projetos por similaridade Registro confiável de dados de esforço (ou custo) Documentação de requisitos atualizada?? H/PF
15 Critérios de similaridade Esforço utilizado na taxa de entrega compreende as mesmas atividades cujo esforço se deseja estimar? Outras variáveis do projeto em estudo, que também causam impacto no esforço, correspondem aos dados utilizados para calcular a taxa de entrega? Aspectos não funcionais Complexidade lógica do processamento Requisitos de disponibilidade e performance Mix de tecnologias envolvidas Perfil da equipe de desenvolvimento Processo de desenvolvimento utilizado Tamanho - ordem de grandeza - do projeto Artefatos construídos etc.
Equilibrar Riscos Alvo: 50 % 7 demandas subestimadas (64%) 4 demandas super-estimadas (36%) 16
17 Sub e Super-Estimado Anularem-se No total, haver compensação entre o sub e o super-estimado
Minimizar % Erro (R-E)/E Meta: 0% Erro 100% Vendido 400 Estimado Estimado 200 200 Magnitude do Erro Relativo: Erro (Realizado Estimado) em relação à estimativa original (Estimado) 18
Não use PF para micro-estimativas O maior valor das estimativas com PF está em estimativas globais para projetos, não para cada uma de suas atividades de trabalho Para pedaços do projeto ou projetos muito pequenos (< 100 PF), as estimativas obtidas tendem a ser super ou subestimadas Isto porque se usa uma produtividade média como base do modelo Em amostras pequenas, esta média pode não se confirmar Por quê isto ocorre? 19
20 Significado dos indicadores
Porém o tamanho não é estático...
22 Evolução do escopo, contigencie
Fechamento Não confunda estimativa com compromisso Conheça o produto que deve ser entregue antes de estimar Avalie se o seu processo de desenvolvimento é maduro Mantenha dados históricos dos seus projetos Calibre suas estimativas continuamente Como medir ou estimar tamanho? 23
Um pouco mais sobre pontos de função Cursos Análise de Pontos de Função: Fundamentos, Benefícios e Implantação Turma on-line, versão demonstração gratuita Capacitação em APF: Medições e Estimativas de Software Turma on-line, versão demonstração gratuita Turma presencial em BH: 09 a 12 de Julho (noturno) Livro Análise de Pontos de Função: Medição, Estimativas e Gerenciamento de Projetos de Software Perguntas e respostas: http://www.fattocs.com.br/faq.asp 24
Contatos Guilherme Siqueira Simões (31) 4063-8475 / (27) 8111-7505 guilherme.simoes@fattocs.com.br www.linkedin.com/in/guilhermesimoes Curta a FATTO no Facebook: www.facebook.com/fattocs 25